Search for Well Architected Advice
< All Topics
Print

Enforce encryption in transit

Enforcing encryption in transit is essential to protect sensitive data during transmission, particularly when data moves between different networks, including public and untrusted networks. Implementing strong encryption protocols ensures that data remains confidential and secure, meeting organizational, legal, and compliance requirements. Encryption should be enforced for all communications involving sensitive data, both within your VPC and externally, to maintain data privacy and protect against interception or unauthorized access.

  1. Define and enforce encryption policies: Establish encryption requirements for data in transit based on your organization’s policies, regulatory obligations, and compliance standards. This may include specifying which protocols, encryption algorithms, and key management practices should be used for different types of data. Enforce these requirements consistently across your environment to maintain compliance and security.
  2. Use strong encryption protocols for all communications: Ensure that all data transmitted between systems, both within and outside of your virtual private cloud (VPC), is encrypted using strong encryption protocols such as TLS 1.2 or TLS 1.3. Avoid older or deprecated protocols like SSL or unencrypted HTTP, as they may have known vulnerabilities. Configure services such as Amazon CloudFront, Amazon RDS, and Elastic Load Balancing to use only strong encryption protocols for all communications.
  3. Enforce encryption for public data transmissions: When transmitting data outside of your VPC (e.g., over the internet or between AWS regions), always enforce the use of encryption to protect data against interception or unauthorized access. Use AWS Certificate Manager (ACM) to manage and provision TLS certificates for encryption, ensuring that data transmitted over public networks is encrypted and secure.
  4. Use VPNs and AWS PrivateLink for internal encryption: For internal data transmissions between VPCs or between your on-premises environment and AWS, use Virtual Private Network (VPN) connections or AWS Direct Connect with encryption to secure data in transit. AWS PrivateLink can also be used to securely access services over private connections, keeping data encrypted as it traverses AWS’s internal network.
  5. Enforce HTTPS and disable insecure protocols: Ensure that HTTPS is used for all web-based communications, replacing HTTP where applicable. Use AWS services like Amazon CloudFront and Elastic Load Balancing to enforce HTTPS connections for all client communications, ensuring that data is encrypted in transit. Disable insecure protocols such as HTTP, FTP, or other plaintext protocols to prevent accidental transmission of sensitive data without encryption.
  6. Implement mutual TLS (mTLS) for sensitive data transfers: For highly sensitive data, consider implementing mutual TLS (mTLS), which requires both client and server to authenticate each other using certificates. mTLS provides an added layer of security for data in transit, ensuring that both ends of the communication are trusted.
  7. Enforce encryption within your VPC: Even when data is transmitted within a VPC, consider enforcing encryption to add an additional layer of security. Use AWS Key Management Service (KMS) to manage encryption keys and enforce policies that require encrypted communication between services within your VPC.
  8. Monitor compliance with encryption policies: Use AWS Config and AWS Security Hub to continuously monitor and enforce compliance with your encryption policies. Set up AWS Config rules to check for services that may be transmitting data without encryption, such as S3 buckets without SSL or insecure API endpoints. Automatically remediate any non-compliant resources to maintain data security.

Supporting Questions:

  • How do you enforce encryption for all data transmissions, including those within and outside of your VPC?
  • What encryption protocols and standards do you require for transmitting sensitive data?
  • How do you monitor and ensure compliance with encryption in transit policies?

Roles and Responsibilities:

Cloud Security Engineer:

  • Responsibilities:
    • Define encryption policies for data in transit based on organizational and regulatory requirements.
    • Configure AWS services to enforce strong encryption protocols for all communications, ensuring compliance with security standards.

Cloud Administrator:

  • Responsibilities:
    • Use AWS Certificate Manager (ACM) to manage TLS certificates and enforce HTTPS for all web-based services.
    • Monitor compliance with encryption policies using AWS Config and Security Hub, ensuring that data transmissions are always encrypted.

Artefacts:

  • Encryption in Transit Policy Documentation: Documentation detailing the encryption requirements, protocols, and standards to be used for data in transit, as well as the regulatory compliance requirements.
  • Access Logs and Compliance Reports: Logs from AWS Config and Security Hub detailing the compliance status of encryption for all services and resources that transmit data.
  • Encryption Implementation Guidelines: Guidelines outlining how encryption is implemented for different services, including examples for configuring HTTPS, VPNs, and mutual TLS (mTLS).

Relevant AWS Services:

AWS Certificate and Encryption Management:

  • AWS Certificate Manager (ACM): Manages and provisions TLS certificates for encrypting data in transit. ACM automates certificate issuance, renewal, and revocation to maintain secure communications.
  • AWS Key Management Service (KMS): Manages encryption keys for use in encrypting data in transit within your AWS environment, ensuring strong and consistent encryption.

Networking and Security Tools:

  • Amazon CloudFront and Elastic Load Balancing (ELB): Configures HTTPS connections for web-based services, ensuring data transmitted over public and internal networks is encrypted and secure.
  • AWS VPN and AWS Direct Connect: Provides encrypted communication between on-premises environments and AWS, ensuring secure transmission of data across hybrid environments.
  • AWS PrivateLink: Enables private communication between VPCs and services, keeping data encrypted as it traverses AWS’s internal network, thus maintaining data confidentiality.

Monitoring and Compliance Tools:

  • AWS Config: Monitors the compliance status of your encryption policies, providing alerts and remediation for any non-compliant resources that are not encrypting data in transit.
  • AWS Security Hub: Aggregates security findings across AWS services, helping validate compliance with encryption standards and best practices for data in transit.
  • AWS CloudTrail: Logs access attempts and API calls, providing visibility into encryption activities and monitoring compliance with data transmission policies.
Table of Contents