SSH サーバのセキュリティ対策

SSH サーバをサイバー攻撃から守るためにやっておくべき sshd の設定です。
sshd の設定は /etc/ssh/sshd_config に設定します。
目次
SSH のポート番号を変更する
デフォルトの SSH のポート番号 TCP 22番を狙って、外部から不正アクセスしようと攻撃してくる危険性があるため、ポート番号を変更します。
# デフォルトのポート番号 22/TCP からポート番号 22222/TCP にする Port 22222
パスワード認証を無効にし、公開鍵認証を使用する
パスワード認証では、ブルートフォースアタック(総当たり攻撃)によりパスワードが破られる可能性があります。パスワード認証を無効にして公開鍵認証にすることにより、ブルートフォースアタックのリスクを避けるようにします。
# パスワード認証を許可しない PasswordAuthentication no # チャレンジ/レスポンス認証を使用しない ChallengeResponseAuthentication no # 空パスワードでのアクセスを許可しない PermitEmptyPasswords no # RSA 認証を使用しない RSAAuthentication no # 公開鍵認証を使用する PubkeyAuthentication yes
ホストベース認証を無効にする
ユーザごとの公開鍵認証にするため、ホストベースの認証を無効にします。
# ホストベースの認証を使用しない HostbasedAuthentication no # ホストベースの認証を使用しない RhostsAuthentication no # ホストベースの RSA 認証を使用しない RhostsRSAAuthentication no
SSH ポートフォワーディングを禁止する
不正アクセスをされた場合、ポートフォワーディング機能を悪用され、踏み台攻撃を誘発する可能性がありますので、ポートフォワーディングを禁止します。
# TCP ポートフォワーディングを禁止する AllowTcpForwarding no # X11 ポートフォワーディングを禁止する X11Forwarding no
root でのログインを許可しない
管理者権限を持っている root ユーザが一番狙われるユーザですので、リモートから直接 root ユーザのままログインできないようにします。
# root でのログインを許可しない PermitRootLogin no
特定のユーザにだけログインを許可する
ログインを許可するユーザを絞り込むことができるようでしたら、特定のユーザだけログインできるように設定しておきます。
# ユーザ work_user にだけログインを許可する AllowUsers work_user
まとめ(sshd_config)
sshd_config に以下のように設定を追加しておきましょう。
# デフォルトのポート番号 22/TCP からポート番号 22222/TCP にする Port 22222 # パスワード認証を許可しない PasswordAuthentication no # チャレンジ/レスポンス認証を使用しない ChallengeResponseAuthentication no # 空パスワードでのアクセスを許可しない PermitEmptyPasswords no # RSA 認証を使用しない RSAAuthentication no # 公開鍵認証を使用する PubkeyAuthentication yes # ホストベースの認証を使用しない HostbasedAuthentication no # ホストベースの認証を使用しない RhostsAuthentication no # ホストベースの RSA 認証を使用しない RhostsRSAAuthentication no # TCP ポートフォワーディングを禁止する AllowTcpForwarding no # X11 ポートフォワーディングを禁止する X11Forwarding no # root でのログインを許可しない PermitRootLogin no # ユーザ work_user にだけログインを許可する AllowUsers work_user
参考
・SSH サーバセキュリティ設定ガイド Ver 1.0 (日本コンピュータセキュリティインシデント対応チーム協議会)
http://www.nca.gr.jp/imgs/nca_ssh_server_config_v01.pdf
Advertisement