Azureを触った後にAWSを勉強して混乱したのでメモ
Azureの「Network Security Groups(NSG)」
= AWSの「Security Groups(SG) + Network Access Control Lists(NACL)」
観点 | SG(AWS) | NACL(AWS) | NSG(Azure) |
---|---|---|---|
アタッチ対象 | インスタンス | サブネット | サブネット、ネットワーク インターフェース |
設定方法 | ホワイトリスト方式(許可のみ) | ブラックリスト方式(許可・拒否) | ブラックリスト方式(許可・拒否) |
設定効果 | ステートフル | ステートレス | ステートフル |
評価 | 序列はなくすべて評価される | 優先度順に評価される | 優先度順に評価される |
ステートフル、ステートレスとは
ステートフル = 戻りの通信(インバウンドトラフィックに対する応答のアウトバウンドトラフィック、アウトバウンドトラフィックに対する応答のインバウンドトラフィック)は、行きの通信が許可されている限り自動的に許可
Azureで既定ではVnet内は明示的許可にならない
NSGを作成するときに気づいた点。
既定セキュリティ規則で
受信: AllowVnetInBound
送信: AllowVnetOutBound
が有効になっている。※1
これにより、同じVirtualNetworkからの通信は許可されてしまうため、「明示的許可」をしたい、つまり他のものを拒否したい場合、拒否のルールをより上位に設定する必要がある
AWSではSGがホワイトリスト形式なのでAzureのように許可されてしまうことはない