Linux系统加固手册
Linux系统因其稳定性和灵活性被广泛应用于服务器、嵌入式设备及云计算环境,系统的安全性取决于配置和管理实践,本文从系统初始化、账户管理、服务安全、网络防护、日志审计及日常维护六个维度,提供详细的加固指南,帮助构建安全可靠的Linux环境。

系统初始化加固
系统初始化阶段是安全加固的基础,需从源头减少攻击面。
- 最小化安装:仅安装必要的软件包,避免无关组件引入漏洞,使用
Minimal或Server安装模式,安装后通过dnf autoremove或apt autoremove清理冗余包。 - 及时更新系统:定期更新系统和软件包是防范漏洞的关键,以CentOS为例,执行
dnf update -y;Ubuntu系统则使用apt update && apt upgrade -y,建议配置自动更新任务,通过cron定时执行。 - 内核参数优化:调整内核参数增强系统安全性,编辑
/etc/sysctl.conf,添加以下配置:net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.all.accept_source_route = 0执行
sysctl -p使配置生效。 
账户与权限管理
严格的账户管理可防止未授权访问。
- 禁用或删除无用账户:如
ftp、games等系统账户,通过userdel username删除;若需保留,使用passwd -l username锁定账户。 - 强化密码策略:强制复杂密码并定期更换,编辑
/etc/login.defs,设置:PASS_MAX_DAYS 90 PASS_MIN_LEN 12使用
pam_pwquality模块检查密码强度,确保包含大小写字母、数字及特殊字符。
 - 限制sudo权限:仅允许必要用户使用
sudo,编辑/etc/sudoers,通过visudo命令,为用户分配最小必要权限,避免使用NOPASSWD选项。 
服务安全配置
关闭不必要的服务并加固运行中的服务。
- 关闭无用服务:使用
systemctl list-unit-files --type=service列出服务,对非必要服务执行systemctl disable --now service_name,关闭telnet、rsh等明文传输服务。 - 启用防火墙:使用
firewalld(CentOS/RHEL)或ufw(Ubuntu)限制访问,仅开放必要端口,如SSH(22)、HTTP(80):firewall-cmd --permanent --add-service=ssh firewall-cmd --reload - 服务加固示例(SSH):编辑
/etc/ssh/sshd_config,禁用root登录、禁用密码认证(改用密钥)、限制登录用户:PermitRootLogin no PasswordAuthentication no AllowUsers user1 user2 
网络防护措施
网络是攻击的主要入口,需加强防护。
- 启用IPTables/Netfilter:配置严格的规则链,仅允许特定IP访问。
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -j DROP - 禁用ICMP重定向:避免路由欺骗攻击,在
sysctl.conf中设置net.ipv4.conf.all.accept_redirects = 0。 - 使用入侵检测系统:部署
Fail2ban监控日志并自动封禁恶意IP,防止暴力破解。 
日志与审计
完善的日志审计是追溯安全事件的关键。
- 启用日志服务:确保
rsyslog或systemd-journald正常运行,配置日志远程存储至独立服务器。 - 审计系统调用:安装
auditd,监控敏感文件访问和命令执行,监控/etc/passwd修改:auditctl -w /etc/passwd -p wa -k passwd_changes - 日志轮转:配置
logrotate定期归档日志,避免磁盘空间耗尽。 
日常维护与监控
安全加固是持续过程,需定期维护。

- 定期备份:使用
rsync或tar备份关键数据,验证备份有效性。 - 漏洞扫描:使用
lynis或OpenVAS定期扫描系统漏洞,及时修复。 - 监控资源使用:通过
top、htop或nmon监控CPU、内存及磁盘I/O,发现异常及时排查。 
Linux系统加固需从最小化安装、账户管理、服务配置、网络防护、日志审计到日常维护全面覆盖,通过严格执行上述措施,可显著提升系统安全性,抵御常见网络威胁,安全是一个动态过程,需结合最新威胁情报持续优化配置,确保系统长期稳定运行。

















