With my understanding, NACL (Network Access Control List) is the subnet firewall.
I'm trying to understand what are the defaults when creating a NACL:
So, bottom line, is all allowed or denied? I know that according to AWS best practices, all access should be disabled by default.
NACL rules are applied in the following way for traffic from the transit gateway to your VPC: Inbound rules and outbound rules are not evaluated. Consider a configuration where you have an EC2 network interface workload and transit gateway association that have different subnets.
When you create a VPC or use the default VPC that gets created with your AWS account. AWS will automatically create a NACL inside it that all subnets will connect to by default unless you point them to another NACL instead. This default NACL will allow all inbound and outbound traffic.
NACLs are always read in ascending order, with each rule applied against matching packets. These rules apply regardless of whether a later rule might also match. It is important to carefully sequence the NACL rules with an organized numbering system. AWS Network ACL Rules (both inbound and outbound) are defined in terms of the DESTINATION port.
If you have access to the Amazon VPC endpoint service, you must verify that the security group rules and the rules within the network ACL associated with the Network Load Balancer’s targets:
The rules are evaluated in number order.
As soon as the traffic matches the rule, the Allow/Deny is applied and evaluation ends.
Therefore, the default rule that you show above Allows all traffic. Nothing falls through to the default rule.
This numbered logic is handy for something like this, that denies ICMP traffic, then allows everything else:
Here's one that uses the default rule to only allow HTTPS:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With