linux系统加固需理清攻击面、堵住入口、收紧配置。关闭无用服务端口,强化ssh(禁root、密钥登录、改端口),落实最小权限,启用UFW和fail2ban等基础防护,并定期审计更新。

linux系统加固不是装几个工具就完事,关键是理清攻击面、堵住常见入口、收紧默认配置。下面这些操作覆盖了90%的生产环境高频风险点,按优先级和实操性整理,不堆概念,直接上干货。
关闭无用服务与端口
默认安装常带一堆不用的服务(如telnet、ftp、rpcbind),它们是攻击者第一波扫描目标。先查正在监听的端口和服务:
- netstat -tuln 或 ss -tuln 查看监听端口
- systemctl list-unit-files –type=service | grep enabled 看哪些服务开机自启
- 确认非必要服务(比如cups、avahi-daemon、postfix若不用邮件功能)→ systemctl disable –now cups.service
特别注意:云服务器默认开放22(SSH)和80/443,其他端口一律用防火墙显式放行,别依赖“没开服务就安全”。
强化SSH登录安全
SSH是Linux最常被暴力破解的入口,必须改默认配置:
- 编辑 /etc/ssh/sshd_config,确保以下几项已设:
- PermitRootLogin no(禁root远程直登)
- PasswordAuthentication no(强制密钥登录)
- Port 2222(改非标端口,防脚本扫22)
- MaxAuthTries 3 和 LoginGraceTime 60(限制试错频次与时长)
- 改完运行 systemctl restart sshd,并先用新密钥连通再退出,避免锁死
最小权限原则落地
别让普通用户有sudo权限,也别让服务进程跑在root下:
- 用 usermod -aG sudo username 谨慎加人进sudo组,且配合 visudo 限定命令(如只允许重启nginx)
- Web服务(nginx/apache)用独立低权用户运行:user nginx; 在配置里指定,而非默认用root启worker
- 检查关键目录权限:/etc/shadow 必须是 000 或 400,/etc/passwd 可读但不能写;用 chmod 600 /etc/shadow 修复
启用基础防护层
不用装复杂IDS,Linux自带工具就能挡大部分自动化攻击:
- UFW(Uncomplicated Firewall):一行启用 ufw enable,默认拒绝入站,再按需放行:ufw allow 2222/tcp
- fail2ban:监控日志自动封IP,装完启动即可生效:apt install fail2ban && systemctl enable –now fail2ban
- Automatic security updates:ubuntu/debian开自动更新:apt install unattended-upgrades && dpkg-reconfigure -plow unattended-upgrades
基本上就这些。加固不是一劳永逸,而是定期检查(比如每月跑一次 lynis audit system)、及时关新暴露的端口、不给root密码、不重用密钥——安全不在多,而在稳。