OpenSSHの設定
CentOS 5.4をインストールすると、OpenSSHは標準でインストールされる。そのまま使ってもよいが、セキュリティを考慮して設定を変更する。
1. 設定の変更
OpenSSHの設定ファイル(/etc/ssh/sshd_config)を編集する。以下の項目を確認し、必要に応じて変更する。特に重要な項目に絞って解説する。
- Port
- sshdが接続を待ち受けるポート番号。デフォルトは"22"。変更することでポートスキャンや不正侵入の危険性を低減することができる。1024-65535の範囲内で憶測されづらい番号を指定するとよい。ファイアーウォールが有効な場合は指定したポートを開放すること。
- Protocol
- sshdが対応するプロトコルのバージョン。デフォルトは"2"。SSHには初期型のSSH1と改良型のSSH2があり、両者に互換性はない。セキュリティ上の問題点が多いSSH1での接続は禁止した方がよいので、"2,1"等になっている場合は"2"に変更しよう。
- PermitRootLogin
- SSHで直接rootにログインすることを許可するか否か。デフォルトは"yes"。百害あって一利なしなので、"no"に変更する。
- PubkeyAuthentication
- SSH2においてRSA鍵認証を許可するか否か。デフォルトは"yes"。RSA鍵認証はSSHにおいて好ましい認証方法なので、"yes"のままでOK。
- ChallengeResponseAuthentication
- チャレンジ・レスポンス認証を許可するか否か。デフォルトは"yes"。特に必要がない限り"no"に設定。
- PasswordAuthentication
- パスワードによる認証を許可するか否か。デフォルトは"yes"。特に必要がない限り"no"に設定。
- GSSAPIAuthentication
- GSSAPI認証を許可するか否か。デフォルトは"no"。特に必要がない限り"yes"にしないよう注意。
- UsePAM
- PAMによる認証を許可するか否か。デフォルトは"no"。特に必要がない限り"yes"にしないよう注意。
認証方法をRSA鍵認証のみにすることで、余計なセキュリティリスクを回避することができる。ただし、ホスト上にRSA公開鍵を設定しないままこの設定を行ってしまうとSSHでログインできなくなってしまうので注意。RSA鍵の生成や設定については割愛。
2. sshdの再起動
/etc/ssh/sshd_config を編集したら、変更を反映させるためにsshdを再起動する。
[root@localhost ~]# service sshd restart
再起動後、以下のポイントを確認する。