きまった手順はいつも役に立ちます。なぜならそれはシステム強化過程全体を わかるようにするとともにあなたが判断できるようにするからです。 Debian 2.2 GNU/Linux でのこのような手順として可能なもののひとつが 以下に示されています。これはインストール後の手順です。設定中に取るべき 手段についての段階ごとのチュックリストは設定チェックリスト, 補遺 B をごらんください。 さらに、この手順は (現時点では) ネットワークサービスの強化により向いている ものです。
dselect
を行い、[I]nstall の前に不要だが選択されている
パッケージを削除しましょう。本当に最小限のソフトウェアだけをサーバに
残しましょう。
$ ps -aux $ netstat -pn -l -A inet $ /usr/sbin/lsof -i | grep LISTEN
3 番目のコマンドがうまくいくためには lsof-2.2
をインストール
する必要があるでしょう (root として実行してください)。lsof は LISTEN という
単語をあなたのロケールの設定にあわせて翻訳するかもしれないことに注意する
べきです。
dpkg
を使って調べます
#!/bin/sh # FIXME: this is quick and dirty; replace with a more robust script snippet for i in `sudo lsof -i | grep LISTEN | cut -d " " -f 1 |sort -u` ; do pack=`dpkg -S $i |grep bin |cut -f 1 -d : | uniq` echo "Service $i is installed by $pack"; init=`dpkg -L $pack |grep init.d/ ` if [ ! -z "$init" ]; then echo "and is run by $init" fi done
dpkg --purge
で)
削除するか、役には立つが起動時には有効に
なるべきではないならば、それをシステムの起動から取りのぞくのに
update-rc.d
を使いましょう (デーモンサービスを停止する, 第 3.6.1 節 を
ごらんください)。
$ grep -v "^#" /etc/inetd.conf | sort -u
そして不要なものをその行をコメントアウトするなりパッケージを削除するなり
update-inetd
を使うなりして停止しましょう。
/usr/sbin/tcpd
を使うもの) が
あれば、/etc/hosts.allow
と /etc/hosts.deny
が
あなたのサービスポリシーにしたがって設定されていることを確かめましょう。
$ init 1 (....) $ init 2
$ for i in `/usr/sbin/lsof -i |grep LISTEN |cut -d " " -f 1 |sort -u`; do user=`ps -ef |grep $i |grep -v grep |cut -f 1 -d " "` ; echo "Service $i is running as user $user"; done
そしてセキュリティを向上させるためにこれらのサービスを与えられたユーザや
グループに変更したりそしてひょっとしたら chroot することも検討しましょう。
これは /etc/init.d
スクリプトを変更することによって可能です。
ここでサービスが起動します。Debian のサービスのほとんどは
start-stop-daemon
を使うのでこれらのサービスを設定するのに
--change-uid オプションや --chroot オプションが使えます。サービスを chroot
するのはこの文書の範囲をこえていますが、警告が一言必要です: dpkg -L
を使ってそのサービスのパッケージによってインストールされたファイル
全部と、それが依存するパッケージを chroot された環境に入れる必要が
あるかもしれません。
nessus
のような) 脆弱性評価スキャナを使って
システムを調べましょう。
snort
や logsentry
のような)
ネットワーク侵入対策やホスト侵入対策をインストールしましょう。
本物のパラノイアのためには、以下も考慮しましょう:
FIXME: この手順はサービスの強化は考慮しているがユーザレベルでの システム強化を考慮していない。ユーザのパーミッションや setuid された ファイルの確認、それに ext2 ファイルシステムを使ってシステムの変更を凍結する ことについての情報を含める。
Debian セキュリティマニュアル
v2.4 Tue, 30 Apr 2002 15:41:13 +0200 (翻訳: Thu, 6 Jun 2002)jfs@computer.org
oohara@libra.interq.or.jp