Skip to main content

More Info:

The DomainKeys Identified Mail (DKIM) be verified in your SES configuration.

Risk Level

High

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • Cloudanix Best Practice
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • Essential 8
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Using Console

To remediate the misconfiguration of DKIM not being verified in AWS SES using the AWS console, follow these steps:
  1. Sign in to the AWS Management Console:
  2. Navigate to the Identity Management section:
    • In the AWS SES console, on the left-hand side, click on “Identity Management” and then click on “Email addresses”.
  3. Select the domain for which DKIM needs to be verified:
    • Click on the domain for which you want to verify DKIM.
  4. Verify DKIM for the selected domain:
    • Under the “Domain details” section, find the “Domain authentication” tab.
    • Click on the “Verify a new DKIM” button.
    • You will be provided with a set of CNAME records that you need to add to your domain’s DNS settings.
  5. Add DKIM CNAME records to your DNS settings:
    • Login to your domain registrar or DNS hosting provider where your domain is hosted.
    • Add the CNAME records provided by AWS SES to your DNS settings.
    • It may take some time for the DNS changes to propagate.
  6. Verify DKIM after adding CNAME records:
    • Go back to the AWS SES console.
    • Click on the “Verify this record set” button to confirm that the CNAME records have been added correctly.
    • Once verified, the DKIM status for your domain should show as “Verified”.
  7. Monitor DKIM status:
    • Regularly check the DKIM status in the AWS SES console to ensure that it remains verified.
    • If there are any issues, follow the instructions provided in the console to troubleshoot and resolve them.
By following these steps, you can remediate the misconfiguration of DKIM not being verified in AWS SES using the AWS console.

To remediate the misconfiguration of DKIM not being verified in AWS SES using AWS CLI, follow these steps:
  1. List your verified domains by running the following command:
  1. Identify the domain for which you want to enable DKIM verification.
  2. Verify the domain by running the following command:
Replace example.com with your actual domain name.
  1. After verifying the domain, you will receive a set of CNAME records that you need to add to your DNS configuration. These records are used to verify the ownership of the domain.
  2. Add the CNAME records to your DNS configuration with the values provided by AWS SES.
  3. Once the DNS changes have propagated, you can enable DKIM verification for the domain by running the following command:
Replace example.com with your actual domain name.
  1. Verify that DKIM verification is enabled for the domain by running the following command:
Replace example.com with your actual domain name.By following these steps, you can remediate the misconfiguration of DKIM not being verified in AWS SES using AWS CLI.
To remediate the misconfiguration of DKIM not being verified for AWS SES using Python, follow these steps:
  1. Install the AWS SDK for Python (Boto3) by running the following command:
  1. Create a Python script with the following code snippet to enable DKIM verification for your AWS SES domain:
  1. Replace your_domain_here.com with your actual SES domain in the code snippet.
  2. Run the Python script using the command line or your preferred Python IDE.
  3. Verify that DKIM has been successfully enabled for your SES domain by checking the response from the verify_domain_dkim API call.
By following these steps, you can use Python and Boto3 to remediate the misconfiguration of DKIM not being verified for AWS SES.
Substitute:
  • YOUR_VERIFIED_SES_DOMAIN with the SES identity domain (must already be verified as an SES identity).
  • YOUR_ROUTE53_HOSTED_ZONE_ID with the hosted zone that serves DNS for that domain.
Changing the domain will force replacement of aws_ses_domain_dkim.dkim and all associated aws_route53_record.dkim_cname records, which can interrupt DKIM signing for that domain.After terraform apply, it may take up to 72 hours for DNS to propagate and for SES to show the DKIM status as verified.Verification: terraform plan should show creation of one aws_ses_domain_dkim and three aws_route53_record resources (one per DKIM token) with CNAMEs pointing to *.dkim.amazonses.com.

Additional Reading: