文章出处:
现象:
/var 空间经常被占满,经检查是 /var/log/maillog 和 /var/spool/postfix/ 占用了大量空间。
手工清空 /var/spool/postfix/ 目录的 active/、defer/ 、deferred/、incoming/ 等目录后,很快又有大量邮件进来。
postqueue -p 显示结果有大量记录,一直在不停刷屏。都是 的信,mail.mambors.com 是服务器名称,但不是邮局域,www 应该是 apache 用户,按理说 是不存在的email地址,可为何这么多发信记录啊?
分析并解决:
经 hzqbbc 老大指点,怀疑是黑客程序利用网站的漏洞,长期定时批量发垃圾邮件造成的。
老大的建议是屏蔽 php 的 mail 函数的 sendmail 发信方法。我不知道如何在 php.ini 中屏蔽 sendmail, 因为我的php.ini中sendmail一直就是注释掉的,垃圾邮件照发不误。只好采取操作系统的权限控制,呵呵,把 sendmail 权限设置为700,chmod 700 /usr/local/sbin/sendmail。
发现一个问题:在 extmail 的"使用偏好 > 过滤器设置" 中设置 "转发邮件地址" 后,发往该邮箱的信都收不到,转发的目标邮箱也没收到信。
看了下 maillog, 发现:
Oct 19 14:02:02 t1 postfix/pipe[3717]: E7C1E117C7: to=<>, relay=maildrop, delay=0.23, delays=0.08/0.05/0/0.11, dsn=5.3.0, status=bounced (Command died with status 126: "/usr/local/bin/maildrop". Command output: /usr/sbin/sendmail: Permission denied )
提示权限拒绝,说明 maildrop 程序无权使用 sendmail,经不断测试,发现 maildrop 用户组是 vgroup于是设置一下:
chown vuser:vgroup /usr/local/sbin/sendmail
chmod 750 /usr/local/sbin/sendmail
解决思路之二:
见zhqfdn兄之“Postfix SMTP身份验证完整方案解析(解决本地域->To->本地域的邮件伪造)”一文,记得原来摘录并实施过。里面还有一个思路链接。
如果对SMTP,POP3,WEBMAIL 的权限限制,也可以采用这种方法
详见该贴
仅仅是摘录,尚未测试亲验,以后抽空研究一下。
阅读(1311) | 评论(0) | 转发(0) |