CentOS邮件服务器邮件接收限制配置
邮件大小限制是防止服务器接收超大附件、避免资源滥用的基础配置,主要涉及两个参数:
message_size_limit = 15728640(约15MB),可限制单封邮件不超过15MB。mailbox_size_limit = 10485760(约10MB),可限制单个用户邮箱总大小不超过10MB。/etc/postfix/main.cf,添加或修改上述参数,修改后执行postfix reload使配置生效。通过限制可连接服务器的客户端范围,防止非法IP或未授权网络访问邮件服务器,常用参数包括:
permit_mynetworks:允许mynetworks参数定义的本地网络(如内网IP段)连接;reject_unauth_pipelining:拒绝未授权的管道化命令(提升安全性);check_client_access hash:/etc/postfix/access:通过访问表(access file)自定义客户端限制(如拒绝特定IP)。/etc/postfix/main.cf中添加smtpd_client_restrictions = permit_mynetworks, reject_unauth_pipelining, check_client_access hash:/etc/postfix/access,然后将需要拒绝的IP添加到/etc/postfix/access(如192.168.1.100 REJECT),执行postmap /etc/postfix/access生成哈希数据库并重载Postfix。通过验证收件人地址的合法性,防止服务器接收发送给不存在用户的邮件(减少垃圾邮件和无效请求),关键参数为:
permit_mynetworks:允许本地网络用户发送给任意收件人;permit_sasl_authenticated:允许通过SMTP认证的用户发送给任意收件人;reject_unauth_destination:拒绝发送给未授权域或不存在用户的邮件(必须配置,防止开放中继)。/etc/postfix/main.cf中添加smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination,重载Postfix后生效。通过限制发送者的邮件发送频率,防止滥用服务器资源(如发送大量垃圾邮件),常用参数包括:
/etc/postfix/sender_login_maps),要求发送者必须通过SMTP认证且账户匹配,避免未授权发送。smtpd_client_message_rate_limit = 100,即每分钟最多100封)。smtpd_client_connection_rate_limit = 10,即每秒最多10个连接)。/etc/postfix/main.cf,添加上述参数并设置合理值,重载Postfix后生效。系统资源不足会导致邮件接收失败,需调整以下系统级限制:
/etc/security/limits.conf,添加* soft nofile 10240(软限制)和* hard nofile 10240(硬限制),然后编辑/etc/pam.d/login,添加session required pam_limits.so,使限制生效。/var/mail或Dovecot的mail_location目录)有足够的可用空间,可通过df -h命令检查,必要时清理旧邮件或扩容磁盘。