使用haprxoy转发隐藏SMTP发邮件暴露服务器源IP的方法 为什么要隐藏服务器源ip呢,广大站长朋友们应该遇到过网站被攻击 如最常见的cc、ddos等。 cc攻击可以通过使用cdn来解决,国内比较好的免费cdn有百度云加速、360网站卫士、云盾等(我全在黑名单中。。。) 国外比较有名的免费cdn cloudflare.com(我目前用的)。虽然用cdn不能完全解决cc 不过能抵挡很多菜鸟了。 ddos攻击是要服务器源ip的,上cdn后源ip没那么容易找了,如果网站要发邮件就会暴露服务器源ip从而被攻击。 好了,废话不多说了 开始进入正题: SMTP发信会暴露网站服务器的IP(即使用了CDN),如何隐藏服务器源IP呢 一.使用第三方API(如:sendcloud)发信等方法 二.使用haproxy来端口转发。 这里说的就是第二个方法 使用haprxoy转发来隐藏SMTP发信服务器源IP 需要找一台机器做中转服务器,安装Haproxy 我用的centos系统安装很简单 1.直接yum -y install haproxy就行。 yum -y install haproxy 2.清空haproxy.cfg文件内容 cd /etc/haproxy/ > haproxy.cfg 3.把下面的内容写入到haproxy.cfg文件中 global ulimit-n 51200 defaults log global mode tcp option dontlognull timeout connect 1000ms timeout client 150000ms timeout server 150000ms listen status bind 0.0.0.0:1080 mode http log global stats refresh 30s stats uri /admin?stats stats realm Private lands stats auth admin:password stats hide-version frontend ssin bind *:465 #如果是普通模式,那这里就填25,如果是SSL模式,就需要填465 default_backend ssout backend ssout server server1 11.22.33.44 maxconn 204800 #这里的IP(11.22.33.44)需要改成SMTP地址的IP,ping一下SMTP域名即可得到地址 4.修改完成后,执行重启命令,并设为开机启动 service haproxy restart chkconfig haproxy on 5.修改WEB服务器上的hosts文件,把smtp地址写进/etc/hosts文件,指向中转服务器的IP。 这里使用的是腾讯企业邮箱,它的SMTP服务器域名就是:smtp.exmail.qq.com 然后编辑/etc/hosts文件 [root@aeys ~]# vim /etc/hosts 127.0.0.1 localhost ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 22.33.44.55 smtp.exmail.qq.com #22.33.44.55就是中转服务器的IP 6.修改完成后,执行 service network restart 重启网卡即可。 service network restart 测试发信,看看邮件原文里源站IP变成了中转的服务器没有。 |