权限加固是围绕“谁在什么时候、以什么身份、能做什么”建立可验证、可审计、可追溯的访问控制链,通过SSH登录、文件目录权限、SELinux/AppArmor策略、防火墙等标准化手段落实最小权限原则。

权限加固不是调几个chmod或删几个账号就完事,而是围绕“谁在什么时候、以什么身份、能做什么”建立可验证、可审计、可追溯的访问控制链。标准化手段的核心是把最小权限原则落地为具体配置、策略和检查项,让合规不是应付检查,而是日常运维的自然结果。
SSH登录权限标准化:从入口掐断高危路径
SSH是绝大多数Linux服务器的唯一远程入口,它的权限配置直接决定攻击者能否进门。标准化做法不是改完配置就结束,而是形成闭环:
- 禁止root直连:设置PermitRootLogin no,所有提权必须通过sudo且记录完整命令
- 只允许可信密钥:关闭密码登录(PasswordAuthentication no),公钥强制使用ed25519算法,密钥长度不低于256位
- 限制登录主体:用AllowUsers明确指定用户名+来源IP段,例如AllowUsers deploy@10.12.0.0/16 ops@192.168.5.10
- 会话自动终止:空闲超时设为300秒(ClientAliveInterval 300),连续3次无响应即断开,防止长期挂起的会话被劫持
文件与目录权限标准化:按角色而非路径赋权
权限混乱常源于“一刀切”式赋权,比如全站目录chmod 755。标准化要求按服务角色划分边界:
- /etc/shadow等敏感文件:权限必须为600,属主root,属组root,禁止其他用户任何访问
- Web服务目录(如/var/www/html):属主设为www-data或nginx,属组同名,目录权限750,文件权限640,禁止写入执行位
- 日志目录(如/var/log/app):属主为对应服务用户,属组为adm,权限750,确保只有服务进程和审计人员可读
- 临时目录(如/tmp):启用noexec,nosuid,nodev挂载选项,从内核层阻断恶意代码执行
SELinux/AppArmor策略标准化:用策略代替手动放行
仅靠传统DAC(自主访问控制)无法应对进程越权行为。标准化要求启用MAC框架并部署基线策略:
- CentOS/RHEL系默认启用SELinux,策略模式设为enforcing,禁用permissive模式用于“调试”
- 对关键服务(如httpd、sshd、mysqld)启用对应策略模块,不自行编写allow规则,优先使用semanage fcontext标记路径上下文
- Ubuntu系启用AppArmor,加载/etc/apparmor.d/usr.sbin.mysqld等官方策略,并用aa-logprof定期更新异常行为白名单
- 所有策略变更需纳入版本管理,每次更新生成diff快照,便于回滚与审计比对
防火墙与网络访问控制标准化:按服务生命周期动态管控
iptables或nftables规则不是静态清单,而应随服务启停自动同步:
- 默认拒绝所有入站:iptables -P INPUT DROP,仅开放明确需要的端口(如SSH 3022、HTTPS 443)
- 区分内外网策略:对管理网段(如10.12.0.0/16)开放SSH,对外网仅开放业务端口,禁止ICMP回显以外的所有ICMP类型
- 状态跟踪严格化:只允许ESTABLISHED,RELATED连接返回,新连接必须匹配显式规则
- 规则持久化标准化:使用iptables-save > /etc/iptables.rules保存,配合systemd服务在开机时自动加载,避免重启后策略失效
权限加固的标准化,本质是把安全逻辑变成基础设施代码——配置即策略,策略即标准,标准即审计依据。它不依赖某个人的经验判断,而靠统一模板、自动化校验和周期性基线扫描来维持一致性。真正难的不是第一次配对,而是让每一次变更都落在这个闭环里。

















