Debian邮件服务器的用户权限如何设置
小樊
34
2025-12-13 08:34:26
Debian邮件服务器用户权限设置
一 系统与服务账户权限基线
- 创建专用系统账户与组:为邮件服务创建最小权限的系统账户(如 postfix、dovecot),避免使用 root 直接运行;必要时为虚拟用户创建专用系统账户(如 vmail),统一所有权与权限边界。
- 目录与文件权限:
- 邮件队列目录:/var/spool/postfix 设为 750,属主 root:postfix,防止非授权用户注入或窥探队列。
- 邮件日志目录与文件:/var/log/mail.log 设为 640,属主 root:adm,便于系统日志组读取、限制其他访问。
- 本地用户邮箱目录:用户主目录 700,其下 Maildir 目录及内容属主为该用户,权限 700,仅用户本人可访问。
- 服务运行身份:确保 Postfix/Dovecot 以各自专用账户运行,避免越权访问其他用户邮箱或系统文件。
二 Postfix 收发权限控制
- 基本访问控制:在 /etc/postfix/main.cf 中通过 smtpd_relay_restrictions、smtpd_recipient_restrictions、smtpd_sender_restrictions 组合策略,结合 mynetworks 与 permit_sasl_authenticated,仅允许受信网段与已认证用户外发,杜绝开放中继。
- 细粒度到“用户/域”的策略:
- 使用 smtpd_restriction_classes 定义策略类,配合 check_sender_access / check_recipient_access 指向映射表,对特定用户或域实施“仅本地域”“仅白名单域”等策略。
- 典型场景示例:
- 仅本地域收发:限制某账号只能与内部域通信,外域一律拒绝。
- 外发白名单:仅允许指定账号向外部域发送,其他账号外发被拒。
- 操作步骤:编辑映射表(如 /etc/postfix/restricted_users、/etc/postfix/local_plus),执行 postmap 生成 .db 文件,修改 main.cf 加载策略类并在相应 restrictions 中调用,最后 systemctl reload postfix 生效。
三 Dovecot 邮箱访问与认证权限
- 存储与权限:若使用虚拟用户,将邮箱根目录(如 /var/mail/vhosts 或 /var/mail/virtual)属主设为 vmail:vmail,常用权限 755(目录)与 600/700(文件),确保 MDA/LDA 与 IMAP/POP3 进程可读写但其他用户不可越权访问。
- 认证与协议:在 /etc/dovecot/conf.d/10-auth.conf 启用 plain、login 等机制,结合 PAM 或专用口令库;在 10-mail.conf 正确设置 mail_location(如 maildir:~/Maildir),确保与存储权限一致;启用 SSL/TLS(如 10-ssl.conf 配置证书),避免明文传输凭证与邮件内容。
四 虚拟用户与别名管理
- 虚拟域与邮箱映射:在 /etc/postfix/ 下维护 virtual_mailbox_domains、virtual_mailbox_maps、virtual_alias_maps 等文件,定义虚拟域名、邮箱路径与别名;变更后执行 postmap 生成数据库并 reload Postfix。
- 统一所有权:为所有虚拟邮箱目录设置统一属主 vmail:vmail,避免 Postfix/Dovecot 访问失败或权限越权。
- 别名与转发:通过 /etc/aliases 配置用户别名、转发与黑洞(如将特定账号转发到 /dev/null 实现“只收不发”),完成后执行 newaliases 更新别名数据库。
五 防火墙与端口最小化
- 仅开放必要端口:建议仅放行 SMTP(25)、Submission(587)、IMAP(143)/POP3(110) 及其 SSL/TLS 端口 IMAPS(993)/POP3S(995);如使用 UFW,可执行:
- ufw allow 25/tcp
- ufw allow 587/tcp
- ufw allow 143/tcp
- ufw allow 110/tcp
- ufw allow 993/tcp
- ufw allow 995/tcp
- ufw enable
- 安全建议:禁用明文协议(尽量使用 587/993/995),限制管理接口与数据库访问仅内网可达,定期审计日志与策略生效情况。