VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

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プロセスの概要
モバイルバージョンを終了