Chinaunix

标题: postfix 服务器搭建的邮件服务器总是对外转发垃圾邮件 [打印本页]

作者: adayyywww    时间: 2015-04-09 19:21
标题: postfix 服务器搭建的邮件服务器总是对外转发垃圾邮件
最近发现公司的邮箱服务器总是不停的对外转发垃圾邮件,用mailq查看队列里的信息如下:
3F7F7A1DFED5*     680 Thu Apr  9 18:52:42  huw@xxxxx.com
                                         bravoflavio52@gmail.com
                                         bravofox016@hotmail.com
                                         bravogirls24@gmail.com
                                         bravohgt@outlook.fr
                                         bravoijesus@hotmail.com

35508A1DFE9C*     685 Thu Apr  9 18:52:34  huangrujia@xxxx.com
                                         boeckernino@yahoo.de
                                         boecon@aol.com
                                         boeddha4life@hotmail.com
                                         boedean_1@yahoo.com
                                         boeder-1@web.de

而且这些人的邮箱里总是收到N多条退信信息,证明这些邮件确实已经发出去了。 以下是我的main.cf的配置信息,麻烦各位指导一下问题所在,并指导一下该如何解决,万分感谢!!


myhostname = mail.xxxxx.com
mydomain = xxxxx.com
myorigin = $mydomain
mydestination = $mydomain,$myhostname
mynetworks_style = host

alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

home_mailbox = Maildir/
mailbox_transport = cyrus
fallback_transport = cyrus
virtual_maps = hash:/etc/postfix/virtual,mysql:/etc/postfix/virtual.mysql
content_filter = amavis:127.0.0.1:10024

message_size_limit=104857600
mailbox_size_limit=0
virtual_mailbox_limit=0

smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    check_recipient_access mysql:/etc/postfix/filter.mysql,
    reject_invalid_hostname,
    reject_non_fqdn_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_sender,
    reject_non_fqdn_recipient,
    reject_unknown_recipient_domain,
    reject_unauth_pipelining,
    reject_unauth_destination,
    permit
作者: cryboy2001    时间: 2015-04-10 09:48
行要确认这些发mail的账号是不是你公司的正常账号,如果是则查看一下,是不是客户端有病毒或其它问题。
如果不是,则要看看是被人做了垃圾邮件中转,或入侵,可以在发邮件时要求认证。
作者: adayyywww    时间: 2015-04-10 10:13
回复 2# cryboy2001


    老大总算回复了,里面有些账号是我公司邮箱账号,有些又不是,可以确认客户端是没有问题的。 现在无法确认是被中转还是入侵,smtp认证有开启的这个测试过了。
作者: cryboy2001    时间: 2015-04-10 10:37
mailq是查找的队列,可以查一下日志,看看是来自内网,还是外网。
看看详细的过程。

下面是用来认证可以发邮件的
smtpd_recipient_restrictions =
     permit_mynetworks,
     permit_sasl_authenticated,
     check_recipient_access mysql:/etc/postfix/filter.mysql,
     reject_invalid_hostname,
     reject_non_fqdn_hostname,
     reject_unknown_sender_domain,
     reject_non_fqdn_sender,
     reject_non_fqdn_recipient,
     reject_unknown_recipient_domain,
     reject_unauth_pipelining,
     reject_unauth_destination,
     permit  #为什么要加这一个permit,删除试试
作者: cryboy2001    时间: 2015-04-10 11:04
是的,你这等于不用登录就可直接发邮件

[root@mail ~]# telnet 192.168.0.8 25
Trying 192.168.0.8...
Connected to 192.168.0.8.
Escape character is '^]'.
220 mail.xxxxmail.com.cn ESMTP Postfix
HELO xxxxmail.COM.CN
250 mail.xxxxmail.com.cn
mail from:<chen@xxxxmail.com.cn>
250 2.1.0 Ok
rcpt to:<chen@xxxxmail.com.cn>
553 5.7.1 <chen@xxxxmail.com.cn>: Sender address rejected: not logged in
正常要登录后才能发邮件,上面的测试就是没登录。
作者: cryboy2001    时间: 2015-04-10 14:47
mail服务器配制比较复杂,要有多个软件的配合,要多看日志细心的测试才会成功。

如果是在用的邮件服务器,先不要动,改成用网络地址来认证能不能发邮件。

再做一台测试,成功后再改。

作者: btfomeao    时间: 2015-04-15 09:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: woxizishen    时间: 2015-04-15 14:32
本帖最后由 woxizishen 于 2015-04-15 14:37 编辑

