linux系统中/var/spool/mail目录邮件安全加固需设目录权限2750、邮件文件600,限制mail组成员,禁用无关账号,配置mta默认创建私有邮件,并启用审计监控。

Linux系统中/var/spool/mail(或/var/mail)目录存放用户本地邮件,属主通常为root:mail,权限多设为drwxrwsr-x(即2755),其中sgid位确保新邮件文件继承mail组。但默认配置存在风险:普通用户可读他人邮箱(若邮件文件权限宽松)、组成员可能越权访问、恶意进程可伪造写入。加固核心是“最小权限+属主隔离+访问控制”。
确认当前Mail目录权限与归属
执行以下命令检查现状:
-
ls -ld /var/spool/mail—— 查看目录自身权限与属主 -
ls -l /var/spool/mail/—— 检查各用户邮件文件(如alice、bob)的权限是否为-rw-------(600) -
getent group mail—— 确认mail组成员,避免无关用户加入
收紧目录与邮件文件权限
目录本身不应开放组写或全局读写,邮件文件必须严格私有:
- 将目录权限设为
2750:chmod 2750 /var/spool/mail(保留sgid,关闭其他用户访问) - 确保所有现有邮件文件权限为
600:find /var/spool/mail -type f -exec chmod 600 {} \; - 禁止
mail组以外用户访问该目录,必要时用setfacl -m g:mail:rx /var/spool/mail显式授权
限制mail组成员并禁用无用邮件服务账号
mail组仅用于邮件队列权限继承,不应用于登录或特权分配:
- 检查并移除非必要成员:
vigr编辑/etc/group,只保留系统必需项(如mail:x:12:后无用户名) - 确认
mail账号(UID/GID 8)的shell为/sbin/nologin:grep '^mail:' /etc/passwd应显示mail:x:8:12:mail:/var/spool/mail:/sbin/nologin - 删除或锁定已废弃的邮件相关账号(如
postfix、dovecot若未启用):usermod -s /sbin/nologin postfix
强化邮件文件创建机制与审计
防止新邮件被错误赋予宽松权限:
- 确保MTA(如Postfix、Sendmail)配置中
mail_spool_directory或等效参数指向/var/spool/mail,且其create_mailbox行为默认使用0600 - 对
/var/spool/mail启用inotify监控(如用auditctl -w /var/spool/mail -p wa -k maildir_access),记录任何写入或权限变更 - 定期扫描异常邮件文件:
find /var/spool/mail -type f ! -perm 600 -ls,纳入日志巡检脚本










