8.2. 用于限制 DoS 攻击的 Postfix 配置选项
攻击者可以利用流量处理服务器,或发送触发崩溃的信息,从而实现拒绝服务 (DoS) 攻击。您可以通过在 /etc/postfix/main.cf
文件中设置限制来降低此类攻击的风险。您可以更改现有指令的值,或者您可以以 <directive> = <value>
格式添加具有自定义值的新指令。
使用以下指令列表来限制 DoS 攻击:
smtpd_client_connection_rate_limit
-
限制任何客户端每个时间单位可以尝试的最大连接数。默认值为
0
,这意味着客户端每次时间可以接收 Postfix 允许的最多连接数量。默认情况下,指令会排除可信网络中的客户端。 anvil_rate_time_unit
-
定义计算速率限制的时间单位。默认值为
60
秒。 smtpd_client_event_limit_exceptions
- 从连接和速率限制命令中排除客户端。默认情况下,指令会排除可信网络中的客户端。
smtpd_client_message_rate_limit
- 定义每个时间单位从客户端发送到请求的最大消息数(无论 Postfix 实际是否接受这些消息)。
default_process_limit
-
定义提供给定服务默认的 Postfix 子进程的最大数。对于
master.cf
文件中的特定服务,您可以忽略此规则。默认情况下,值为100
。 queue_minfree
-
定义在队列文件系统中接收邮件所需的最小可用空间量。该指令目前由 Postfix SMTP 服务器使用,以决定是否接受任何邮件。默认情况下,当可用空间量小于
message_size_limit
的 1.5 倍时,Postfix SMTP 服务器会拒绝MAIL FROM
命令。要指定一个更高的最小可用空间限制,为message_size_limit
指定一个至少为queue_minfree
1.5 倍的值。默认情况下,queue_minfree
值为0
。 header_size_limit
-
定义用来存储消息标头的最大内存量(以字节为单位)。如果标头较大,它会丢弃过量标头。默认情况下,值为
102400
字节。 message_size_limit
-
定义包括信封信息的消息的最大大小(以字节为单位)。默认情况下,值为
10240000
字节。