AWSのセキュリティグループは、サーバー内部のパケットフィルタ(例えばiptables
)とは異なり、AWSインフラ側の仮想化レイヤーで動作する「仮想ファイアウォール」のようなものです。基本的にはインバウンド・アウトバウンドトラフィックを特定のポートやプロトコル、IPアドレスレンジに基づいて制御します。
3306
ポート(MySQL)へのアクセスをセキュリティグループで「特定のIPアドレスだけ許可」している場合、その指定したIPアドレス以外からの接続はAWSのネットワークレベルでブロックされ、外部からの不正アクセスやスキャンを直接受けることはありません。しかし、許可したIPアドレスからのアクセスは(そのIPが正規ユーザーである前提で通常は安全ですが)、もしそのIPが何らかの理由で攻撃者に制御されていたり、攻撃者がそのIPアドレス領域を利用できる状態であれば、そのIP経由でのブルートフォース攻撃やハッキング行為を行われる可能性は残ります。
要点としては、
- セキュリティグループは指定した条件以外からのアクセスをシャットアウトするため、基本的な外部からの攻撃表面は大幅に減らせます。
- しかし、あくまで「許可したIPからのアクセスは通してしまう」ため、そのIPが攻撃者に利用されるようなケースでは依然としてブルートフォース攻撃などを受け得ます。
- そのため、安全性を更に高めるには、MySQL自体のセキュリティ対策(強力なパスワード、二要素認証に準ずる仕組み、特定のユーザーに対する接続制限、頻回なパスワード試行に対するアカウントロックなど)や、VPN接続・PrivateLink、踏み台サーバー(ジャンプホスト)の利用など、追加の防御手段が有効です。