Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.3.10. 保护 Postfix

Postfix 是一个邮件传输代理(MTA),它使用简单邮件传输协议(SMTP)在其他 MTA 之间传递电子邮件并通过电子邮件客户端或发送代理。尽管很多 MTA 能够加密彼此之间的通信,但大多数 MTA 都不加密,因此通过任何公共网络发送电子邮件被视为本质上不安全的通信形式。Postfix 在 Red Hat Enterprise Linux 7 中将 Sendmail 替换为默认 MTA。
建议计划实施 Postfix 服务器的任何人都解决以下问题。

4.3.10.1. 限制服务攻击(Denial of Service Attack)

由于电子邮件的性质,确定攻击者可以很轻松地使用邮件填充服务器,并导致拒绝服务。通过设置 /etc/postfix/main.cf 文件中的指令限制,可以限制此类攻击的有效性。您可以更改已存在的指令的值,或者您可以使用以下格式添加您需要的值:
<directive> = <value>
.以下是可用于限制拒绝服务攻击的指令列表:
  • smtpd_client_connection_rate_limit - 允许任何客户端每个时间单元对此服务进行的最大连接数(如下所述)。默认值为 0,这意味着客户端可以与 Postfix 接受的每个时间单元进行任意数量的连接。默认情况下,可信网络中的客户端不会被排除。
  • avil_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 命令。要指定更高的最小可用空间限制,请指定一个 queue_minfree 值,它至少为 message_size_limit 的 1.5 倍。默认情况下,queue_minfree 值为 0。
  • header_size_limit - 存储消息标头的最大内存量,以字节为单位。如果标头大于,则会丢弃多余的。默认值为 102400。
  • message_size_limit - 消息的最大大小,以字节为单位,包括信封信息。默认情况下,值为 10240000。