76
82

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

セキュアなSSHサーバの設定

Posted at

概要

 前回の「Amazon Linux 2のsshサーバをよりセキュアに!」に続き、SSHサーバ全体の設定を残したいと思います

 以下の項目値がsshd_configに設定されていない場合はデフォルト値で動作するので、項目値を追加することで動作を制限することができます。なお、OpenSSHのバージョンによっては設定できないものもありますので、マニュアルを確認してから設定してください
 また、設定したことによって、古いSSHクライアントが接続できなくなったり、SSHサーバに接続できなくなることもありますので、事前に確認してから設定を行ってください!

プロトコルのバージョン(必須)

Protocol 1は中間者攻撃に問題があるため、Protocol 2を使用しましょう
OpenSSH 7.6以上はデフォルトで2になっています(Protocol 1はサポートされていない

/etc/ssh/sshd_config
Protocol 2

パスワード認証を無効(必須)

どうしてもパスワード認証しなければならない場合は、安全なパスワードを設定してください
IPAのチョコっとプラスパスワードや日本語パスワードなどが参考になります

/etc/ssh/sshd_config
PasswordAuthentication no

チャレンジ/レスポンス認証を無効(必須)

チャレンジ/レスポンス認証

パスワード認証を安全に行えるようにするための仕組みですが、パスワード認証を無効にするのが前提なので、こちらも無効とする

ChallengeResponseAuthentication no

空パスワードを無効(必須)

開発中はいいが、本番環境はNG

/etc/ssh/sshd_config
PermitEmptyPasswords no

rootユーザのログインを禁止(必須)

基本rootユーザで操作しないのが原則なので、rootユーザのログインから禁止

/etc/ssh/sshd_config
PermitRootLogin no

ログレベル(必須)

ログインに関するログ(成功、失敗)が出力されるようにする
問題が発生した時に状況をトレースしやすくするため

/etc/ssh/sshd_config
SyslogFacility AUTHPRIV
LogLevel VERBOSE

※あわせてrsyslogのログテンプレートを設定しておくと情報が過不足にならずに済みます

接続できるユーザを制限する(任意)

/etc/ssh/sshd_config
AllowUsers work_user

特定のユーザからの接続を拒否する(任意)

AWS EC2のようにデフォルトユーザ(ec2-user)が知れ渡っているような場合は、
デフォルトユーザを削除したり、接続禁止設定しとくと安全でしょう

/etc/ssh/sshd_config
DenyUsers ec2-user

SSH接続ポートの変更(任意)

デフォルト22番ポート以外の任意のポートに割り当てることで攻撃を遅らせることができます
※割り当て予定のポートを事前にファイアウオールで許可するようにしてください!

/etc/ssh/sshd_config
Port 1022

SSHポートフォワードの禁止(任意)

SSH接続を経由して、他のサーバに転送通信(トンネリング)をできなくする

/etc/ssh/sshd_config
AllowTcpForwarding no
AllowStreamLocalForwarding no
GatewayPorts no
PermitTunnel no

参考

76
82
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
76
82

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?