如何在 Ubuntu 服务器上保护 postfix

Tim*_*mmy 15 security postfix

我正在用 LEMP 设置一个新的 VPS 服务器。现在唯一缺少的是邮件服务器。我需要做一些特别的事情来确保安全吗?还是在安装完成后就已经安全了?

我认为正确的术语是强化后缀,它有意义吗?

Kai*_*Kai 25

网上有很多关于“强化”后缀的配置和步骤的指南。

这是由http://security-24-7.com/hardening-guide-for-postfix-2-x/提供的

Postfix 2.x 强化指南

确保 Postfix 使用非 root 帐户运行:

ps aux | grep postfix | grep -v '^root'
Run Code Online (Sandbox Code Playgroud)

更改以下目标的权限和所有权:

chmod 755 /etc/postfix
chmod 644 /etc/postfix/*.cf
chmod 755 /etc/postfix/postfix-script*
chmod 755 /var/spool/postfix
chown root:root /var/log/mail*
chmod 600 /var/log/mail*
Run Code Online (Sandbox Code Playgroud)

使用 nano 或 vi 编辑文件/etc/postfix/main.cf并添加以下更改: 修改 myhostname 值以对应 Postfix 服务器的外部完全限定域名 (FQDN),例如:

myhostname = myserver.example.com
Run Code Online (Sandbox Code Playgroud)

配置 Postfix 服务应该监听的网络接口地址,例如:

inet_interfaces = 192.168.1.1
Run Code Online (Sandbox Code Playgroud)

配置可信网络,例如:

mynetworks = 10.0.0.0/16, 192.168.1.0/24, 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

配置 SMTP 服务器以将外发电子邮件伪装成来自您的 DNS 域,例如:

myorigin = example.com
Run Code Online (Sandbox Code Playgroud)

配置 SMTP 域目标,例如:

mydomain = example.com
Run Code Online (Sandbox Code Playgroud)

配置要将消息中继到哪些 SMTP 域,例如:

relay_domains = example.com
Run Code Online (Sandbox Code Playgroud)

配置 SMTP 问候横幅:

smtpd_banner = $myhostname
Run Code Online (Sandbox Code Playgroud)

限制拒绝服务攻击:

default_process_limit = 100
smtpd_client_connection_count_limit = 10
smtpd_client_connection_rate_limit = 30
queue_minfree = 20971520
header_size_limit = 51200
message_size_limit = 10485760
smtpd_recipient_limit = 100
Run Code Online (Sandbox Code Playgroud)

重新启动 Postfix 守护进程:

service postfix restart
Run Code Online (Sandbox Code Playgroud)

  • 我还认为您应该禁用 VRFY 命令,以便无法轻松枚举用户名。postconf -ev disable_vrfy_command=yes (6认同)
  • 请注意,/usr/lib/postfix/sbin/master 进程 **可以** 以 root 身份运行,这没问题 - 请参阅 https://security.stackexchange.com/questions/71922 (2认同)