セキュリティ対策設定
(前提条件)
・ ポート番号の変更
・ rootでのログイン禁止
・ パスワード認証の禁止
・ CRYPTO_POLICY変数の高セキュリティシステム対応
1 2 3 4 |
# CRYPTO_POLICY既定変数の無効化 # 標準設定では、コメントアウトされているので、有効化(値なし)する。 CRYPTO_POLICY= |
1 2 3 4 5 6 7 |
Port 12322 # 22番以外のポート番号 PermitRootLogin no # rootでのログインを禁止 PasswordAuthentication no # パスワード認証の禁止する(鍵認証のみによる接続) # 高セキュリティシステムでは推奨されない暗号方式、ハッシュ関数の削除した変数の設定 Ciphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes128-gcm@openssh.com,aes128-ctr MACs=hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha2-256,umac-128@openssh.com,hmac-sha2-512 |
サービスの再起動(パスワード認証を禁止する場合は、十分な動作確認を行う)を実施する。
なお、ポート番号を変更する場合は、ファイアウォールの設定も変更すること。
1 |
systemctl restart sshd |
鍵認証の設定
クライアント側で作成した公開鍵ファイルをサーバに転送して運用する場合
クライアント側で作成した公開鍵を複数のサーバに設定し運用する場合
(注意)サーバに公開鍵を転送するのにパスワード認証が必要となるので運用を考える必要あり。
鍵認証を行うのにパスワード認証が許可のままでは、強化になっていない。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# SSHクライアントホスト側での設定 cd ~/.ssh ssh-keygen -t rsa chmod 600 * ~/.ssh/id_rsa.pubをsshサーバへ安全にコピー(scp等でコピー)する。 # SSHサーバ側での設定 cd ~/.ssh cat (コピーしたディレクトリ/)id_rsa.pub >> authorized_keys chmod 600 authorized_keys |
サーバ側で作成した秘密鍵ファイルをクライアントに安全に引き渡して運用する場合
サーバ側で作成したサーバ共通秘密鍵を複数のクライアントに配信し運用する場合。
クライアントからは、サーバ側で作成したユーザでログインする。
1 2 3 4 5 6 7 8 9 10 |
# SSHサーバホスト側でキーを作成 cd ~/.ssh ssh-keygen -t rsa cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys 生成された id_rsa ファイルを接続元のホストに安全に転送し「ssh -i」で指定し接続する。 ファイルは、必ずパーミッションを変更(600)すること。 |