如何配置Postfix防御垃圾邮件
postfix是一个非常优秀的mta,mta的反垃圾邮件功能,实际上就是在mta处理过程中对会话进行过滤。这种过滤不但过滤了发往自身的垃圾邮件,而且还防止了自身被恶意利用发送垃圾邮件。postfix实现了目前所有主要的mta过滤技术。 mta过滤分为两类:邮件数据发送前过滤和邮件数据发送后过滤。 数据前过滤是指在smtp会话中,data指令发送前进行的过滤。在这个阶段,有四种不同子阶段的过滤:smtp连接时过滤、 helo/ehlo指令过滤、mail from指令过滤和rcpt to指令过滤。根据这四个子阶段接收到的信息的不同,它们也分别称作smtp客户端限制、helo/ehlo主机名限制、发送者地址限制和接收者地址限制。 过滤默认是在rcpt to指令后生效的,这是因为一些windows上的邮件客户端不处理在rcpt to指令前的过滤动作。可以通过将smtpd_delay_reject设置为no来使过滤动作立刻生效。这个参数还影响了在不同的指令上可以使用的过滤规则参数。 这四个子阶段的过滤是分别通过四个配置语句来指定过滤规则的。它们都接收一系列的规则参数列表,参数间可以用空格或逗号分隔开。在默认状态下 smtpd_delay_reject的值是yes,它们可以接受所有支持的规则,不过需在rcpt to指令后才能全部生效;如果把smtpd_delay_reject设置为no,它们只可以接受五个公共的规则参数、之前子阶段的过滤规则参数和该子阶段的规则参数。 它们接受的公共的规则参数如下: permit 允许该连接进行。该规则通常置于规则列表的最后面使规则更清晰。 defer 通知客户端现在不能继续会话,稍后再进行smtp连接请求。这常用于服务器需要进行一些dns检查,但是(由于dns查询超时)没有及时获得结果时,通知客户端稍后再进行连接。该规则通常置于规则列表的最后面使规则更清晰。 reject 拒绝该连接请求。在这个阶段就断开了连接,有效的节约了垃圾邮件造成的带宽和处理能力的浪费。该规则通常置于规则列表的最后面使规则更清晰。 拒绝动作默认不会在匹配了拒绝规则后就立刻断开连接,而是在rcpt to指令处理完之后再断开的,这是由于一些windows上有缺陷的邮件程序不处理在rcpt to指令前的发回的拒绝状态码。可以通过smtpd_delay_reject设置为no来立刻发送拒绝状态码断开连接。 reject_code指定了拒绝的返回状态码(默认是554)。 warn_if_reject 改变其后规则的拒绝动作为警告,即如果其后存在满足拒绝的条件,并不实际拒绝,而是发出一条警告信息(reject_warning)到日志文件中(通常是/var/log/maillog)。它常用于在实际运行的邮件服务器上测试邮件过滤规则。 reject_unauth_pipelining 拒绝在postfix支持指令流水线前发送smtp指令流水线的客户端连接。指令流水线是一些邮件客户端为了快速发送邮件所采用的技术。Postfix服务的重启的命令为()
Postfix服务的重启的命令为()正确答案:servicepostfixrestart;
删除 Postfix 邮件队列中的特定邮件
用一个命令组合即可删除 Postfix 邮件队列中的特定邮件。例:
# mailq | awk '/bad_address@bad_domain/{print $1}' | awk -F! '{print $1}' | tr -d '*' | xargs -n 1 postsuper -d
其中bad_address@bad_domain这个字符串根据实际情况修改。注意:邮件地址必须为from的地址
这个命令用到了 awk,tr, xargs 这些命令,很有代表性,因此记录一下。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。