很多老站长都知道,只要网站使用了SMTP发信,无论加了多少层CDN,都会暴露我们的源IP,这样就会被有心人利用了!关于如何暴露的,在邮件界面查看邮件原文即可!
那我们如何隐藏呢?有两种方法,一个是集成第三方邮件代发,技术成本较高,不推荐,需要了解的可以前往张戈博客了解,第二个就是今天技术宅提供的方法,使用Haproxy轻松解决SMTP发信服务器源IP暴露问题!
什么是Haproxy
Haproxy
是一款功能强大、灵活好用反代软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持cookie
track
, header rewrite
等等),支持双机热备,支持虚拟主机,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, Haproxy
会自动将该服务器摘除,故障恢复后再自动将该服务器加入;同时还提供直观的监控页面,可以清晰实时的监控服务集群的运行状况。
安装前准备
找一台服务器作为中转服务器,并且在中转服务器中安装Haproxy
,并且需要将邮箱发送的端口加入服务器安全组或者服务器防火墙,比如技术宅使用的是465,就将465加入中转服务器的安全组策略,或者服务器本地防火墙中!
安装Haproxy
在中转服务器中安装Haproxy
:
yum -y install haproxy
将/etc/haproxy/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 182.254.34.125 maxconn 204800
#这里的IP需要改成SMTP地址的IP,ping一下SMTP域名即可得到地址
上面的代码中国,bind
表示邮件端口,如果你是用的是25
,请改为25
,并将25
端口加入中转服务器的安全组策略或者防火墙!182.254.34.125
是 smtp服务的IP,在服务器中ping一下即可取得!
以上配置完成后,重启Haproxy
并设置为开机启动:
service haproxy restart
chkconfig haproxy on
然后登陆我们的web服务器,把SMTP地址写进/etc/hosts文件,并且指向中转服务器的IP。这里技术宅使用的是腾讯的企业邮箱,那么他的SMTP地址应该是smtp.exmail.qq.com
:
106.58.21.13 smtp.exmail.qq.com
//106.58.21.13为中转服务器IP
重启中转服务器网络,
service network restart
这样我们就能成功解决SMTP发信服务器源IP暴露问题,这里技术宅需要说的是,配置过程和简单,但是容易出错是忘记开放中转服务器的端口,所以很多人配置完后不能成功发信!技术宅也是折腾很久才想到需要配置安全组策略,毕竟转发的端口也需要加白是更古不变的道理!