核心是“按需赋权”,即每个账户仅授予完成任务必需的最低权限;需创建专用低权限账户、精细配置sudo白名单、严格控制文件目录权限,并持续审计加固。

实施服务器权限安全基线维护,核心是把“谁能在什么条件下访问什么资源”这件事管清楚、控得住、可追溯。不是堆功能,而是建规则、落执行、常验证。
用户与账户权限最小化
每个账户只给它干活必需的权限,多一点都不行。比如部署人员不需要登录 shell,就设为 /sbin/nologin;普通运维人员不碰系统配置,就禁用 sudo su -,只授权特定命令如 systemctl restart nginx。
- 新建账户统一使用
useradd -m -s /bin/bash deployer,避免直接用 root 或共享账号 - 特权组(如
%admin)在visudo中明确限制可执行命令,禁用通配符ALL=(ALL) ALL - 禁用默认账户(如
guest、test),删除或锁定长期不用的账号:usermod -L username
文件与关键目录访问控制
系统文件不是谁都能读写改的。/etc/passwd 可读但不可写,/etc/shadow 必须只对 root 可读,/etc/init.d 下脚本不能被普通用户执行。
- 收紧基础目录权限:
chmod 750 /etc/init.d、chown root:root /etc/passwd - 对敏感文件加不可修改锁:
chattr +i /etc/shadow(需 root 权限解除) - Web 根目录(如
/var/www)禁止执行权限,上传目录单独隔离并设noexec,nosuid挂载选项
远程访问与认证强化
SSH 是最常用入口,也是攻击高发点。密码登录必须关掉,只留密钥+必要时 MFA;root 远程直登必须禁用。
- 编辑
/etc/ssh/sshd_config:设PermitRootLogin no、PasswordAuthentication no、PubkeyAuthentication yes - 强制使用 SSH 协议 v2,禁用 v1:
Protocol 2 - 结合 PAM 实施强口令策略:
password requisite pam_cracklib.so retry=3 minlen=8 minclass=3
操作审计与权限变更监控
谁什么时候动了权限,必须有记录、能回查。不能只靠人工记日志,要让系统自动捕获关键行为。
- 启用 sudo 日志审计:确保
/var/log/auth.log记录所有sudo命令及参数 - 用
auditd监控敏感路径变更:-w /etc/passwd -p wa -k identity - 将权限相关日志接入 ELK 或 SIEM 平台,设置告警规则(如 1 小时内新增 3 个 sudo 用户)











