# Ensure No Network ACLs Allow Ingress from 0.0.0.0/0 to Any Port

- Source: https://support.icompaas.com/support/solutions/articles/62000233809-ensure-no-network-acls-allow-ingress-from-0-0-0-0-0-to-any-port
- Section: [Solutions](https://support.icompaas.com/support/solutions) › [AWS Checks New Version](https://support.icompaas.com/support/solutions/62000112673) › [AWS New Checks](https://support.icompaas.com/support/solutions/folders/62000169206)
- Last updated: 2026-05-29
- Publisher: iCompaas, Inc. (https://www.icompaas.com)

Profile Applicability: 

Level 1

### Description:

This check ensures that no Network ACLs (NACLs) in your VPC allow inbound traffic from the internet (0.0.0.0/0) to any port. Allowing unrestricted ingress traffic poses significant security risks.

### Rationale:

Restricting ingress traffic from the internet enhances security by preventing unauthorized access to your VPC resources. Network ACLs should be configured to allow only necessary and trusted traffic.

### Impact:

-   Positive Impact: Improved security by preventing unauthorized access and reducing the attack surface.
    
-   Negative Impact: Potential disruption for services or applications that rely on public access. Alternatives for secure access must be implemented.
    

### Default Value:

By default, Network ACLs do not allow inbound traffic from the internet. However, explicit rules may have been added.

### Pre-Requisite:

-   IAM Permissions: Ensure necessary permissions to view and modify Network ACL rules.
    
-   AWS Services: VPC, Network ACLs
    
-   Tools Required: AWS Management Console, AWS CLI
    

### Remediation:

#### Test plan:

#### Using AWS Console:

1.  Sign In: Log in to the AWS Management Console.
    
2.  Navigate to VPC: Go to the VPC console.
    

       ![](https://support.icompaas.com/assets/kb/f892c8f05cb38418.png)

3.  In the left navigation pane, choose Network ACLs.
    

            ![](https://support.icompaas.com/assets/kb/c86100e37ef5800d.png)

4.  For each Network ACL, review the ingress rules to identify any that allow traffic from 0.0.0.0/0
    

     ![](https://support.icompaas.com/assets/kb/40912dccf01ab089.png)

5.  Select the Network ACL and click Edit inbound rules.
    

     ![](https://support.icompaas.com/assets/kb/c3b29799d39340c8.png)

6.  Remove any rule that allows ingress from 0.0.0.0/0
    

     ![](https://support.icompaas.com/assets/kb/8fe09b7ede31670d.png)

7.  Click Save to apply the changes.
    

       ![](https://support.icompaas.com/assets/kb/c766c5b6d017bdc2.png)

#### Using AWS CLI:

1.  List Network ACLs: Retrieve all Network ACLs and their entries:
    

aws ec2 describe-network-acls --query "NetworkAcls\[\*\].{ID:NetworkAclId,Entries:Entries}" --output json > /tmp/network-acls.json

2.  Identify Entries with Ingress from 0.0.0.0/0: Filter for Network ACL entries allowing ingress from 0.0.0.0/0
    
    1.  jq '.\[\] | select(.Entries\[\]? | select(.RuleAction == "allow" and .CidrBlock == "0.0.0.0/0" and .Egress == false))' /tmp/network-acls.json > /tmp/insecure-nacls.json
        
3.  Remove Ingress Rule: For each identified Network ACL, remove the rule allowing ingress from 0.0.0.0/0
    

NETWORK\_ACL\_IDS=$(jq -r '.\[\].ID' /tmp/insecure-nacls.json)
for ACL\_ID in $NETWORK\_ACL\_IDS; do
    ENTRIES=$(jq -r --arg ID "$ACL\_ID" '.\[\] | select(.ID == $ID) | .Entries\[\].RuleNumber' /tmp/insecure-nacls.json)
    for ENTRY in $ENTRIES; do
        aws ec2 delete-network-acl-entry --network-acl-id $ACL\_ID --rule-number $ENTRY --ingress
    done
done

### Implementation:

#### Using AWS Console:

1.  Log in to the AWS Management Console
    
2.  Go to the VPC console by selecting "Services" and then choosing "VPC" from the dropdown menu.
    

      ![](https://support.icompaas.com/assets/kb/685ddc41d93742a8.png)

3.  Select Network ACLs: In the left navigation pane, choose Network ACLs.
    

         ![](https://support.icompaas.com/assets/kb/80a394afe7d7e300.png)

4.  Review Ingress Rules: For each Network ACL, review the ingress rules to identify any that allow traffic from 0.0.0.0/0.
    

    ![](https://support.icompaas.com/assets/kb/43ef3c3ec95abcaa.png)

5.  Edit Ingress Rules: Select the Network ACL and click Edit inbound rules.
    

      ![](https://support.icompaas.com/assets/kb/cb15893a8d5ef270.png)

6.  Remove Ingress Rule: Remove any rule that allows ingress from 0.0.0.0/0.
    

        ![](https://support.icompaas.com/assets/kb/38902578012fbb55.png)

7.  Save Changes: Click Save to apply the changes.
    

        ![](https://support.icompaas.com/assets/kb/eae151e4fa2eae1c.png)

  

### Backout Plan:

-   Revert Ingress Rules:
    
    -   If issues arise after removing the ingress rules, re-add the rules allowing ingress from trusted IP ranges only.
        
-   Restore Configuration:
    

 Use saved Network ACL configurations to reapply previous settings if needed:

aws ec2 create-network-acl-entry --network-acl-id <NetworkAclId> --rule-number <RuleNumber> --protocol <Protocol> --rule-action allow --egress false --cidr-block <TrustedIpRange> --port-range From=<PortRangeFrom>,To=<PortRangeTo>

### References:

-   [AWS Security Best Practices](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp.html)
    
-   [VPC Network ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
    

### CIS Controls Mapping:

<table style="border:none;border-collapse:collapse;font-family:&quot;Helvetica Neue&quot;"><colgroup style="font-family:&quot;Helvetica Neue&quot;"><col style="font-family:&quot;Helvetica Neue&quot;"><col style="font-family:&quot;Helvetica Neue&quot;"><col style="font-family:&quot;Helvetica Neue&quot;"></colgroup><tbody style="font-family:&quot;Helvetica Neue&quot;"><tr style="height:38.5pt;font-family:&quot;Helvetica Neue&quot;"><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:700;font-family:&quot;Helvetica Neue&quot;">Control Version</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:700;font-family:&quot;Helvetica Neue&quot;">Control ID</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:700;font-family:&quot;Helvetica Neue&quot;">Control Description</span></span></span></p></td></tr><tr style="height:38.5pt;font-family:&quot;Helvetica Neue&quot;"><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">v8</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">3.4</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">Ensure the use of secure network configurations for all endpoints.</span></span></span></p></td></tr><tr style="height:38.5pt;font-family:&quot;Helvetica Neue&quot;"><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">v8</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">4.3</span></span></span></p></td><td style="padding:5pt;overflow:hidden;overflow-wrap:break-word;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><p dir="ltr" style="line-height:1.38;text-align:justify;margin-bottom:12pt;font-family:&quot;Helvetica Neue&quot;;font-size:14px"><span style="font-size:14px"><span style="font-family:Helvetica Neue"><span style="color:rgb(0, 0, 0);font-weight:400;font-family:&quot;Helvetica Neue&quot;">Limit the attack surface by minimizing the number of open network ports.</span></span></span></p></td></tr></tbody></table>

## Related compliance guidance

- [SOC 2 compliance: a practical implementation guide for cloud-native SaaS teams](https://support.icompaas.com/compliance/soc-2-trust-services-criteria): Configuration checks like this one are the technical half of a SOC 2 / ISO 27001 programme — the guide shows where they fit, what else an auditor expects, and how to evidence them.
- [ISO/IEC 27001:2022 compliance: a practical implementation guide](https://support.icompaas.com/compliance/iso-27001-2022): ISO 27001 Annex A.8 (technological controls) is where cloud hardening evidence lands; the guide shows how to run the ISMS around it.
