VPC security (NACL) - toge510/aws GitHub Wiki
NACL
- Network Access Control List
- サブネットレベルで特定のインバウンドまたはアウトバウンドのトラフィックを許可または拒否できる。
- VPC には、変更可能なデフォルトのネットワーク ACL が自動的に設定される。
- ネットワーク ACL ルールは、トラフィックがサブネット内でルーティングされるときではなく、サブネットに出入りするときに評価される。
- NACLはステートレス。つまり、以前に送受信されたトラフィックに関する情報は保存されません。例えば、サブネットへの特定のインバウンドトラフィックを許可する NACL ルールを作成しても、そのトラフィックへの応答は自動的には許可されません。これは、セキュリティグループの仕組みとは対照的です。セキュリティグループはステートフルです。つまり、以前に送受信されたトラフィックに関する情報が保存されます。例えば、セキュリティグループが EC2 インスタンスへのインバウンドトラフィックを許可している場合、アウトバウンドセキュリティグループのルールにかかわらず、レスポンスは自動的に許可されます。
以下例。
- NACLはステートレスのため、トラフィックへの応答(インバウンド/アウトバウンド)に対しても許可するルールが必要。
- エフェメラルポート(32768 - 65535)は、クライアント側が使用する一時的なポート
インバウンドルール
Rule number | Type | Protocol | Port range | Source | Allow/Deny | comment |
---|---|---|---|---|---|---|
100 | SSH (22) | TCP (6) | 22 | 0.0.0.0/0 | Allow | 任意の IPv4 アドレスからのインバウンド SSH トラフィックを許可 |
200 | HTTP (80) | TCP (6) | 80 | 0.0.0.0/0 | Allow | 任意の IPv4 アドレスからのインバウンド HTTP トラフィックを許可 |
300 | HTTPS (443) | TCP (6) | 443 | 0.0.0.0/0 | Allow | 任意の IPv4 アドレスからのインバウンド HTTPS トラフィックを許可 |
400 | Custom TCP | TCP (6) | 32768 - 65535 | 0.0.0.0/0 | Allow | (送信元がサブネットであるリクエストに対する)インターネットからのインバウンドリターン IPv4 トラフィックを許可 |
* | All traffic | All | All | 0.0.0.0/0 | Deny | 前のルールでまだ処理されていないすべてのインバウンド IPv4 トラフィックを拒否 (変更不可) |
アウトバウンドルール
Rule number | Type | Protocol | Port range | Source | Allow/Deny | comment |
---|---|---|---|---|---|---|
100 | SSH (22) | TCP (6) | 22 | 0.0.0.0/0 | Allow | 任意の IPv4 アドレスからのアウトバウンド SSH トラフィックを許可 |
200 | HTTP (80) | TCP (6) | 80 | 0.0.0.0/0 | Allow | 任意の IPv4 アドレスからのアウトバウンド HTTP トラフィックを許可 |
300 | HTTPS (443) | TCP (6) | 443 | 0.0.0.0/0 | Allow | 任意の IPv4 アドレスからのアウトバウンド HTTPS トラフィックを許可 |
400 | Custom TCP | TCP (6) | 32768 - 65535 | 0.0.0.0/0 | Allow | インターネット上のクライアントに対するアウトバウンド IPv4 応答を許可(例: サブネット内のウェブサーバーを訪問するユーザーに対するウェブページの提供)。 |
* | All traffic | All | All | 0.0.0.0/0 | Deny | 前のルールでまだ処理されていないすべてのアウトバウンド IPv4 トラフィックを拒否 (変更不可) |