最近,我收到了一封来自AWS的电子邮件,其中确定了一些使用AWS SES发送邮件的端点。
We have identified TLS 1.0 or TLS 1.1 connections to AWS APIs from your account that must be updated for you to maintain AWS connectivity. Please update your client software as soon as possible to use TLS 1.2 or higher to avoid an availability impact. We recommend considering the time needed to verify your changes in a staging environment before introducing them into production...
字符串
现在AWS只提供了我的IP地址(这是我的服务器的IP),消息ID和TLS版本。我有多个项目在该服务器上运行,并使用相同的SES发送邮件。
Region | Event | Message ID | Source IP | TLS Version
<region-of-my-aws-account> | SMTP Message | <smtp-message-id> | <ip-address> | TLSv1 |
型
我仍然不确定哪些人使用哪个TLS版本。我想指出我的项目是使用TLS 1.1/1.0
有没有一种方法可以在发送邮件时在日志文件中打印TLS版本?
我的设置如下:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = '<AWS SMTP endpoint>'
EMAIL_HOST_USER = os.getenv('AWS_SES_SMTP_USERNAME')
EMAIL_HOST_PASSWORD = os.getenv('AWS_SES_SMTP_PASSWORD')
EMAIL_USE_TLS = True
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = os.getenv('DEFAULT_FROM_EMAIL')
DEFAULT_TO_EMAIL = os.getenv('DEFAULT_TO_EMAIL')
型
在发送邮件的地方我使用下面的函数
from django.core.mail import send_mail
send_mail(subject=subject, message=message, from_email=settings.DEFAULT_FROM_EMAIL,
recipient_list= settings.PUBLISHERS_EMAIL_RECIPIENT)
型
其中PUBLISHERS_EMAIL_RECIPIENT =['email 1','email 2'...]在设置文件中
关于我的包裹的一些信息:
openssl=1.0.1f (server)
boto3==1.12.48 (venv)
botocore==1.15.48 (venv)
型
我想我的openssl支持tls1.2我只是困惑现在该怎么办。像如何确定和什么更新,以开始使用tls1.2,因为现在我不知道哪个版本的tls正在使用?
如果你能帮忙的话,我将不胜感激。
1条答案
按热度按时间pod7payv1#
我们需要确保后端中的SMTP协议使用TLSv1.2。
Django的核心邮件模块似乎是基于smtplib的。但是您可能需要检查您是否可以设置一些属性或其他内容以在必要时使用TLSv1.2。
我们可以在CloudWatch中看到CloudTrail日志中使用的TLS版本(如果您启用了它们)