「sshのセキュリティを高める方法」の版間の差分
提供: セキュリティ
(相違点なし)
|
2014年6月2日 (月) 00:10時点における版
sshサーバ(sshd)のセキュリティを高めるためには、sshdの設定(sshd_config)を適切に行うこと、iptablesやipfwなどのファイアウォールなどで制限をすることなどが挙げられます。
概要
sshdのデフォルトの設定は、あまり堅牢とは言えるものではありません。
- パスワード認証を許可しています。
- すべてのユーザがsshアクセス可能です。
sshd (sshd_config) の設定
/etc/ssh/sshd_config
# sshプロトコルの選択 # Protocol 1 は、許可しません。 Protocol 2 # デフォルトは6 MaxAuthTries 3 # ログインに成功するまでの制限時間です。 # 0は、無制限です。 LoginGraceTime 60 # ログイン前に、ユーザのホームディレクトリのオーナとパーミッションをチェックします。 StrictModes yes # root のログインは、認めません。 PermitRootLogin no # Protocol 2 only # 公開鍵認証を許します PubkeyAuthentication yes # サーバ鍵のビット長 ServerKeyBits 2048 # 特権を分離します UsePrivilegeSeparation yes # Protocol 1 only RSAAuthentication no # パスワード認証は許しません PasswordAuthentication no # デフォルトは、no # パスワード認証をそもそも許してないので不要 PermitEmptyPasswords no # チャレンジレスポンス認証は許可しません ChallengeResponseAuthentication no # PAM モジュールは使用しません UsePAM no # sshを許可するユーザ、もしくは、ユーザグループを指定します。 AllowUsers cd-user # AllowGroups devops
sshd (sshd_config) の設定の反映
$ sudo service sshd reload
許可すること
禁止すること
- PermitRootLogin rootのログインは許可しません。
- Protocol 1 は、脆弱性があるので使用しません。
- RSAAuthentication は Protocol 1 のみなので許す必要がありません。
- PasswordAuthentication パスワード認証は、許可しません。
- 許可するのは、公開鍵認証のみです。
- PermitEmptyPasswords 空パスワードは許可しません。
- そもそもパスワード認証を許可しません。
- ChallengeResponseAuthentication チャレンジレスポンス認証は、許可しません。
- UsePAM Pluggable Authentication Modules(PAM)モジュールは使用しません。