6.26 Ensure the App tier ELB is created as Internal

Information

An internal load balancer routes traffic to your EC2 instances in private subnets using private IP addresses.

Create an internal load balancer and register the database servers with it. The web servers receive requests from the Internet-facing load balancer and send requests for the database servers to the internal load balancer. The database servers receive requests from the internal load balancer.

When an internal load balancer is created, it receives a public DNS name with the following form:

internal-_name_-_123456789_._region_.elb.amazonaws.com

The DNS servers resolve the DNS name of your load balancer to the private IP addresses of the load balancer nodes for your internal load balancer. Each load balancer node is connected to the private IP addresses of the back-end instances that are in its Availability Zone using elastic network interfaces.
Creating the App tier ELB as internal will prevent access to the app tier from the Internet and will allow access from the Web tier instances.

Solution

Using the Amazon unified command line interface:

* Create new internal ELB for your App tier:

aws elb create-load-balancer --load-balancer-name <app_tier_elb> --scheme internal --listeners <_listener_config_> --subnets _<app_tier_subnet1>_ _<app_tier_subnet2>_ --security-groups <app_tier_elb_security_group>

* Register App tier instances with the new App tier ELB:

aws elb register-instances-with-load-balancer --load-balancer-name <app_tier_elb> --instances _<app_tier_instance1> <app_tier_instance2> <app_tier_instance3>_

See Also

https://workbench.cisecurity.org/files/260

Item Details

Category: SYSTEM AND COMMUNICATIONS PROTECTION

References: 800-53|SC-7

Plugin: amazon_aws

Control ID: 96811c7fc790052dbc8f54ece67e8f441ffd0e863354f8e375373123eae872aa