説明
SSH で使う TCP 22 を広いパブリックアドレス範囲に許可すると、サーバーに到達できる多数の外部クライアントが管理接続を試みられます。管理用サービスであるため、管理ネットワーク、VPN、踏み台などの承認済み送信元に限定してください。
セキュリティグループのルールだけで、サーバーがインターネットに接続されたり、ログインが許可されたりするわけではありません。公開アドレス、ルーティング、ホストのファイアウォール、SSH 認証を併せて確認する必要があります。
想定される影響
- 外部から自動化されたログイン試行や脆弱性の探索を受ける可能性があります。
- アカウントやキーの窃取、弱い SSH 設定と組み合わさると、サーバー侵害につながる可能性があります。
対処方法
- TCP 22 の許可を、実際の管理接続の送信元に限定してください。プライベート CIDR という理由だけで、その範囲全体を信頼しないでください。
- 適している場合は Systems Manager Session Manager などの代替手段を使い、必要な IAM 権限とネットワーク接続を用意してください。
- SSH 認証を強化し、サービスを最新の状態に保ってください。関連付けられたほかのセキュリティグループや広いポート範囲に、不要な許可が残っていないか確認してください。
例
VPC と CIDR は実際の環境の値に置き換えてください。インスタンスへの関連付けと SSH サーバーの設定は省略しています。
変更前
yaml
- name: 보안 그룹 생성
amazon.aws.ec2_group:
name: example
description: ssh-open security group
vpc_id: vpc-12345
rules:
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: 79.32.0.0/12
広いパブリックアドレス範囲 79.32.0.0/12 に SSH を許可します。インターネット全体ではありませんが、実際の管理要件に必要な範囲かを確認してください。
変更後
yaml
- name: 보안 그룹 생성
amazon.aws.ec2_group:
name: example
description: ssh-restricted security group
vpc_id: vpc-12345
rules:
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: 10.0.10.0/24
指定したプライベートアドレス範囲にアクセスを限定します。実際の管理クライアントの送信元アドレスに合っていることを確認し、ネットワーク制限と併せて強力な認証も維持してください。