物理マシンや仮想マシンなどに、OSをインストールした後の初期設定について書いていきます。
確認する項目は下記の通りになります
■SELinuxの設定
■ネットワークの設定
■SSHの設定
■不要なサービスの停止
環境
OS:AlmaLinux9.3
仮想環境:VirtualBox
■SELinuxの設定
SELinuxはLinuxカーネルに強制アクセス制御機能を追加するカーネルモジュールの名称です。
SELinuxが有効になっていると、OSやアプリで許可されている操作であってもSELinuxで許可されていなければ操作を実行することができません。
そのためOSやアプリの脆弱性を攻撃されても、SELinuxによって攻撃を防げることがある。Almalinuxはデフォルトで有効になってる。
SELinuxの状態確認と設定
SELinuxの状態確認
#getenforce
#sestatus (Current modeの行)
表示される文字の意味
enforcing:有効な状態
permissive:有効ではあるが、強制アクセス制御機能は無効
disabled:無効な状態
設定の変更
- 一時的な変更(システムの再起動まで)
# setenforce 0|1
0:無効
1:有効
- 永続的な変更
/etc/selinux/configのSELINUXの行を変える
設定ファイルを変更後に再起動すると反映される
■ネットワークの設定
ネットワークインターフェースの確認
# ip a
IPアドレスがあればOK
IPアドレスがなければnmcliコマンドでネットワークインターフェースの設定を確認する
# nmcli connection show enp0s3
︙(省略)
connection.autoconnect: いいえ
︙(省略)
画像は「はい」となっているが、「いいえ(no)」となっている場合はシステム起動時にネットワーク機能が有効にならない設定になっている。
ネットワークの自動接続設定を有効にする
# nmcli connection modify enp0s3 connection.autoconnect “yes” 自動接続の有効化
# nmcli connection up enp0s3 設定を有効化
ファイアウォールの確認
AlmaLinuxではデフォルトでfirewallによるパケットフィルタリングが有効になっている。
パケットフィルタリング機能とは、ネットワーク通信が行われる場合に、設定したルールに従って通信パケットの送受信を許可/廃棄する仕組み。
firewalldの設定の確認
# firewall-cmd --list-all
interfaces:ゾーンに割り当てられているネットワークインターフェース
services:接続を許可するサービス
テストでWebサーバーを起動してアクセスしてみてもWebページは表示されない
これはWebサーバを許可していないためページが表示されなくなっているから
firewalldの停止
# systemctl stop firewalld
firewalldの自動起動の無効化
# systemctl disable firewalld
ファイアウォールを停止させた後に先ほどのWebサーバにアクセスしてみるとページが表示されました
■SSHの設定
SSHとは暗号化された通信下でリモート接続する仕組み。
rootでログインできないように設定する。念のためバックアップを取っておく。
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.back
# vi /etc/ssh/sshd_config
PermitRootLogin no 先頭の#を消して「yes」から「no」に変更する
# systemctl restart sshd 再起動で反映される
Permission dneiedとなり、ルートでログインできない出来ないことを確認した。
■不要なサービスの停止
不要なサービスはメモリ負荷やセキュリティ面の観点から停止した方がいい。
# ps -e 起動中のすべてのプロセス情報を表示
# systemctl –type=service 管理対象となっているサービス一覧を表示。
# systemctl status 〇〇 〇〇の状態を表示
サービスの停止
# systemctl stop 〇〇
サービスの無効化
# systemctl disable 〇〇
〇〇=httpdなど
「.service」は省略できる
感想
参考書で学習したことを記録に残すために記事を書きました。
備忘録的な側面もあります。
正直な所、これがベストな初期設定かと問われれば否定せざるを得ません。
「なぜその設定にしたのか」を説明できないためです。
またそもそも、SELinuxをはじめ、私がセキュリティに関する知識が乏しいことも理由にあげられます。
しかし「とりあえずこれをやればいいんだな」という型は作れたので、ここから学習を重ねてバージョンアップさせていこうと思います。


















