简介
本文档介绍如何配置 Secure Network Analytics Manager (SNA)使用 Amazon Web Services Simple Email Service (AWS SES)。
先决条件
要求
建议掌握下列主题的相关知识:
使用的组件
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
配置
查看AWS SES配置
AWS需要提供三位信息:
- AWS SES位置
- SMTP用户名
- SMTP密码
注意:沙盒中的AWS SES是可以接受的,但请注意沙盒环境的限制:https://docs.aws.amazon.com/ses/latest/dg/request-production-access.html
在AWS控制台中,导航至 Amazon SES,然后选择 Configuration 并点击 Verified Identities.
您必须具有已验证的域。不需要经过验证的邮件地址。请参阅AWS文档https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#verify-domain-procedure

记下SMTP终结点的位置。稍后需要此值。

创建AWS SES SMTP凭证
在AWS控制台中,导航至 Amazon SES,然后单击 Account Dashboard.
向下滚动到“” Simple Mail Transfer Protocol (SMTP) settings"并点击 Create SMTP Credentials 当您准备好完成此配置时。
未使用的旧凭证(约45天)似乎不会错误为无效凭证。
在此新窗口中,将用户名更新为任意值,然后单击 Create.

页面显示凭证时,请保存凭证。保持此浏览器选项卡打开。

配置SNA Manager SMTP配置
登录 SNA Manager,并打开 SMTP Notifications 部分
- Open(未解决)
Central Management > Appliance Manager.
- 单击
Actions 菜单中的设置。
- 选择
Edit Appliance Configuration.
- 选择
General 选项卡。
- 向下滚动到
SMTP Configuration
- 输入从AWS收集的值
SMTP Server:这是从收集的SMTP终端位置 SMTP Settings 从 AWS SES Account Dashboard 页码
Port:输入25、587或2587
From Email:可以将其设置为包含 AWS Verified Domain
-
User Name:这是在中最后一步显示的SMTP用户名 Review AWS SES Configuration 部分
-
Password:这是SMTP密码,该密码在中的最后一步出现。 Review AWS SES Configuration 部分
Encryption Type:选择STARTTLS(如果选择SMTPS,请将端口编辑为465或2465)
- 应用设置并等待
SNA Manager 返回到 UP 状态 Central Management

收集AWS证书
建立与的SSH会话 SNA Manager,并以根用户身份登录。
查看这三个项目
- 更改SMTP端点位置(例如email-smtp.us-east-1.amazonaws.com)
- 更改使用的端口(例如,STARTTLS的默认端口为587)
- 命令没有STDOUT,完成后将返回提示符
对于STARTTLS(默认端口为587):
openssl s_client -starttls smtp -showcerts -connect email-smtp.us-east-1.amazonaws.com:587 <<< "Q" 2>/dev/null > mycertfile.crt awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cacert" n ".pem"}' < mycertfile.crt for i in `ls -t1 *.pem`; do cp $i $(awk -F "CN=" '/s:/ {gsub(/ /,x ); print $NF}' $i).pem ; done ; rm -f cacert* mycertfile.crt
对于SMTPS(默认端口为465):
openssl s_client -showcerts -connect email-smtp.us-east-1.amazonaws.com:465 <<< "Q" 2>/dev/null > mycertfile.crt awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cacert" n ".pem"}' < mycertfile.crt for i in `ls -t1 *.pem`; do cp $i $(awk -F "CN=" '/s:/ {gsub(/ /,x ); print $NF}' $i).pem ; done ; rm -f cacert* mycertfile.crt
在当前工作目录中创建了具有pem扩展名的证书文件,不采用此目录(pwd命令的输出/最后一行)
sna_manager:~# openssl s_client -starttls smtp -showcerts -connect email-smtp.us-east-1.amazonaws.com:587 <<< "Q" 2>/dev/null > mycertfile.crt
sna_manager:~# awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cacert" n ".pem"}' < mycertfile.crt
sna_manager:~# for i in `ls -t1 *.pem`; do cp $i $(awk -F "CN=" '/s:/ {gsub(/ /,x ); print $NF}' $i).pem ; done ; rm -f cacert* mycertfile.crt
sna_manager:~# ll
total 16
-rw-r--r-- 1 root root 1648 May 27 14:54 Amazon.pem
-rw-r--r-- 1 root root 1829 May 27 14:54 AmazonRootCA1.pem
-rw-r--r-- 1 root root 2387 May 27 14:54 email-smtp.us-east-1.amazonaws.com.pem
-rw-r--r-- 1 root root 1837 May 27 14:54 StarfieldServicesRootCertificateAuthority-G2.pem
sna_manager:~# pwd
/root
下载在上创建的文件 SNA Manager 使用您选择的文件传输程序(Filezilla、winscp等)连接到本地计算机,并将这些证书添加到 SNA Manager trust store 在 Central Management.
- Open(未解决)
Central Management > Appliance Manager.
- 单击
Actions 菜单中的设置。
- 选择
Edit Appliance Configuration.
- 选择
General 选项卡。
- 向下滚动到
Trust Store
- 选择
Add New
- 上传每个证书,建议使用文件名作为
Friendly Name
配置响应管理邮件操作
登录 SNA Manager,并打开 Response Management 部分
- 选择
Configure 选项卡
-
选择 Response Management
-
从 Response Management 页面,选择 Actions 选项卡
-
选择 Add New Action
-
选择 Email
-
为此邮件操作提供名称
-
在“收件人”(To)字段中输入收件人电邮地址(请注意,此地址必须属于AWS SES中验证的域)
- 主题可以是任何东西。

