2008年9月14日日曜日

第20回 Linuxのセキュリティー対策《その2》

=================================
 Linuxのセキュリティー対策《その2》
=================================

早いもので,今年もあと1ヶ月半となってしまいました。
独学Linuxは一体いつまで続くのでしょうか…。

先日はアクセスが過去最高を記録して,ついに1日のユニーク
ユーザ数がなんと1500名を突破しました(1600に近い数字)。

Fedora8の公開が大きく影響していると思われます。
いつも訪問してくださる方々に,この場をお借りして感謝致します。


今回は、セキュリティーの第2弾として,不要なサービスを止める
方法をまとめてみたいと思います。

稼働しているサービスの中には,停止すると起動不能に陥るものも
ありますので,充分に注意が必要です。慎重にやらないと,最悪
再インストールするはめになります。

実際にどれが不要なのかについては,Fedora8についての詳細な
解説記事(英語です)を発見しましたので,次回に要点をまとめたい
と思います。

新たに調べて知ったことも書いていますので,間違いがありましたら
ご指摘下さい。


=================================
 不要なサービスを止める方法 ー Part1 ー
=================================
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
■ ランレベル
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Linuxでは、通常のグラフィカルログイン以外でもテキストモードや
シングルユーザモードなどでログインすることができます。このような
それぞれのログイン状態を0〜6の数値で区別したものを「ランレベル」
と呼んでいます。
それぞれのサービスはランレベルごとにON・OFFの設定ができます。

■ 現在のランレベルの確認
$ runlevel または $ who -r
というコマンドで確認できます。

通常のグラフィカルログイン時のランレベルは
 Fedoraの場合:ランレベル5
 Ubuntuの場合:ランレベル2
です。ディストリによって異なりますが、RedHat系は5、Debian系は2
というのが標準らしいです。

ちなみに,ランレベルは
# /sbin/init 3 または # /sbin/telinit 3
というコマンドを使って変更できます。

RedHat系(Fedora,Vineなど)
ランレベル   意味
 0     システム停止処理中
 1     シングルユーザーモード
 2     NFSを使わないマルチユーザーモード(テキストログイン)
 3     フルマルチユーザーモード(テキストログイン)
 4     未使用
 5     グラフィカルログイン
 6     再起動中

Debian系(Debian,Ubuntuなど)
ランレベル   意味
 0     システム停止処理中
 1     シングルユーザーモード
 2     グラフィカルログイン
 3     2と同じ
 4     2と同じ
 5     2と同じ
 6     再起動中

したがって、テキストモードなど他のランレベルでログインしない限り、
Fedoraではランレベル5と6、Ubuntuではランレベル2と6で、その
サービスを止めておけば充分です。

Debian系では,GUIログインとテキストログインの区別がありません。
これは,インストールされている物は使うもの(起動するもの)という
Debianのポリシーにしたがっているようです。

他のディストリにも言えることだと思いますが,特にUbuntuでは,
サービスを止めるというより不要なサーバプログラムははじめから
インストールしない方が懸命です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
■ サービスの停止方法 --Fedora編
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Fedoraでは、chkconfigというコマンドでサービスの設定を確認すること
が出来ます。使い方は下記を参照して下さい。サービス名とランレベルを
指定して「off」にセットすれば、次回の起動時にそのサービスを停止します。

<起動しているサービスの確認>
# /sbin/chkconfig --list
acpi-support 1:off  2:on  3:on  4:on  5:on
acpid    1:off  2:on  3:on  4:on  5:on
alsa-utils  0:off  6:off
anacron   1:off  2:on  3:on  4:on  5:on
…以下省略

一番左がサービス名、数字とon・offがそのランレベルでの状態を
表しています。

<使用例> rootで実行します。
# /sbin/chkconfig --level 56 httpd off

これはランレベル5・6でhttpd(WEBサーバ)を停止する設定です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
■ サービスの停止方法 --Ubuntu編
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Ubuntuでは、chkconfigは使えませんが,sysv-rc-confというコマンド
でサービスの設定を確認することができます。
ただし、このコマンドはsysv-rc-confをインストールしないと使えません。
インストール方法と使い方は下記を参照して下さい。

Fedoraのchkconfigと同様、サービスを停止するには、サービス名とラン
レベルを指定して「off」にセットします。


$ sudo apt-get install sysv-rc-conf

<起動しているサービスの確認>
$ sudo sysv-rc-conf --list
acpi-support 1:off  2:on  3:on  4:on  5:on
acpid    1:off  2:on  3:on  4:on  5:on
alsa-utils  0:off  6:off
anacron   1:off  2:on  3:on  4:on  5:on
…以下省略

一番左がサービス名、数字とon・offがそのランレベルでの状態を
表しています。

<使用例> 管理者権限が必要なので,sudoを使います。
$ sudo sysv-rc-conf --level 26 httpd off

これはランレベル2・6でhttpd(WEBサーバ)を停止する設定です。


起動しているサービスはディストリによっても違うし,何をインス
トールしたかによっても異なります。停止してもいいサービスに
ついては次回にまとめますので,今回は確認程度に留めておいた方が
無難かも知れません。


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 編集後記
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Ubuntu7.10もFedora8も…いいですね。甲乙付けがたいです。

まだTV視聴だけは試していませんが,いづれもDVDの視聴やCompizFusion
などなど今までやってきたことは,ほぼ問題なく出来ています。

HPのハイスペックノートPCもFdora8にアップグレードしました。
kagesenshiさんのCompizFusionを使っていた方は,削除しないと
アップグレードがうまくいかないようですね。

次回の配信は,11月22日の予定です。お楽しみに!