Rootop 服务器运维与web架构

Foxmail无法连接EMOS邮件服务器(fail2ban)排错实例

| 暂无评论

       案例摘自网络:

       公司用的是EMOS 邮件服务器(内网IP:192.168.10.5,端口25、110映射到外网) postfix+extmail 公司使用邮件的员工在80人左右,都是用foxmail收发邮件,之前系统一切正常,最近出现一个很奇怪的问题:foxmail会突然连接不上邮件服务器,连接超时,发送邮件正常。

所有foxmail客户端的POP3、SMTP地址用的都是公司外网地址,出现问题后,我把foxmial的POP3地址该为内网地址192.168.10.5,收取正常。之后,我通过telnet命令分别连接邮件服务器的25 110端口,telent+内网IP+端口 一切正常
telnet+外网IP+端口 25端口正常 110端口连接不上。

路由映射正常,邮件服务器出现这个问题后,重启路由解决不了,只能重启邮件服务器,然后一切恢复正常,但是过一段时间(大约6小时不等,时间或短或长),又会重复出现无法接收邮件的情况 。个人设想是邮件服务器POP3端口的问题!

     分析一下:

      在EMOS服务器中,有一个组件为fail2ban,其在服务器中起到了屏蔽ip的作用,当来自于同一个ip经过多次身份验证错误的时候,fail2ban会自动将其加入到iptables,过滤掉,在配置文件中指定的时间之后可以自动解封。经过fail2ban的过滤,那么我们的ssh、pop3 服务会更安全,它防止了一定程度的暴力破解。

参考下:http://www.rootop.org/?p=603

     以上故障可以看出,telnet emos服务器内网IP的25  110 端口没有任何问题,说明端口、服务运行正常。

telnet emos 服务器外网IP的25 端口没问题,110出现无法连接。众所周知110端口用来接收邮件,在此期间还用于传递身份验证信息。到此我们应该想到,传递身份验证信息的时候,如果遇到有密码错误呢?对,fail2ban开始起作用了,当达到fail2ban中定义的错误次数时,此ip就被加入到iptables中直接拒绝掉,记住,fail2ban是对服务进行过滤,所以不会对其它端口造成影响。

     因为案例中公司员工都是通过外网来访问网络边缘设备的外网ip所映射到的服务器,只要公司员工邮箱有身份认证错误,那么公司网络出口设备上的外网ip会被fail2ban封掉,导致全部不能上,重启网络设备无效是正确的,重启服务器,等于重启fail2ban服务,解除封锁的ip,即可恢复正常。

最有效的方法为,在fail2ban中添加公司出口ip,忽略掉此ip即可。

编辑fail2ban的配置文件/etc/fail2ban/jail.conf

在 [DEFAULT] 全局配置中的ignoreip选项中添加被放行的ip地址:
ignoreip = 127.0.0.1 172.17.1.218

参考  fail2ban添加ip地址白名单 :

http://www.rootop.org/?p=880

      还有一种情况需要注意下,如果在服务器前端有其它的网络设备,会转换源ip地址为网络设备的内网ip地址的话,那么需要添加网络设备内网ip到白名单。

比如深信服的AD5500(Ver3.0版本)负载均衡器,就会转换客户端源ip地址为AD设备的内网ip,在服务器中看到的来源ip都是来源于AD的内网ip。或者是配置AD,传送源ip到服务器。

原创文章,转载请注明。本文链接地址: http://www.rootop.org/pages/890.html

作者:Venus

专注于 服务器运维与web架构 E-mail:venus#rootop.org

发表评论