2016年3月5日土曜日

Linuxで止めるべきサービスと止めないサービスの一覧

Linuxをインストールして一番最初の作業として、不要なサービスの停止がある。ディストリビューションやバージョンによってサービス名が微妙に異なったりするのだが、今回以下OSを新規インストールする機会があり、サービスの取捨選択を実施する必要があった。

 ・対象OS : Red Hat Enterprise Linux Server release 6.2 (Santiago)
 ・イントール方法 : 基本サーバ

私が設定した内容を以下に記載するが、サービス停止は考え方・ポリシー・好みによって、人によって判断が変わるので注意する。同じような情報はインターネット上に無数に存在するので、そちらも参考にした方がよい。

サービス一覧取捨選択結果

まずは以下コマンドで、起動時に自動で立ち上がるサービスを確認する。

# chkconfig --list | grep 3:on
※GUI環境を使う場合は、grep 5:onなどに変える

上記の出力結果にて、onのままにするもの・offにするものを以下のように選択した。

--------------------------
abrt-ccpp       0:off   1:off   2:off   3:on    4:off   5:on    6:off
abrt-oops       0:off   1:off   2:off   3:on    4:off   5:on    6:off
abrtd           0:off   1:off   2:off   3:on    4:off   5:on    6:off
→OFF:自動バグ報告ツール (ABRT)。まったく不要というわけではないが、使用方法がよくわからない

acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:電源管理デーモン。仮想マシンで常時起動で問題ない

atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
→ON:at実行ツール。使うことがあるかもしれないのでON

auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
→ON:操作ログの収集・監査をするためのデーモン。操作ログが不要な場合はOFFでもよさげ

autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
→ON:ファイルシステムの自動マウント機能。OSの機能として必須

cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
→OFF:CPU電力管理デーモン。仮想マシンでは不要

crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
→ON:定期タスク実行ツール。OSの機能として必須

cups            0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:印刷は特に想定しないのでOFF

haldaemon       0:off   1:off   2:off   3:on    4:on    5:on    6:off
→OFF:ハードウェア情報収集。同等の機能がudev等に引き継がれておりOFFにしてしまって問題なさそう

ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:IPv6用ファイアウォール。IPv6は利用していない

iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:IPv4用ファイアウォール。特にセキュリティ上必要ではないのでOFF
 (本当はきちんと設定して有効にした方がよい)

irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
→ON:割り込み要求(IRQ)を複数CPUで分散するためのデーモン

kdump           0:off   1:off   2:off   3:on    4:on    5:on    6:off
→OFF:カーネルのクラッシュダンプ取得機能。商用で使うサーバーでなければOFF

lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
→ON:LVM利用時の監視用デーモン。通常LVMは使用しているのでON

mdmonitor       0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:ソフトウェアRAIDの監視機能

messagebus      0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:D-Busと呼ばれるアプリケーション間の通信を使う場合はONだが、通常OFFで問題なさそう

netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
→OFF:NFSの自動マウント・アンマウント昨日。NFSサーバー用途として利用しないのでOFF

network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
→ON:ネットワーク接続するために必須

nfslock         0:off   1:off   2:off   3:on    4:on    5:on    6:off
→OFF:NFSサーバー用途として利用しないのでOFF

portreserve     0:off   1:off   2:on    3:on    4:on    5:on    6:off
→ON:TCP/IPのポートを管理するデーモンのようだが、よくわからないのでON

postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:メール送信機能は使わない

qpidd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:Apache Qpidというアプリケーション間の通信規格を使うためのデーモンだが、使うことはなさそう

rhnsd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:Red Hat Network Daemon。定期的にRed Hat Networkに接続して更新確認をする

rhsmcertd       0:off   1:off   2:off   3:on    4:on    5:on    6:off
→OFF:Red Hatサブスクリプションマネージャーデーモン。いったん止めておく

rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off
→OFF:NFSサーバー用途として利用しないのでOFF
→ON:NFSクライアントを使い場合があるのでON (2016/5/8 修正)

rpcgssd         0:off   1:off   2:off   3:on    4:on    5:on    6:off
→OFF:NFSv4にKerberos認証の機能を提供するデーモン。NFSサーバー用途として利用しないのでOFF

rpcidmapd       0:off   1:off   2:off   3:on    4:on    5:on    6:off
→OFF:NFSv4にて利用するらしい。NFSサーバー用途として利用しないのでOFF

rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
→ON:RHEL6.0から導入された新しいsyslog。OSの機能として必須

sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
→ON:SSH接続するために必須

sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
→ON:OSリソース状態確認ツール。役に立つことがありそうなのでON(不要ならOFFでもOK)

udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
→ON:新規ハードウェア等を自動で検知する。NIC追加時などに役立つことがあるのでON
--------------------------

不要サービス停止の設定方法

offにするサービスについて、以下のとおりコマンドを流し込み一気に設定する。

--------------------------
chkconfig abrt-ccpp off
chkconfig abrt-oops off
chkconfig abrtd off
chkconfig acpid off
chkconfig cpuspeed off
chkconfig cups off
chkconfig haldaemon off
chkconfig ip6tables off
chkconfig iptables off
chkconfig kdump off
chkconfig mdmonitor off
chkconfig messagebus off
chkconfig netfs off
chkconfig nfslock off
chkconfig postfix off
chkconfig qpidd off
chkconfig rhnsd off
chkconfig rhsmcertd off
chkconfig rpcbind off
chkconfig rpcgssd off
chkconfig rpcidmapd off
--------------------------

最終的な設定結果は以下のようにシンプルになった。

--------------------------
# chkconfig --list | grep 3:on
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
autofs          0:off   1:off   2:off   3:on    4:on    5:on    6:off
crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
irqbalance      0:off   1:off   2:off   3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
portreserve     0:off   1:off   2:on    3:on    4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
--------------------------

これで一度リブートすれば、必要最低限なサービスで起動したLinuxができあがる。ここから必要に応じてyumやrpmでパッケージをインストールしたりして、必要な機能を足していくのが良い。