Just how useful is the AWS Trusted Advisor service?
From Amazon’s official blog, the AWS Trusted Advisor is billed as
…Your customized cloud expert! It helps you to observe best practices for the use of AWS by inspecting your AWS environment with an eye toward saving money, improving system performance and reliability, and closing security gaps.
About a year ago AWS moved the Trusted Advisor into the AWS Management Console and made four of their Trusted Advisor best practices available at no charge:
- Service Limits Check
- Security Groups – Specific Ports Unrestricted Check
- IAM Use Check
- MFA on Root Account Check
In this article, I am going to run the AWS Trusted Advisor against my private, non-commercial AWS account which I already know has a few holes. The good news is that I am the only one who has access. The bad news is that that’s no excuse for leaving it in an insecure state. So let’s see what the AWS Trusted Advisor (TA) can tell us.
Here’s what we see from my TA dashboard:
Not as bad as I had feared. Let’s look at the yellow warning associated with Performance first. This apparently means that the usage is higher than 80% of the service limit. AWS recommends that if you anticipate exceeding a service limit, open a case in Support Center to request a limit increase.
Don’t think I will do that just yet, but I will look a little closer to see what this is trying to tell me. Drilling down further, by clicking on the yellow icon, I see this:
OK. So I have 4/5 Internet Gateways used up in the us-east-1 Region. Let’s take a look at my VPC’s in that Region:
Each of them has an Internet Gateway attached.
I hate to admit it, but besides the Default gateway, I am not sure what any of these are doing. I’ll assume that they were created automatically while I was testing out a few configurations sometime in the murky past. Just to be safe, I think I will leave them for the time being.
Warning: Don’t even think about deleting your VPC gateway, as you won’t be able to get it back without manually requesting is from AWS. (How do I know that? because I did it myself.)
That RED icon sure looks interesting. It’s apparently telling me that one or more of the ports (20, 21, 1433, 1434, 3306, 3389, 4333, 5432, or 5500) in my Security Groups have unrestricted access. Looking deeper again.
Port 21 on the group attracting the red status (my default Security Group) is wide open to anyone who happens to know the IP address (and can guess my password). I should probably fix that up and restrict access exclusively to my IP. This is actually the default setting of any new Security Group – probably to facilitate connectivity for brand new configurations – but Amazon strongly advises us to close it up as soon as possible.
Other things you can do with AWS Trusted Advisor:
- Download the results of each check for further analysis or distribution.
- Ask a Trusted Advisor to automatically send you a status update each week.
Upgrading will also allow you to:
- Check access permissions on buckets in Amazon’s Simple Storage Service (S3).
- Check the password policy for your account and receive warnings when a password policy is not enabled, or if password content requirements have not been met.
- Check security group configurations for Amazon Relational Database Service (RDS) and warn when a Security Group rule might grant overly permissive access to your database.
- For each MX resource record set, check for a TXT resource record set that contains a corresponding SPF value.
- Check for your use of AWS CloudTrail.
- Check for load balancers with listeners that do not use recommended security configurations for encrypted communication.
- Check for load balancers configured with a missing Security Group or a Security Group that allows access to ports that are not configured for the load balancer.
In my opinion, the AWS Trusted Advisor is a terrific tool that can definitely be trusted. It alerted me to a few problems in my personal account of which I wasn’t aware. I am currently in the process of fixing them. To get a jump start at AWS Trusted Advisor, I recommend taking the Cloud Academy’s Overview of AWS Trusted Advisor course.
But that’s just my simple account. If you’re running a large AWS infrastructure, it might make a lot of sense for you to shell out for the Business or Enterprise level of support. Access to all forty TA checks comes along with an AWS Support Plan (which, depending on the way you use AWS, the price you pay will range from $49/month to 3% of your monthly AWS usage over $1M).
This might just be worth it. Jeff Barr, writing on the AWS blog, recently noted that Oscar Health, after using Trusted Advisor for one hour, “were able to tune their CPU and Provisioned IOPS usage and to effect a 20% savings.”