Linux のセキュリティ

カーネル

Linux は海外でクラッカーに非常に人気のある OS です。 したがって,Linux の弱点はクラッカーに知り尽くされています。 しかし,カーネルにセキュリティ関連のバグが見つかれば, あっという間に修正されます。 最近は特に深刻なバグはないと思いますが, 念のため,できるだけ新しいカーネルを使いましょう。

パスワード

インストールしたばかりの状態では,root のパスワードも設定されていませんので,インターネットに接続するのは無謀です。 まず root のパスワードを設定しましょう。

Slackware では最初からシャドウパスワードになっていますが, そうでないディストリビューションは要注意です (特に不特定多数のユーザがいる場合)。

pwckgrpck コマンドでパスワードファイル,グループファイルの整合性をチェックしましょう。

/etc/securetty

ネットワーク経由で root でログインされるのを禁止するために, /etc/securettyttyp で始まる項目(ttyp0 など)がある場合は,すべて消しておきます。 ネットワーク経由で保守する場合も, 自分のアカウントでログインして, 必要な時だけ root になる方が安全です。

/etc/login.defs/etc/suauth

/etc/suauthサンプル のように

root:ALL EXCEPT GROUP wheel:DENY
と書いておき,さらに /etc/group ファイルの wheel の項に
wheel::10:root,okumura,okada
と書いておくと,okumuraokada しかスーパーユーザになれません。さらに,
root:okumura,okada:OWNPASS
と書いておくと,okumuraokada だけは自分のパスワードでスーパーユーザになれます。

なお,/etc/login.defsSU_WHEEL_ONLY no となっているところを yes に直すだけでも同じことができるようです。

/etc/inetd.conf

このファイルを編集したら, /usr/sbin/inetdkill -HUP するのを忘れないようにしましょう。

不要なサービスは # でコメントアウトします。 具体的には fingersystatnetstat は不要でしょう。

リモートホストの root にリモートシェル機能を使わせるのは危険なので, 標準ではこの機能を殺してあります。 もしどうしても使いたいなら, /etc/inetd.conf

shell   stream  tcp     nowait  root    /usr/sbin/tcpd  in.rshd -L
という行の最後に -h というオプションを付けます。 もちろん root のホームディレクトリの .rhosts に rsh を許すホスト名を書いておく必要があります。

sendmail

古いバージョンを使っていると問題があります。 こちらをご覧下さい。

NFS

古い NFS にセキュリティホールがあるという CERT の勧告がありました。 ここ から最新のものが得られます。これを書いている時点では nfs-server-2.2beta37.tar.gz が最新のようです。

SSH

rsh,rlogin を置き換えるものです。 パスワードを snoop する人がいる環境では必須。 詳しくは別ページをご覧下さい。


リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp

Copyright (c) 1998 Haruhiko Okumura. Last modified: Wed Mar 10 11:40:26 1999