「sshのセキュリティを高める方法」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「sshサーバ(sshd)のセキュリティを高めるためには、sshdの設定(sshd_config)を適切に行うこと、iptablesipfwなどの[...」)
(相違点なし)

2014年6月2日 (月) 00:10時点における版

sshサーバ(sshd)のセキュリティを高めるためには、sshdの設定(sshd_config)を適切に行うこと、iptablesipfwなどのファイアウォールなどで制限をすることなどが挙げられます。

概要

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

許可すること

  • 公開鍵認証は、許可します。
  • Protocol 2 のみ許可します。
  • sshを許可すべきユーザ、もしくは、グループのみを許可します。

禁止すること

  • PermitRootLogin rootのログインは許可しません。
  • Protocol 1 は、脆弱性があるので使用しません。
  • RSAAuthentication は Protocol 1 のみなので許す必要がありません。
  • PasswordAuthentication パスワード認証は、許可しません。
  • PermitEmptyPasswords 空パスワードは許可しません。
    • そもそもパスワード認証を許可しません。
  • ChallengeResponseAuthentication チャレンジレスポンス認証は、許可しません。
  • UsePAM Pluggable Authentication Modules(PAM)モジュールは使用しません。

関連項目