RSA公開鍵認証の有効化とパスワード認証の無効化
カテゴリ:セキュリティ対策
日時:2004/10/05 22:48
/etc/ssh/sshd_configを編集して、RSA公開鍵認証の有効化と各種の制限を行い、セキュリティを強化する。順番は前後するが、目的別に見ていく。
まず、RSA公開鍵認証の有効化。sshd_configの
さらに、rhostでの接続とパスワード認証の無効化。
これだけではまだ足りない。
最期に、セキュリティの設定とは直接関係ないが、ログレベルを指定しておく。
設定が終わったら、
以上で、
・サーバ上の公開鍵とペアになっている秘密鍵を持っていること
・鍵ペア作成時に設定したパスフレーズを知っていること
・ssh2で接続すること
を満たさなければssh接続ができなくなる。パスフレーズを省略した認証にすることもできるが、あえてパスフレース入力が必要な状態にしてある。リモート接続は多少面倒くらいがよろしい(と思う)。
まず、RSA公開鍵認証の有効化。sshd_configの
#RSAAuthentication yesを
#PubkeyAuthentication yes
#AuthorizedKeyFile .ssh/authorized_keys
RSAAuthentication yesに修正(「#」を削除)。これで、公開鍵と秘密鍵、パスフレーズによる認証が可能になる。 次に、
PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_keys
#PermitRootLogin yesを
PermitRootLogin noにして、rootで直接ログインできないようにする。これにより、ssh接続でroot権限を得るには認証を2回パスしなければならなくなる。
さらに、rhostでの接続とパスワード認証の無効化。
#RhostsRSAAuthentication noを
#PasswordAuthentication yes
#PermitEmptyPasswords no
RhostsRSAAuthentication noとする。コメントアウトされている行を有効化し、さらに「yes」を「no」にすることで明示的に禁止する。
PasswordAuthentication no
PermitEmptyPasswords no
これだけではまだ足りない。
#ChallengeResponseAuthentication yesを
ChallengeResponseAuthentication noにしてチャレンジレスポンス認証を明示的に無効化しておかないと、PAM認証(実質てきにはパスワード認証)を行ってしまう。公開鍵認証に限定したいので、これも潰しておく。
最期に、セキュリティの設定とは直接関係ないが、ログレベルを指定しておく。
#SyslogFacility AUTHを
#LogLevel INFO
SyslogFacility AUTHにして有効化。
LogLevel INFO
設定が終わったら、
/etc/init.d/sshd restartしてsshを再起動し、編集した/etc/ssh/sshd_configを反映させる。問題なければ、
# rc-update add sshd defaultでデフォルトランレベルに追加する。
以上で、
・サーバ上の公開鍵とペアになっている秘密鍵を持っていること
・鍵ペア作成時に設定したパスフレーズを知っていること
・ssh2で接続すること
を満たさなければssh接続ができなくなる。パスフレーズを省略した認証にすることもできるが、あえてパスフレース入力が必要な状態にしてある。リモート接続は多少面倒くらいがよろしい(と思う)。