01 Sign in to your Cloud Conformity console, access Add SSL/TLS Server Certificates to Web-Tier ELBs conformity rule settings and copy the tags defined for AWS resources available in your web tier (e.g. <web_tier_tag>:<web_tier_tag_value>).
02 Run describe-load-balancers command (OSX/Linux/UNIX) to list the names of all AWS ELBs provisioned in the selected AWS region:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
aws elb describe-load-balancers
--region us-east-1
--output table
--query 'LoadBalancerDescriptions[*].LoadBalancerName'
03 The command output should return a table with the requested ELB names:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
-----------------------
|DescribeLoadBalancers|
+---------------------+
| cc-mainsite-elb |
| cc-legacy-app-elb |
+---------------------+
04 Run describe-tags command (OSX/Linux/UNIX) using the name of the load balancer that you want to examine as identifier and custom query filters to describe the tags defined for the selected ELB resource (if any):
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
aws elb describe-tags
--region us-east-1
--load-balancer-name cc-mainsite-elb
--query 'TagDescriptions[*].Tags[]'
05 The command request should return one of the following outputs:
- If the describe-tags command output returns an empty array, as shown in the example below, the verified ELB is not tagged, therefore the audit process for the selected resource ends here:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
[]
- If the command output returns a set of tags that is different than the one copied at step no. 1, as shown in the example below, the verified ELB does not belong to your web tier, therefore the audit process for the selected load balancer ends here:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
[
{
"Value": "Env",
"Key": "Development"
}
]
- If the describe-tags command output returns a set of tags that match the one copied at step no. 1 (e.g. <web_tier_tag>:<web_tier_tag_value>), as shown in the example below, the verified Amazon ELB is tagged as a web-tier resource, therefore the audit process continues with the next step:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
[
{
"Value": "<web_tier_tag_value>",
"Key": "<web_tier_tag>"
}
]
06 Run describe-load-balancers command (OSX/Linux/UNIX) using the name of the load balancer identified at the previous step as identifier to describe the resource listeners configuration and determine if the selected web-tier ELB has any SSL/TLS server certificates attached:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
aws elb describe-load-balancers
--region us-east-1
--load-balancer-name cc-mainsite-elb
--query "LoadBalancerDescriptions[*].{ListenerDescriptions:ListenerDescriptions[?Listener.SSLCertificateId != null]}"
07 The command output should list the requested configuration metadata:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
[
{
"ListenerDescriptions": []
}
]
If value of the
"ListenerDescriptions" attribute is an empty array, as shown in the example above, the selected web-tier ELB does not have a listener configured with a SSL/TLS server certificate, therefore the front-end traffic between the clients and the load balancer is not encrypted.
08 Repeat step no. 6 and 7 to determine if other ELBs available within your web tier in the selected AWS region, have SSL/TLS server certificates attached.
09 Change the AWS region by updating the --region command parameter value and repeat steps no. 2 – 8 to perform the entire audit process for other regions.