Linux 主机基线 20 项:从账号到内核参数
基线不是「加固到极致」,而是「把明显的口子堵上」。多数入侵利用的是默认配置。
20 项听起来多,实际大部分是检查与关闭,一次半小时能做完。
先说结论
少装服务、少给权限、开审计、定期更新。 四条主线,其余是细节。
- 停用不需要的服务与端口
- sudo 按需授权,禁止 NOPASSWD 全开
- 关键目录权限核对(/etc、/root、密钥)
- 开启 auditd 与登录审计
漏洞是怎么产生的
基线的价值在于「可重复」:把检查写成脚本,每台新机器跑一遍,比靠记忆可靠。
检查结果要留档,出问题时能对比「什么时候变的」。
修复与验证
修复不是改一行代码,而是四件事一起做:
- 账号审计:空口令、UID 0 的非 root、过期账号
- 服务审计:ss -lntup 对照业务,停掉多余端口
- 权限审计:/etc/shadow、SSH 目录、Web 目录属主
- 内核参数:关闭 IP 转发(非路由机)、开启 SYN cookie
- 审计与更新:auditd 规则、unattended-upgrades 或定期补丁
攻击面与检测点
按影响面排序,先修影响最大的:
| 类别 | 检查项 | 常见问题 |
|---|---|---|
| 账号 | 空口令/UID 0 | 遗留测试账号 |
| 服务 | 监听端口 | 调试端口未关 |
| 权限 | 密钥与配置 | 777 权限 |
| 日志 | 审计规则 | 未开启 |

几个容易踩的坑
下面这些是最常见的错误做法:
- 一次性加固后不再复查:新装服务又开口子
- 审计日志不轮转:磁盘被写满
- 关闭 SELinux 图省事:少一层保护
- 用同一套基线套所有角色:Web 与数据库要求不同
写在最后
基线是「及格线」,不是「满分」。先做到及格,再谈纵深防御。
安全不是一次加固,是持续的假设:假设输入不可信、假设边界会破、假设有人会看错。
评论 (3)
修复清单比漏洞描述有用多了,很多文章只讲怎么打不讲怎么防。
白名单那条永远是最有效的,正则黑名单迟早绕过。
建议再补一条:把这类检查加到 CI 里,靠人记必然漏。
发表评论