Inbound HTTP access should be restricted

Description

Reduce the probability of a breach by checking EC2 security groups for inbound rules that allow unfettered access to TCP port 80 (used by HTTP) and restrict access to IP addresses that require this port.

Rationale

Malicious activity, such as denial-of-service (DoS) attacks and hacking, can occur when permitting unfettered access to this port.

Remediation

From the console

Follow the Security group rules docs to learn how to add a security group rule that will restrict access to a specific port.

From the command line

  1. Run revoke-security-group-ingress to remove inbound rules that allow unrestricted access to port 80.

    revoke-security-group-ingress.sh

        aws ec2 revoke-security-group-ingress
            --group-name your-group-name
            --protocol tcp
            --port 80
            --cidr 192.0.2.0/24
        
  2. Run authorize-security-group-ingress to add new inbound rules that restrict TCP access.

    revoke-security-group-ingress.sh

        aws ec2 authorize-security-group-ingress
            --group-name your-group-name
            --protocol tcp
            --port 445
            --cidr 192.0.2.0/24