More Info:
EC2 security groups should not allow unrestricted outbound/egress access.Risk Level
LowAddress
SecurityCompliance Standards
- APRA CPS 234 (Australia)
- AWS Startup Security Baseline
- BSI C5 (Germany)
- Brazil LGPD
- CCPA / CPRA (California)
- CIS Critical Security Controls v8
- CMMC 2.0
- CSA Cloud Controls Matrix v4
- DPDPA
- Digital Operational Resilience Act (EU)
- HIPAA
- ISO/IEC 27017
- ISO/IEC 27018
- ISO/IEC 27701
- KSA PDPL
- MAS Technology Risk Management (Singapore)
- MITRE ATT&CK (Cloud)
- NIS2 Directive
- NIST SP 800-171
- NYDFS 23 NYCRR 500
- PCI
- SOC2
- SWIFT Customer Security Controls Framework
- Sarbanes-Oxley IT General Controls
- UK NCSC Cyber Assessment Framework
Triage and Remediation
- Remediation
Remediation
Using Console
Using Console
To remediate the issue of unrestricted outbound access in AWS, follow these steps:
- Log in to your AWS console and navigate to the VPC dashboard.
- Select the VPC for which you want to restrict outbound access.
- Click on the “Security Groups” option in the left-hand menu.
- Select the security group that is associated with the instance(s) that have unrestricted outbound access.
- Click on the “Outbound Rules” tab.
- Remove any rules that allow unrestricted outbound access (i.e., rules with a destination of “0.0.0.0/0” or ”::/0”).
- Add new outbound rules that restrict access to specific IP addresses or ranges, protocols, and ports as per your requirements.
- Save the changes and verify that the new outbound rules are in effect.
Using CLI
Using CLI
To remediate the misconfiguration of unrestricted outbound access in AWS using AWS CLI, follow the below steps:Note: Replace Note: Replace
- Open the AWS CLI on your local machine.
- Run the following command to list all the security groups in your AWS account:
- Identify the security group(s) that have unrestricted outbound access.
- Run the following command to revoke the outbound access of the identified security group(s):
<security-group-id> with the actual ID of the identified security group.- Verify that the outbound access has been revoked by running the following command:
<security-group-id> with the actual ID of the identified security group.- Repeat steps 3-5 for all the security groups that have unrestricted outbound access.
Using Python
Using Python
To remediate the issue of unrestricted outbound access in AWS, you can use the following Python code:This code uses the Boto3 library to interact with the AWS API. It first creates an EC2 client, and then uses the
describe_security_groups method to get a list of all security groups in the account. It then iterates through each security group, and checks if there are any outbound rules defined for the group. If there are, it removes them using the revoke_security_group_egress method. Finally, it prints a message indicating whether outbound rules were removed or not for each security group.Using Terraform
Using Terraform
terraform plan should show the aws_vpc_security_group_egress_rule resources with ip_protocol = "-1" to 0.0.0.0/0 and ::/0 being destroyed (if they exist) and the new, specific egress rule(s) being created.
