Inbound PostgreSQL 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 5432 (used by the PostgreSQL Database Server) and restrict access to IP addresses that require this port.

Rationale

Malicious activity, such as hacking and denial-of-service (DoS) attacks, 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 5432.

    revoke-security-group-ingress.sh

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

    revoke-security-group-ingress.sh

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