AWS VPCでのネットワークACLとセキュリティグループのハマリポイント | ライタス株式会社
AWSでVPCを扱うとき、セキュリティポリシーとして、通信制御を行うと思います。
通信制御をするときは、ネットワークACLとセキュリティグループを活用して設定しますが、ここで幾つかハマりポイントがあります。
1. ステートレスとステートフル
ステートレスとは、指定したポートのみを通すもので、他のポートは通信を拒否します。
ステートフルは、指定したポートを通しますが、その通信の戻り通信も許可します。
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_Security.html
2. 設定単位
ネットワークACLは、VPC内に定義されたサブネット単位で作成できます。
セキュリティグループは、サーバーごとに設定するイメージですが、実態としては、ネットワークカードに対して設定するイメージと捉えています。
3. ネットワークACLとセキュリティグループを両方使う
ネットワークACLとセキュリティグループを両方使う場合、両方許可されないと通信ができなくなります。
4. ハマリポイント
上記ルールに従って通信制御を行うことができますが、ネットワークACLがステートレスのため、ちゃんと通信ポートが開いてると思っているのに、開いていなかったということがよくあります。
また、戻りの通信ポートがダイレクトポートを使っている場合、ネットワークACLで拒否されてしまって、通信できなかったということが
検証方法としては、ネットワークACLかセキュリティグループを一瞬フルオープンにして通信できるかどうか確認する方法をよく使います。
他にも、AWS全体に言えることですが、設定上限になっているものが結構あります。
事前に把握しておくと良いかと思います。
通信制御をするときは、ネットワークACLとセキュリティグループを活用して設定しますが、ここで幾つかハマりポイントがあります。
1. ステートレスとステートフル
ネットワークACL | ステートレスインスペクション |
セキュリティグループ | ステートフルインスペクション |
ステートレスとは、指定したポートのみを通すもので、他のポートは通信を拒否します。
ステートフルは、指定したポートを通しますが、その通信の戻り通信も許可します。
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_Security.html
2. 設定単位
ネットワークACL | サブネット単位 |
セキュリティグループ | ENIおよびグループ単位 |
ネットワークACLは、VPC内に定義されたサブネット単位で作成できます。
セキュリティグループは、サーバーごとに設定するイメージですが、実態としては、ネットワークカードに対して設定するイメージと捉えています。
3. ネットワークACLとセキュリティグループを両方使う
ネットワークACLとセキュリティグループを両方使う場合、両方許可されないと通信ができなくなります。
ネットワークACL | セキュリティグループ | 結果 |
許可 | 許可 | 許可 |
許可 | 拒否 | 拒否 |
拒否 | 許可 | 拒否 |
拒否 | 拒否 | 拒否 |
4. ハマリポイント
上記ルールに従って通信制御を行うことができますが、ネットワークACLがステートレスのため、ちゃんと通信ポートが開いてると思っているのに、開いていなかったということがよくあります。
また、戻りの通信ポートがダイレクトポートを使っている場合、ネットワークACLで拒否されてしまって、通信できなかったということが
検証方法としては、ネットワークACLかセキュリティグループを一瞬フルオープンにして通信できるかどうか確認する方法をよく使います。
他にも、AWS全体に言えることですが、設定上限になっているものが結構あります。
事前に把握しておくと良いかと思います。
コメント
コメントを投稿