Linux 系统安全加固

Linux 系统安全加固:生产服务器必备操作清单

云服务器暴露在互联网上,每天都面临大量的扫描探测和攻击尝试。完善的安全加固是保障服务器和数据安全的基础工作。本文提供一套经过实践验证的Linux系统安全加固完整清单。

一、SSH安全加固(优先级最高)

SSH是服务器最常被暴力破解的入口,必须重点加固。修改/etc/ssh/sshd_config:Port改为非22端口(如22222),减少自动扫描;PermitRootLogin设为no,禁止root直接登录;PasswordAuthentication设为no,只允许密钥认证;MaxAuthTries设为3,限制认证失败次数;AllowUsers指定允许登录的用户。配置密钥登录:在本地生成ed25519密钥对,通过ssh-copy-id将公钥上传到服务器。

二、防火墙配置

使用firewalld配置精细化防火墙规则:默认策略设为drop(拒绝所有入站);只开放业务必需的端口(SSH自定义端口、80、443);禁止不需要对外暴露的端口(数据库3306、Redis6379等只允许内网访问);开启firewall日志记录被拒绝的连接尝试,定期分析异常来源。

三、禁用不必要的服务

检查所有启动的服务(systemctl list-units –state=running),禁用不需要的服务:bluetooth、cups(打印)、avahi-daemon(mDNS)、postfix(如不发邮件)。每一个运行中的服务都是潜在的攻击面,最小化运行服务是安全加固的基本原则。

四、用户账号安全

账号安全管理:删除或锁定无用账号(games、ftp等默认账号);设置密码策略(/etc/login.defs:最长90天、最短12位);遵循最小权限原则配置sudo,只允许特定命令使用sudo而非ALL;定期审查/etc/passwd和/etc/sudoers文件。

五、安装安全防护工具

安装fail2ban防止暴力破解:配置SSH防护规则(5次失败锁定24小时);配置Web应用防护(Nginx 429错误触发锁定)。安装rkhunter进行Rootkit检测:定期运行rkhunter –check扫描系统文件完整性;将扫描结果邮件发送给管理员。

六、系统审计与日志

开启命令审计:在/etc/profile配置HISTTIMEFORMAT记录命令执行时间;配置auditd监控关键文件(/etc/passwd、/usr/bin/sudo)的修改和访问。定期检查安全日志:/var/log/secure(SSH登录记录);/var/log/audit/audit.log(系统审计日志)。

七、内核安全参数

通过/etc/sysctl.conf配置内核安全参数:开启SYN flood防护(tcp_syncookies=1);禁止ICMP重定向(accept_redirects=0);开启反向路径过滤防IP欺骗(rp_filter=1);限制core dump防止敏感信息泄露。

八、定期安全维护

建立安全运维规范:每周审查/var/log/secure中的异常登录尝试;每月执行yum update安装安全补丁;每季度进行安全扫描(使用Nessus或OpenVAS);每年进行渗透测试评估整体安全态势。

九、总结

Linux系统安全加固是纵深防御体系:改SSH端口+禁密码登录+防火墙+fail2ban,可以抵御99%的自动化攻击。安全无小事,每一项加固措施都可能是关键时刻的救命稻草。建立安全检查清单并严格执行,才能让服务器长期安全稳定运行。