1.现在暴力破解POP3/smtp邮件账号的软件太多了。如果你没有机制防止暴力破解,账号的密码设置过于简单,被垃圾邮件发送者破解是很正常的,网易和QQ都没办法呵呵,协议的问题没办法。
1.1 首先查看日志,看看最近有没有有异常ip多次尝试sasl登陆,如果要上千次,证明是有人想破解你内部的账号,只要你的邮箱对外,肯定是有人会去尝试破解的。我有设定脚本每天都有邮件发给我整理好的日志,发现最高的时候有人尝试破解7000次。对付这些垃圾邮件发送者不是没办法,是有的,就是当这些垃圾邮件发送者破解超过多少次就断开他连接甚至永久屏蔽。这是很多初级人员使用第三方工具进行暴力破解。我也特意下载过这些暴力破解密码软件(知己知彼,才能根除问题),破解网易和QQ的都是没问题的只是时间的长短。

2.上面说了一堆,下面看重点的了
2.1 首先将收到退信用户(被其他人远程登录过,自己看日志记录)的密码全部更改成10位数以上英文+大小写+数字,一来防止再被利用发垃圾邮件,二来可以防止一般的暴力破解软件再次破解。
2.2 为了从根源彻底杜绝暴力破解,使用Fail2ban防止恶意用户穷举邮件系统账号密码。

2.3有些不是,其实它就是,只是冒充了名称而已,让一般的邮件管理员不清楚,听我的改密码!将所有收到退信的用户密码全部更改成强壮的密码!

(备注:严格要求禁止公司的用户使用公司邮箱去注册论坛等等!你懂得!不想收垃圾邮件,就得从源头做起,垃圾邮件发送者想发垃圾邮件,首先就得收集邮箱地址,虽然可以用探查方法得知邮件服务器邮箱地址,但不是所有垃圾邮件发送者都会的)
作者: adayyywww    时间: 2015-04-15 16:34
谢谢楼上的 版主给的意见,我的还是服务器main.cf配置的问题,因为没有从服务器端解决不用登陆就能发邮件的问题,不是个别邮箱对外转发垃圾邮件,而是一大片的邮箱。
作者: woxizishen    时间: 2015-04-16 08:03
本帖最后由 woxizishen 于 2015-04-16 08:07 编辑

回复 11# adayyywww

你前面回复中,没仔细看,只看你有说明smtp认证有开启的这个测试过了,外部的用户没有账号和密码不可能能够发送邮件进来了。

不过后来看了smtpd_recipient_restrictions最后加了一个permit ,那我前面讲的内容就和这个没关系了,因为SMTP认证当中的收件人转发规则你并没有配置正确。



   
作者: adayyywww    时间: 2015-04-16 16:13
permit规则我已经去掉了,但是没有从根本上解决问题。
[root@mail ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.xxxxx.com ESMTP Postfix
HELO
501 Syntax: HELO hostname
mail from:<yw@xxxxx.com>
250 Ok
rcpt to:<yw@xxxxx.com>
250 Ok
如上 没有登录就直接可以发送邮件
这个原因应该是和 没有启用 smtpd_sender_login_maps   这个参数有关系吧?
作者: c3po    时间: 2015-04-16 16:31
强制登录后才能发邮件,不然就是垃圾邮商的羔羊!
作者: adayyywww    时间: 2015-04-16 16:47
回复 14# c3po


    强制登陆才能发邮件 是具体哪个策略呢?    smtpd_sender_login_maps  是这个参数吗?
作者: c3po    时间: 2015-04-16 17:04
adayyywww 发表于 2015-04-16 16:47
回复 14# c3po

这个应该是禁止冒名伪装身份发送邮件的,可以在一定程度上组织垃圾邮件转发,不能冒名就很容易被识别出来。
http;;//shani.blog.51cto.com/1153831/363788
看下这个文章。
很久没碰PostFix了
作者: qimark1986    时间: 2015-04-16 21:22
打酱油的路过了呵呵,飘了
作者: bruno_ferrara    时间: 2015-04-23 17:12
过来学习下,亲,你提供的东西真好!!
作者: he1889262468988    时间: 2019-04-10 15:01
请问您这个问题解决了吗,我最近也遇到类似的问题,还是没有解决,感觉好无力,敬请回复,谢谢!

作者: he1889262468988    时间: 2019-04-10 15:02
请问您这个问题解决了吗,最近遇到这一样的问题,还是没解决,很无力,请指导,谢谢!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2