linux系统加固围绕“最小权限、及时更新、有效监控”三大原则,通过精简服务、强化 防火墙 与 sudo 审计、文件完整性校验及禁用危险内核参数等措施实现高效安全管控。

linux 系统 加固不是 堆砌安全 工具,而是围绕“最小权限、及时更新、有效监控”三个核心做减法和管控。以下技巧兼顾实操性和日常效率,避免过度配置拖慢运维节奏。
精简开机服务,关掉不用的监听 端口
很多漏洞源于默认开启但实际不用的服务(如 telnet、rpcbind、avahi-daemon)。用 systemctl list-unit-files –type=service –state=enabled 快速查看所有开机自启服务,再结合 ss -tuln 确认哪些 端口 真正在监听。
- 停用并禁用无用服务:systemctl stop avahi-daemon && systemctl disable avahi-daemon
- 对不确定的服务,先mask(如systemctl mask rpcbind),避免被其他服务意外拉起
- 防火墙 策略优先用 ufw 简化管理:ufw default deny incoming,再按需ufw allow 22/tcp
限制 root 权限,强制使用 sudo+ 审计日志
禁止 root 远程登录、禁用 root 密码、所有提权操作走 sudo——这是最基础也最关键的防线。同时确保命令执行可追溯。
- 编辑/etc/ssh/sshd_config,设PermitRootLogin no,重启 sshd
- 运行 sudo passwd -l root 锁定 root 密码
- 在 /etc/sudoers 中启用日志:Defaults logfile=”/var/log/sudo.log”,配合 sudo tail -f /var/log/sudo.log 实时观察提权行为
定期校验关键文件完整性
入侵后常被篡改的是 /etc/passwd、/etc/shadow、/bin/ls 等系统文件。用轻量 工具 aide 即可完成本地基线比对。
- 安装后初始化 数据库:aide –init && cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
- 每周定时检查:0 3 * * 1 /usr/bin/aide –check | mail -s “AIDE Report” admin@local
- 把 aide.db.gz 备份到离线介质或只读挂载点,防止被攻击者删除或覆盖
关闭危险内核参数,防范常见提权利用
某些内核特性(如 user namespaces、BPF JIT)在旧版本中存在稳定提权路径。非必要不开启,尤其在生产服务器上。
- 禁用 user namespaces(容器环境除外):echo ‘kernel.unprivileged_userns_clone=0’ > /etc/sysctl.d/99-disable-userns.conf
- 关闭 BPF JIT 编译器:echo ‘net.core.bpf_jit_enable=0’ >> /etc/sysctl.d/99-disable-bpf-jit.conf
- 加载新配置:sysctl –system,并验证:sysctl kernel.unprivileged_userns_clone
基本上就这些。加固不是一步到位,而是持续做减法、加监控、留痕迹。每次变更前备份配置,每次检查后记录结果,效率自然就上来了。