- 点击
Save
验证
登录 SNA Manager,并打开 Response Management 部分:
- 选择
Configure 选项卡
- 选择
Response Management
- 从
Response Management 页面,选择 Actions 选项卡
-
在 Actions 中配置的邮件操作所在行的列 Configure Response Management Email Action 部分,然后选择 Edit.
- 选择
Test Action 如果配置有效,将显示成功消息并发送电子邮件。
邮件信头中的amazonses显示在“ Received“”字段和amazonses,以及 ARC-Authentication-Results (AAR) Chain


- 如果测试不成功,屏幕顶部会显示横幅 — 继续到“故障排除”部分
故障排除
此 /lancope/var/logs/containers/sw-reponse-mgmt.log 文件包含测试操作的错误消息。表中列出了最常见的错误和修复方法。
请注意,表中列出的错误消息只是错误日志行的一部分
| Error |
修复程序 |
| SMTPSendFailedException:554邮件被拒绝:电子邮件地址未验证。身份未通过区域US-EAST-1的检查:{email_address} |
将SNA ManagerSMTP配置中的“从邮件”更新为属于AWS SES验证域的邮件 |
| AuthenticationFailedException:535身份验证凭据无效 |
重复部分“创建AWS SES SMTP凭证和配置SNA Manager SMTP配置” |
| SunCertPathBuilderException:找不到到所请求目标的有效证书路径 |
确认所有AWS提供的证书都位于SNA Manager信任存储中 — 执行测试操作时执行数据包捕获,并将服务器端提供的证书与信任存储内容进行比较 |
| SSL例程:tls_process_ske_dhe:dh密钥太小 |
见增编 |
| 任何其他错误 |
创建TAC案例供审核 |
附录:DH密钥太小。
这是AWS方面的一个问题,因为使用DHE和EDH密码(容易发生堵塞)且SNA Manager拒绝继续SSL会话时,它们会使用1024位密钥。命令输出显示使用DHE/EDH密码时来自openssl连接的服务器临时密钥。
sna_manager:~# openssl s_client -starttls smtp -connect email-smtp.us-east-2.amazonaws.com:587 -cipher "EDH" <<< "Q" 2>/dev/null | grep "Server Temp"
Server Temp Key: DH, 1024 bits
sna_manager:~# openssl s_client -starttls smtp -connect email-smtp.us-east-2.amazonaws.com:587 -cipher "DHE" <<< "Q" 2>/dev/null | grep "Server Temp"
Server Temp Key: DH, 1024 bits
sna_manager:~# openssl s_client -starttls smtp -connect email-smtp.us-east-2.amazonaws.com:587 <<< "Q" 2>/dev/null | grep "Server Temp"
Server Temp Key: ECDH, P-256, 256 bits
唯一可用的解决方法是使用作为SMC上的根用户的命令删除所有DHE和EDH密码,AWS将选择ECDHE密码套件,连接成功。
cp /lancope/services/swos-compliance/security/tls-ciphers /lancope/services/swos-compliance/security/tls-ciphers.bak ; > /lancope/services/swos-compliance/security/tls-ciphers ; echo "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_CCM_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:AES256-GCM-SHA384" > /lancope/services/swos-compliance/security/tls-ciphers ; docker restart sw-response-mgmt
相关信息