机器在阿里云,postfix 误操作成 open relay 了,被扫描到了发了二万封垃圾邮件。
本来 postfix 端口我改在了非 25 端口(为了别的机器的机子能连上,因为有些机房禁连 25 )。运行了几年没事。
每个实例我都有一套监控,通过连本地 25 口发报警邮件。因为这个机子我改了端口,所以这个程序失效了,我也一直没管。
前几天突然想到,随手在机子了打了行命令用 socat 建了个端口转发把 25 端口的流量转到 postfix 所在的端口。(因为 postfix 会信任本地 ip 发来的邮件,所以这个操作不小心绕过了 postfix 的安全检查)
然后今天下午这个机器的监控程序果然生效了,给我发了个报警,我一看内容是这个报警程序本身输出缓冲溢出了。我一脸蒙蔽,这程序在别的机器上都好好的几年了,怎么会出这么怪的错误。且重启也不行。
然后查了下邮件发送队列,我草,滚了好几秒都没滚完。。。
(因为监控程序也会查发送队列,这个队列太大调用内存 output buffer 溢出了)
马上停了 socat,一看已经成功发出 2w 封了。
本来 postfix 端口我改在了非 25 端口(为了别的机器的机子能连上,因为有些机房禁连 25 )。运行了几年没事。
每个实例我都有一套监控,通过连本地 25 口发报警邮件。因为这个机子我改了端口,所以这个程序失效了,我也一直没管。
前几天突然想到,随手在机子了打了行命令用 socat 建了个端口转发把 25 端口的流量转到 postfix 所在的端口。(因为 postfix 会信任本地 ip 发来的邮件,所以这个操作不小心绕过了 postfix 的安全检查)
然后今天下午这个机器的监控程序果然生效了,给我发了个报警,我一看内容是这个报警程序本身输出缓冲溢出了。我一脸蒙蔽,这程序在别的机器上都好好的几年了,怎么会出这么怪的错误。且重启也不行。
然后查了下邮件发送队列,我草,滚了好几秒都没滚完。。。
(因为监控程序也会查发送队列,这个队列太大调用内存 output buffer 溢出了)
马上停了 socat,一看已经成功发出 2w 封了。