温馨提示×

ubuntu spool如何配置安全

小樊
48
2026-06-30 15:18:38
栏目: 智能运维

在 Ubuntu 系统中,spool 通常指打印队列(/var/spool/cups、/var/spool/lpd 等)或邮件队列(/var/spool/mail),也可能涉及其他服务(如 cron、at)。spool 目录的安全配置核心目标是:防止未授权访问、提权、信息泄露或滥用系统资源。下面按常见场景系统说明。


一、通用 spool 安全原则(最重要)

1. 严格控制权限

  • spool 目录默认应由 root 或服务专用账户拥有
  • 不要给普通用户写权限
  • 不要给 world 可读权限

示例:

ls -ld /var/spool/*

正确示例(print/mail):

drwxr-x--- root lp    /var/spool/cups
drwxrws--- root mail  /var/spool/mail

2. 禁止普通用户直接进入 spool

chmod 750 /var/spool/cups
chown root:lp /var/spool/cups

3. 检查 SUID / SGID 程序

spool 目录附近常存在特权程序(如 lpr, sendmail):

find /usr -perm -4000 -type f 2>/dev/null

原则

  • 不需要的功能卸载
  • 不用的 SUID 程序移除或限制

二、打印 spool(最常见)

1. CUPS(Ubuntu 默认)

关键目录

/var/spool/cups
/etc/cups

安全配置要点

只允许本地或受信任用户访问

sudo cupsctl --no-remote-admin

修改 cupsd.conf

sudo nano /etc/cups/cupsd.conf

推荐配置:

<Location />
  Order allow,deny
  Allow localhost
</Location>

<Location /admin>
  AuthType Default
  Require user @SYSTEM
</Location>

重启:

sudo systemctl restart cups

限制 spool 权限

sudo chown -R root:lp /var/spool/cups
sudo chmod 750 /var/spool/cups

2. 禁止匿名/访客打印

sudo cupsctl --no-share-printers

三、邮件 spool 安全(/var/spool/mail)

1. 权限示例

ls -ld /var/spool/mail

安全权限应为:

drwxrwsr-x root mail

修复:

sudo chown root:mail /var/spool/mail
sudo chmod 2775 /var/spool/mail

2. 防止邮件泄露

  • 禁止普通用户读取他人邮件
  • 使用邮箱配额
  • 防止 spool 被 symlink 攻击
sudo apt install postfix
sudo postfix check

四、cron / at spool 安全

1. cron spool

目录:

/var/spool/cron/crontabs

权限应为:

drwx-wx--T root crontab

修复:

sudo chown root:crontab /var/spool/cron/crontabs
sudo chmod 1730 /var/spool/cron/crontabs

✅ 禁用普通用户 crontab(如需要):

sudo bash -c 'echo "cron.deny" > /etc/cron.deny'

2. at spool

sudo chown root:daemon /var/spool/cron/atjobs
sudo chmod 700 /var/spool/cron/atjobs

五、AppArmor(Ubuntu 强烈推荐)

Ubuntu 自带 AppArmor,应启用:

sudo systemctl enable apparmor
sudo systemctl status apparmor

检查 CUPS profile:

sudo aa-status | grep cups

如未启用:

sudo aa-enforce /etc/apparmor.d/usr.sbin.cupsd

六、日志与审计

1. 审计 spool 访问

sudo apt install auditd
sudo auditctl -w /var/spool -p rwxa -k spool_access

查看:

sudo ausearch -k spool_access

2. 定期检查异常文件

find /var/spool -type f -perm /111
find /var/spool -mtime -1

七、SELinux(Ubuntu 不默认,可选)

Ubuntu 默认不用 SELinux,除非你手动开启。
更推荐 AppArmor + 最小权限


八、安全加固清单(可直接执行)

# 基本权限
sudo chown -R root:lp /var/spool/cups
sudo chmod 750 /var/spool/cups

# 邮件
sudo chown root:mail /var/spool/mail
sudo chmod 2775 /var/spool/mail

# cron
sudo chmod 1730 /var/spool/cron/crontabs

# 审计
sudo auditctl -w /var/spool -p rwxa -k spool_access

九、常见风险总结

风险 后果 防护
spool 可写 提权、写恶意 job 最小权限
匿名打印 资源滥用 关闭 remote
邮件泄露 敏感信息 严格权限
SUID 滥用 root 提权 禁用无用 SUID
软链接攻击 写任意文件 正确所有者和 sticky bit

如果你能说明 具体是哪种 spool(打印 / 邮件 / cron / at / 其他),我可以给你 一份针对性的加固脚本或企业级安全配置方案

0