postfix反垃圾设置

本文详细介绍了如何使用Postfix进行反垃圾邮件设置,包括smtpd_client_restrictions、smtpd_helo_restrictions、smtpd_sender_restrictions等多个字段的配置,以及reject_rbl_client、reject_rhsbl_client等限制条件的使用。通过设置访问表和检查策略,如check_client_access、check_sender_access等,实现对SMTP连接、HELO、邮件头和内容的严格控制,有效阻止垃圾邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

垃圾过滤字段:

smtpd_client_restrictions : SMTP链接,可依据客户端的IP或者主机名判断是reject还是accept

smtpd_helo_restrictions : HELO 显示送信方的主机名,可依据它判断是reject还是accept

smtpd_sender_restrictions : MAIL FROM 寄信人的邮件地址,可据此添加限制条件

smtpd_recipient_restrictions : RCPT TO 收件人的邮件地址,可据此添加限制条件

smtpd_data_restrictions : DATA  表示下面要发邮件

header_checks : TO *** FROM *** SUBJECT ***  邮件头限制条件

body_checks : content  邮件内容限制条件

SMTP对话过程中的各个阶段,如果都过,postfix收下邮件。

限制条件与接收检查的信息:

reject_rbl_client :客户端IP倒置后与RBL(实时黑名单)网域名称构成主机名称向DNS查询,若有(已经在黑名单中) 拒绝

reject_rhsbl_client  rblprovider.domain: 如果客户端的主机名在指定的网域rblprovider下有记录 拒绝

reject_unknown_client : 在SMTP client 通过socket建立连接时,postfix在DNS中查不到客户端IP对应的PTR记录(IP地址在DNS系统登记的主机名)+反向查找, 拒绝(unknown_client_reject_code(450))。

 

check_client_access type : mapname :DNS查出客户端IP地址的完整主机名之后去表中对照完成动作。

permit_naked_ip_address :

reject_invalid_hostname : 如果HELO命令提供的主机名无效 拒绝。invalid_hostname_reject_code默认501

reject_non_fqdn_hoshname :HELO命令不是RFC要求的完整主机名 拒绝(non_fqdn_reject_code(504))。

reject_unknown_hostname : HELO提供的主机名没有DNS A记录也没有MX记录 拒绝(unknow_hostname_reject_code 450),一般不是完整形式会被拒绝。

 

check_helo_access type:mapname :对比客户端在HELO命令中显示的主机名去表中对照完成动作。

reject_non_fqdn_sender : MAIL FROM寄信人地址的网域部分不是RFC要求的完整形式 拒绝(non_fqdn_reject_code(504))

reject_rhsbl_sender rblprovider.domain :收件人邮件地址在rblprovider.domain网域下有记录 拒绝

reject_unknown_sender_domain : MAIL FROM提供的邮件地址网域部分DNS A 或者MX无效 拒绝

一、数据前过滤   数据前过滤是指在smtp会话中,data指令发送前进行的过滤。在这个阶段,有四种不同子阶段的过滤:smtp连接时过滤、helo/ehlo指令过滤、mail from指令过滤和rcpt to指令过滤。根据这四个子阶段接收到的信息的不同,他们也分别称作smtp客户端限制、helo/ehlo主机名限制、发送者地址限制和接收者地址限制。   过滤默认是在rcpt to指令后生效的,这是因为一些windows上的邮件客户端不处理在rcpt to指令前的过滤动作。能通过将smtpd_delay_reject设置为no来使过滤动作即时生效。这个参数还影响了在不同的指令上能使用的过滤规则参数。   1、过滤规则   这四个子阶段的过滤是分别通过四个设置语句来指定过滤规则的。他们都接收一系列的规则参数列表,参数间能用空格或逗号分隔开。在默认状态下smtpd_delay_reject的值是yes,他们能接受所有支持的规则,不过需在rcpt to指令后才能全部生效;如果把smtpd_delay_reject设置为no,他们只能接受五个公共的规则参数、之前子阶段的过滤规则参数和该子阶段的规则参数。   他们接受的公共的规则参数如下: o permit 允许该连接进行。该规则通常置于规则列表的最后面使规则更清晰。 o defer 通知客户端目前不能继续会话,稍后再进行smtp连接请求。这常用于服务器需要进行一些dns检查,不过(由于dns查询超时)没有及时获得结果时,通知客户端稍后再进行连接。该规则通常置于规则列表的最后面使规则更清晰。 o reject 拒绝该连接请求。在这个阶段就断开了连接,有效的节约了垃圾邮件造成的带宽和处理能力的浪费。该规则通常置于规则列表的最后面使规则更清晰。 拒绝动作默认不会在匹配了拒绝规则后就即时断开连接,而是在rcpt to指令处理完之后再断开的,这是由于一些windows上有缺陷的邮件程式不处理在rcpt to指令前的发回的拒绝状态码。能通过smtpd_delay_reject设置为no来即时发送拒绝状态码断开连接。 reject_code指定了拒绝的返回状态码(默认是554)。 o warn_if_reject 改动其后规则的拒绝动作为警告,即如果其后存在满足拒绝的条件,并不实际拒绝,而是发出一条警告信息(reject_warning)到日志文件中(通常是/var/log/maillog)。他常用于在实际运行的邮件服务器上测试邮件过滤规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值