[Linux]Oracle Linux Cockpitインストール


タスクリスト

  1. cockpitのポートを閉じる
  2. cockpitをインストールする
  3. rootユーザーのログインを禁止する

タスク

cockpitのポートを閉じる

firewall-cmd --permanent --zone=public --remove-service=cockpit
firewall-cmd --reload

インストール直後はcockpitのポートがオープンになっているので、セキュリティの観点から閉じておく。

cockpitをインストールする

dnf install cockpit cockpit
dnf install cockpit cockpit-pcp
dnf install cockpit-packagekit
systemctl enable cockpit.socket
systemctl start cockpit.socket

rootユーザーのログインを禁止する

第2章 ネットワークのセキュリティー保護
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/security_guide/chap-security_guide-securing_your_network
「2.1.6. アクセス制御のカスタマイズ」参照。

デフォルトではrootもログイン可能。
SSHやsudoなど…すべてを否定する間抜けな設計思想なので、rootを弾くようにする。

/etc/security下に設定ファイルを作成する
#
# Comment line must start with "#", no space at front.
# Order of lines is important.
#
+ : users : ALL
- : ALL : ALL

上記はusersグループのみを許可した場合。
考え方は.htaccess(Apache)やiptableなどと同じ。
一番最後の行に既定の設定を書き、前の行にユーザーやグループ別の処理を書く。
ドキュメントにもある通り、ユーザーとグループは区別がない模様。
同じディレクトリ内にあるaccess.confを参考にするとよい。

/etc/pam.d/cockpitを編集する
account    required     pam_nologin.so
account    required     pam_access.so accessfile=/etc/security/(作成した設定ファイル)
account    include      password-auth

Cockpitのパスワード認証に関する設定が記述されているファイル。準備した設定ファイルを使用し、パスワード認証するように変更する。

後はファイアウォールでオープンにしてもいいし、SSH接続で9090にポートフォワードしてもよい。
いい加減、パスワード認証は止めて欲しい…。