Information
To enable HTTPS connections to your website or application in AWS, you need an SSL/TLS server certificate. You should use AWS Certificate Manager (ACM) to store and deploy server certificates, as storing certificates in IAM is no longer recommended. Use IAM only when you must support HTTPS connections in a region or service that is not supported by ACM. IAM securely encrypts your private keys and stores the encrypted version in IAM SSL certificate storage. IAM supports deploying server certificates in all regions, but you must obtain your certificate from an external provider for use with AWS. You cannot upload an ACM certificate to IAM. Additionally, you cannot manage your certificates from the IAM Console.
Removing expired SSL/TLS certificates eliminates the risk that an invalid certificate will be deployed accidentally to a resource such as AWS Elastic Load Balancer (ELB), which can damage the credibility of the application or website behind the ELB. As a best practice, it is recommended to delete expired certificates and migrate certificate management to AWS Certificate Manager (ACM) where supported.
NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance.
Solution
From Console:
Removing expired certificates via the AWS Management Console is not currently supported. Use the CLI to delete IAM-stored certificates.
From Command Line:
- Run the following command to delete an expired certificate:
aws iam delete-server-certificate --server-certificate-name <CERTIFICATE_NAME>
- A successful command returns no output
Impact:
Deleting certificates may impact applications if expired certificates are still in use by services such as Elastic Load Balancing or CloudFront. Ensure services are updated to use valid certificates before removal. Migrating certificates from IAM to ACM may require updates to associated resources.