简介
本文档介绍如何配置 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
相关信息