Linux / セキュリティ はじめの一歩



セキュリティ はじめの一歩

 以下は, ネットワークに接続されている全てのホストに対して, 最低限必要だと思われるセキュリティ対策です. 「自分は電話で時々接続するだけだし, 珍しいものがコンピュータに入っているわけでも無いから, 大丈夫じゃない?」 という期待には, 何の根拠もありません. セキュリティでは常に相手(侵入者)の立場から考える事が必要です. したがって, 以下の対策をインストール直後, ネットワークに接続する前に 行うことをお勧めします. また, ここに掲載する対策は最低限必要なものです. これらの対策をとったから安全だ, とは言い切れません. しかし, 大抵のトラブルはドアに鍵をかけることで防げるのもまた事実です.

 ここに紹介したほとんどの対策は, 実行に root 権限が必要です. ですから, 操作を間違えたらシステムに大きなダメージを与える可能性があります. ミスに備えて, 操作するファイルのバックアップなどが必要な場合も ありますが, そこまでの説明は書いてありません. ファイルの変更を伴うような操作では, 後戻りできるように考えながら 行いましょう.

目次

インストール後, アカウントをチェックする

 インストールが終了し, 起動した時点でパスワードが設定されていないアカウントが存在する ディストリビューションがあります. 次の, パスワードに関する項目?を参考に, ネットワークなどに接続するまえに全てのアカウントをチェックし, 必要に応じてパスワードを設定して下さい. パスワードを設定されていないユーザを検索するコマンドとして, たとえば次のようなものを実行すれば良いでしょう.

gawk -F: '{if ($2 !~ /./) print $1}' < /etc/passwd

 shadow password を使っているシステムでは, 同様のコマンドを /etc/shadow でも実行してください. 上のコマンドにヒットしたユーザに関しては, パスワードを設定するか あるいはアカウントをロックする必要があります.

 linuxconf プログラムが利用できるならば, これを使って アカウントのロックその他の管理ができます. Config → User accounts → Normal → User accounts を開いて, 適切な操作を行って下さい.

 パスワードのファイルである /etc/passwd をエディタで直接操作することで, アカウントのロックなどの管理ができます. /etc/passwdの パスワードのフィールド( ":" で区切られた 2番目)に "*" (半角のアスタリスク) 一個をエディタなどで書き込めば, アカウントをロックすることができます. 下に挙げた例では, ユーザ "nobody" のアカウントがロックされています.

nobody:*:10652:0:99999:7:::
       ^これ

 実際に使っているアカウントを壊してもアレですから, 自信が無い場合は, どうでもいいアカウントを作成するなどして実験してからやりましょう.

パスワードについて

欠陥の修正された, 新しいプログラムを使う


inetd.conf の不要な行をコメントにする

inetd から起動されるサービスへのアクセスを制御する

不要な, あるいは動作のわからないサーバプロセスを立ち上げない

xdm のアクセス制限

グループ [root] に所属するユーザのみ root になれるようにする


リモートホストからの root での login を無効にする

PAM (Pluggable Authentication Modules) を利用する

外部から login する必要があるときは telnet を利用しない

常に最新のセキュリティ情報を入手する

侵入されてしまったら


関連リンク

  • Linux 関連リンク/セキュリティ
  • IPA 小規模サイト管理者向け セキュリティ対策マニュアル
  • CERT Coordination Center
  • JPCERT/CC
  • SSH
  • Security-HOWTO
  • BugTraq メーリングリストのアーカイブ