Linux系统加固核心是“最小权限、纵深防御、持续收敛”,需围绕账户认证、服务端口、文件权限、日志监控四方面建立清晰访问边界并长期回归验证。

Linux系统加固没有万能模板,但有可复用的核心逻辑:最小权限、纵深防御、持续收敛。关键不是堆砌工具,而是建立“谁在用、用什么、允许怎么用”的清晰边界。以下流程覆盖绝大多数生产场景,不依赖特定发行版或云厂商。
账户与认证强化
默认账户是首要攻击入口,必须主动治理而非被动响应。
- 禁用或删除无用系统账户(如games、lp、sync),保留仅root和必要业务账户
- 强制所有密码账户启用SHA-512加密(检查/etc/login.defs中ENCRYPT_METHOD SHA512)
- 限制root远程登录:设PermitRootLogin no(/etc/ssh/sshd_config),改用普通用户+sudo方式管理
- 启用faillock防暴力破解:配置/etc/security/faillock.conf,例如deny = 5 unlock_time = 900
服务与端口精简
每个运行的服务都是潜在攻击面,原则是“不开不关,只开必需”。
- 用systemctl list-unit-files --state=enabled查所有开机自启服务,逐个确认必要性;非必要项执行systemctl disable [service]
- 用ss -tlnp或netstat -tlnp确认监听端口,关闭未被业务调用的监听(如rpcbind、avahi-daemon)
- 对必须开放的端口,绑定到具体IP(如ListenAddress 10.0.1.5:22),避免0.0.0.0泛监听
- 启用firewalld或iptables默认拒绝策略,仅放行明确需要的协议+端口+源IP段
文件系统与权限收敛
过度宽松的权限等于给攻击者递钥匙,需从根目录开始逐层校准。
- 修复关键目录权限:chmod 755 /boot /etc /usr,chmod 700 /root /home/*,chmod 600 /etc/shadow
- 查找世界可写目录:find / -xdev -type d -perm -0002 2>/dev/null,评估后移除w位(如/tmp除外)
- 启用umask 027全局策略(写入/etc/profile和/etc/bash.bashrc),确保新创建文件默认不被组外用户读写
- 对敏感二进制(/usr/bin/sudo、/bin/ping等)启用file capabilities替代setuid,降低提权风险
日志与监控基线化
加固不是一劳永逸,必须让异常行为“看得见、留得住、可追溯”。
- 集中记录关键日志:配置rsyslog或journalctl --rotate,将auth.log、secure、messages同步至独立日志服务器
- 审计高危操作:启用auditd,监控execve、setuid、chmod等系统调用,规则写入/etc/audit/rules.d/cis.rules
- 定期校验文件完整性:用AIDE或samhain生成基线,每周比对/bin、/sbin、/etc等目录哈希变化
- 设置登录失败告警:通过faillock或pam_tally2触发脚本,邮件或短信通知管理员
基本上就这些。流程看似步骤多,实则每步都对应一个真实攻击链环节。真正难的不是执行,而是坚持定期回归——比如每月重跑一次端口扫描、每季度重审一次账户列表。加固不是项目,是运维日常的一部分。
以上就是Linux系统如何加固_标准流程剖析适用于全部场景【教程】的详细内容,更多请关注php中文网其它相关文章!