使用邮件推送有什么用?为什么要使用邮件推送来隐藏源站服务器IP呢?
先说结论,邮件推送功能能够很好的保护你的源站服务器安全!
非常多的企业网站和个人站长没有安全防护意识,不知道什么时候就已经泄露了自己的源站服务器IP,心想着明明自己已经为域名购买了安全的防护CDN为什么还是有攻击者能够攻击到自己的源站服务器,导致域名被CC攻击让CPU、内存超负荷而堵塞,甚至是被DDOS攻击导致服务器被黑洞牵引业务无法正常运营。
这里就有可能是你们网站平台的邮件发送功能泄露了你们的服务器真实IP!我们首先来看下邮件发送的工作原理和服务器IP通过邮件发信功能泄露的核心原因:
一、邮件发送的工作原理
邮件发送基于SMTP协议(Simple Mail Transfer Protocol),流程如下:
- 发件人提交邮件:用户通过客户端(如Outlook、网页邮箱)将邮件发送到发件方的SMTP服务器。
- 服务器解析收件方地址:发件方服务器通过DNS查询收件方域名的MX记录(Mail Exchange),找到收件方的邮件服务器地址。
- 服务器间传输:发件方服务器通过SMTP协议与收件方服务器建立连接,传输邮件。
- 收件方投递:收件方服务器将邮件存入收件人的邮箱(如通过POP3/IMAP协议)。
二、IP泄露的常见原因
1. 邮件头(Header)中的Received字段
- 原因:每台转发邮件的服务器会在邮件头中添加
Received
字段,记录经过的服务器IP。如果发件服务器未隐藏内部IP或未过滤敏感信息,公网IP可能被泄露。 - 示例:
Received: from [内部IP] (mail.example.com [公网IP])
2. 直接连接暴露IP
- 如果发件服务器直接连接收件方服务器(而非通过中继服务),收件方会记录发件服务器的公网IP。
3. Webmail的特殊情况
- 通过网页邮箱(如Gmail)发送邮件时,邮件通常由邮箱提供商的服务器转发,IP不会泄露。但某些自建Webmail系统可能直接在邮件头中嵌入服务器IP。
4. 第三方邮件中继配置不当
- 使用第三方中继服务(如SendGrid)时,若未正确配置SPF/DKIM记录,可能暴露原始服务器IP。
5. 网络层泄露
- 如果邮件服务器直接暴露在公网,攻击者可通过反向DNS查询、Telnet测试25端口等方式获取IP。
6. 邮件内容嵌入资源
- 邮件中的图片、链接等资源若直接引用服务器上的文件(如
<img src="http://服务器IP/image.jpg">
),会暴露IP。
解决方案
上面大家也清楚的知道了邮件发送时会附带发送邮件服务器的公网IP,本案例中使用的是腾讯云的邮件推送功能作为演示,当做我们邮件服务器的中转服务器。让所有邮件先发送至腾讯云的邮件服务器再由腾讯云的邮件推送功能进行变更发信服务器公网信息发送至用户手中,这样就能够解决我们发信服务器的公网IP泄露问题。
大家不必担心腾讯云的邮件推送功能费用问题,这里都已经帮大家查询过了计费方法,大致如下:
腾讯云邮件推送费用
每位用户享受1000封免费测试,超过免费额度的发送将会根据实际使用量计费。
按量付费计费说明
日结后付费的方式,根据实际使用量按日结算,单价为0.0019元/封。
附带腾讯云官网的价格说明页面:邮件推送价格说明
好了,其他闲话咱们也是不多说了,下面就正式进入教程正文;
一、开通腾讯云邮件推送功能
腾讯云邮件推送产品页:https://cloud.tencent.com/product/ses
二、配置发信域名
点击 确认开通 后,就会跳转到邮件推送的概览页面,这时候需要我们配置我们的发信域名(邮件配置 - 发信域名 - 新建发信域名)
提交成功后列表中就会出现我们刚刚添加的域名,这时候我们去验证我们的域名所有权。
点击验证后会弹出一个验证提示页面,可以看到下面需要我们完成其中的MX验证、spf验证、DKIM验证、DMARC验证。
这时候我们返回到域名的解析页面,添加1个MX解析记录和3个TXT解析记录来完成验证。
这时候我已经在我的域名中按照腾讯云的邮件推送验证页面所提示的内容添加好了这四个验证解析记录,因为我们的TTL是10分钟,意味着我们的域名生效时间大概是10分钟左右。我们可以等待10分钟左右去验证页面提交验证查看是否成功。
等待我们的发信域名验证通过后,我们就可以添加我们的发信地址了。发信地址正是我们网站发信功能所需要的必要配置信息。
三、配置发信地址
我们新建一个发信地址(腾讯云控制台 - 邮件推送 - 邮件配置 - 发信地址 - 新建)
新建好了发信地址后我们设置一个SMTP密码用于我们网站调用这个发信地址。
密码设置完成后,我们就可以正常使用我们的邮件推送功能啦!只需要我们正确配置我们的发信服务器即可,发信服务器配置示例如下:
邮件编码:utf-8
SMTP 端口:465
SMTP 主机庙:gz-smtp.qcloudmail.com
SMTP 用户名:admin@mail.antsidc.com(这里填写自己刚刚新建的发信地址)
SMTP 密码:123456(这里填写自己刚刚设置的SMTP密码)
SMTP SSL类型:ssl(需要选择ssl,否则会发信失败)
系统邮件名:蚂蚁网络(这里就是刚刚设置的别名,也是你想让收件人看到的发件人名称)
系统邮箱名:admin@mail.antsidc.com(这里填写自己刚刚新建的发信地址)
设置完成后,我们测试发送一封邮件看看。
可以看到我们成功收到了腾讯云的推送邮件,并且发送人就是我们刚刚设置的发信地址!
到这一步就大功告成了,恭喜你,在蚂蚁网络这里学会了一个新的安全小知识!
标签:
- 黑蚁网络
- 腾讯云