CentOSで不要なサービスは起動しないようにする

脆弱性のあるサービスが有効になっていると外部からの攻撃によってシステムに危害が及ぶリスクがあります。使用していないサービスはOS起動時に自動起動しないように設定します。

下記資料を参考にしました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
 
※目次をクリックすると目次の下部にコンテンツが表示されます。

起動時に自動起動されるサービスを確認
下記コマンドで各サービスが自動起動となっているか確認出来ます。
各ランラベル毎に自動起動のON/OFFが表示されます。
 

$ chkconfig --list | grep :on
    :
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    :

※ランレベルの確認
OS起動時のランレベルは、/etc/inittabに設定されています。
id:3:initdefault:

自動起動をOFFに設定するには?
下記コマンドで自動起動をOFFに出来ます。
 
# chkconfig サービス名 off

必要なサービスかチェックする
上記参考サイトで気になったサービスをリストアップします。
 
①firstboot
 
インストール後に一度設定すればよいので有効にする必要はないようです。
 
※firstbootとは?
 
・RedHatエンタープライズ6についての資料は下記にありました。
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ch-firstboot.html
 
・OSインストール後に各種設定をステップ毎にまとめて実施できるようにしたツール。
・GUIのツールなのでデスクトップとX Window Systemを含まないテキストモードでの環境では表示できないようです。
・主に下記についての設定を順に行っていくようです。
 
ライセンスの情報
ソフトウェア更新の設定
ユーザーの作成
認証の設定
日付と時刻の設定
Kdumpの設定
 
②mdmonitor
 
mdmonitorは、ソフトウェアRAIDをモニターするサービスなのでソフトウェアRAIDを使用していない場合は無効にします。
 
●mdmonitorとは?
 
・mdadmというRPMパッケージで提供されるツール。
・起動スクリプトは、”/etc/rc.d/init.d/mdmonitor”で、mdadmベースのソフトウェアRAIDをモニター、管理するサービスの開始、停止、再起動などを行う。
・mdadmコマンドでソフトウェアRAIDを構築できるようです。
 
下記サイトに詳しく記載されていました。
http://www.maruko2.com/mw/CentOS%E3%81%A7%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2RAID%E3%81%AE%E6%A7%8B%E7%AF%89
・設定ファイルは、/etc/mdadm.conf
・mdadmパッケージには、”raid-check”というツールもあってデフォルトでcronに登録されていました。(設定ファイル:/etc/cron.d/raid-check)
・cron設定
# more /etc/cron.d/raid-check
# Run system wide raid-check once a week on Sunday at 1am by default
0 1 * * Sun root /usr/sbin/raid-check
 
③messagebus(D-Bus)
 
上記参考サイトでは、特別に必要とする場合以外は、D-Busとそれに依存するすべてのサービスを無効にする事を推奨しています。
 
●D-Bus (Desktop Bus)とは?
 
・メッセージバスと呼ばれる、アプリケーション間でやりとりを行うための、プロセス間通信(IPC)実装のひとつ。
・X Window、Bluetooth、Avahiなど多くのサービスがD-Busを使用している。
・D-BusのRPMパッケージ名:dbus
 
※dbusについては以下の記事を参照。
Linuxのdbus-daemonプロセスの概要
 
④haldaemon(HALデーモン)
 
HALは攻撃者にとって、権限のある操作を中継するかっこうの起点となりうるので必要がなければ無効にします。
 
●HALデーモンとは?
 
・HAL(Hardware Abstraction Layer) とは、アプリケーションソフトとハードウェアの間に入り、ハードウェアごとの振る舞いの違いを吸収するソフトウェアのこと。
・HALデーモンは、システム上のハードウェアに関していくつかのソースから情報を集めたり管理したりするデーモン
・HALデーモンのRPMパッケージ名:hal
 
※halについては以下の記事を参照。
Linuxのhaldプロセスの概要

関連記事の目次
 
ネットワーク、ポート番号
  • iptablesを使ってCentOSのファイアウォール設定
  • nmapでオープンしているポート番号とバージョンを確認
  •  
    rpmパッケージ、サービス
  • CentOSで不要なサービスは起動しないようにする
  • RPMパッケージのインテグリティチェック
  •  
    パーミッション
  • CentOSのumaskの設定
  • cronで使用するファイルのパーミッション設定
  • ユーザーホームディレクトリ内の権限設定をセキュアにする
  • CentOSのパスワードファイルのパーミッション設定
  • findコマンドでファイル書込権限をいっせいにチェック
  • findコマンドでセットユーザ(グループ)IDが不要にセットされていないかチェック
  • findコマンドで所有者、グループが存在しないファイルを抽出
  •  
    ログイン、認証、パスワード、アカウント制御
  • ログイン時などに表示されるシステムバナーを変更するには?
  • CentOSのユーザーアカウントのパスワードポリシーを設定
  • pam_cracklibモジュールでパスワードポリシーを設定
  • pam_unix.soモジュールを使って過去のパスワード再使用を制限する
  • システムコンソールでのrootログインを制限する方法
  • suコマンドによるrootへのスイッチを制限する
  • root権限でのコマンド実行、sudoだと監査ログが取得できる
  • デーモン用アカウントなどに対しシェルを使用を無効にする
  • パスワード認証を失敗時にアカウントをロックアウトする設定
  • rootアカウントのPATH環境変数のセキュリティについて
  •  
    auditdでシステム監査
  • auditdを使ってシステム監査
  • auditdのログ容量の設定
  • auditd監査ルールの設定方法
  • auditdで時間設定変更操作を監査する
  • auditdでユーザー・グループ設定ファイル変更操作を監査する
  • auditdでネットワーク関連の設定変更を監査する
  • auditdでログイン記録のログファイルの変更を監査する
  • auditdでファイル所有者や権限の変更に関するイベントを監査する
  • auditdでsetuid、setgidプログラムの実行を監査する
  • auditdでマウント操作を監査する
  • auditdでファイル削除操作を監査する
  • auditdでsudo設定ファイルに対する操作を監査する
  • auditdでカーネルモジュールのロード、アンロードを監査する
  • マシン再起動後にauditdの設定変更を有効にする設定
  • ausearch、aureportで監査ログのサマリレポートを作成
  •  
    ツール
  • NTPのセキュリティを考慮した設定
  • セキュリティを考慮してX Windowsを設定または削除する方法
  • ファイルの改ざん対策用にTripwireを導入
  • CentOSにホスト型侵入検知ソフトAIDE(Advanced Intrusion Detection Environment)を導入
  •  
    トラブルシューティング
  • アイドルのシェルを自動で強制終了させるには?
  • CentOSでコアダンプを無効にする方法
  • Linuxのbash脆弱性CVE-2014-6271、Shellshockを修整
  • CentOSでバッファーオーバーフロー脆弱性に対する防御機能が有効になっているか確認する

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください