X Windowsに関するセキュリティについて下記資料を参照してまとめました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
X Windowsを実行するとセキュリティ上のリスクが増大するため、OS起動時に自動起動させないようにする、完全に削除する、使用する場合はセキュリティを考慮して設定する、などの対応が必要です。
※目次をクリックすると目次の下部にコンテンツが表示されます。
OS起動時にX Windowsを無効にする
専用サーバー用途で使用する場合は、何か特別な理由がなければGUIでのログインは必要ないのでOS起動時にXが自動で起動しないようにします。
多くの場合は、SSH経由でのログインやテキストコンソールで事足ります。
●OS起動時にX Windowsを無効にするには?
/etc/inittabで下記のようにランレベルを5から3に変更します。
id:5:initdefault:
↓
id:3:initdefault:
多くの場合は、SSH経由でのログインやテキストコンソールで事足ります。
●OS起動時にX Windowsを無効にするには?
/etc/inittabで下記のようにランレベルを5から3に変更します。
id:5:initdefault:
↓
id:3:initdefault:
必要なければX Windowsを削除する
X Windowsがインストールされていると上記方法で起動時に無効にしていたとしてもシェルで”startx”と入力するとX Windowsを起動できてしまいます。
X Windowsは多くの依存するパッケージが存在します。
削除する際は、yumコマンドでパッケージグループ毎削除する事が出来ます。
# yum groupremove “X Window System”
X Windowsは多くの依存するパッケージが存在します。
削除する際は、yumコマンドでパッケージグループ毎削除する事が出来ます。
# yum groupremove “X Window System”
X Windowsのstartxに関する設定をセキュアにする
X Windowsを自動起動しない場合でもstartxで起動する事が出来るので、startxに関わる設定もセキュアにする必要があります。
参考資料にある推奨方法をまとめました。参考資料はRedhat ES5に関するものでCentOS6の場合には当てはまらないかもしれませんが、細かい設定は異なっても仕組みは同様かと思います。
●Xフォントサービスを無効にする
X11のシステムはXフォントサービス(xfs)を使用します。
このxfsサービスは”startx”が実行されると自動で起動されるので、xfsサービスをOS起動時に自動起動させる必要はありません。
下記コマンドで自動起動を無効にします。
# chkconfig xfs off
●X Windowsのリモートからのリッスンを無効にする
X Windowsの機能の一つにリモートからのGUI表示があります。
セキュリティ上のリスクがあるため、この機能は必要なければ無効にします。
・ランレベル5でシステム起動時にX Windowsが起動されるときは、GDMディスプレイマネージャがリモートからのリッスンを無効にして安全に起動してくれます。
しかし、コマンドラインからstartxで起動させる場合は、Xのデフォルトポートである6000番のポートでリッスンするように状態で起動されてしまいます。
これを回避するために”/etc/X11/xinit/xserverrc”ファイルを作成し、下記記述を追加します。
exec X :0 -nolisten tcp $@
参考資料にある推奨方法をまとめました。参考資料はRedhat ES5に関するものでCentOS6の場合には当てはまらないかもしれませんが、細かい設定は異なっても仕組みは同様かと思います。
●Xフォントサービスを無効にする
X11のシステムはXフォントサービス(xfs)を使用します。
このxfsサービスは”startx”が実行されると自動で起動されるので、xfsサービスをOS起動時に自動起動させる必要はありません。
下記コマンドで自動起動を無効にします。
# chkconfig xfs off
●X Windowsのリモートからのリッスンを無効にする
X Windowsの機能の一つにリモートからのGUI表示があります。
セキュリティ上のリスクがあるため、この機能は必要なければ無効にします。
・ランレベル5でシステム起動時にX Windowsが起動されるときは、GDMディスプレイマネージャがリモートからのリッスンを無効にして安全に起動してくれます。
しかし、コマンドラインからstartxで起動させる場合は、Xのデフォルトポートである6000番のポートでリッスンするように状態で起動されてしまいます。
これを回避するために”/etc/X11/xinit/xserverrc”ファイルを作成し、下記記述を追加します。
exec X :0 -nolisten tcp $@
-
OpenSSH
- レンタルサーバー(VPS)にSSHでログイン
- VPS(レンタル)サーバー上のssh初期設定確認
- SSH接続の仕組み
- OpenSSHの設定ファイル
- OpenSSHの設定をよりセキュアに
- CentOS Stream9のSSH設定(OpenSSH)
- WinSCPを使ってファイル転送
ネットワーク、ポート番号
rpmパッケージ、サービス
パーミッション
ログイン、認証、パスワード、アカウント制御
auditdでシステム監査
ツール
トラブルシューティング
-
ネットワーク、ポート番号
- iptablesを使ってCentOSのファイアウォール設定
- CentOS6のTCPラッパーの概要と設定方法
- nmapでオープンしているポート番号とバージョンを確認
- yumコマンドで最新のパッケージにアップデート
- 更新可能なRPMパッケージのリストをメールで送信する
- CentOSで不要なサービスは起動しないようにする
- RPMパッケージのインテグリティチェック
- cronで使用するファイルのパーミッション設定
- CentOSのumaskの設定
- ユーザーホームディレクトリ内の権限設定をセキュアにする
- CentOSのパスワードファイルのパーミッション設定
- findコマンドでファイル書込権限をいっせいにチェック
- findコマンドでセットユーザ(グループ)IDが不要にセットされていないかチェック
- findコマンドで所有者、グループが存在しないファイルを抽出
- ログイン時などに表示されるシステムバナーを変更するには?
- CentOSのユーザーアカウントのパスワードポリシーを設定
- pam_cracklibモジュールでパスワードポリシーを設定
- pam_unix.soモジュールを使って過去のパスワード再使用を制限する
- システムコンソールでのrootログインを制限する方法
- suコマンドによるrootへのスイッチを制限する
- root権限でのコマンド実行、sudoだと監査ログが取得できる
- デーモン用アカウントなどに対しシェルを使用を無効にする
- パスワード認証を失敗時にアカウントをロックアウトする設定
- rootアカウントのPATH環境変数のセキュリティについて
- NTPのセキュリティを考慮した設定
- セキュリティを考慮してX Windowsを設定または削除する方法
- ファイルの改ざん対策用にTripwireを導入
- CentOSにホスト型侵入検知ソフトAIDE(Advanced Intrusion Detection Environment)を導入
- アイドルのシェルを自動で強制終了させるには?
- CentOSでコアダンプを無効にする方法
- Linuxのbash脆弱性CVE-2014-6271、Shellshockを修整
- CentOSでバッファーオーバーフロー脆弱性に対する防御機能が有効になっているか確認する
yum、rpmパッケージ、サービス
パーミッション
ログイン、認証、パスワード、アカウント制御
ツール
トラブルシューティング