Linux服务器安全加固必须在上线前完成,核心是SSH密钥认证、防火墙最小化放行、用户权限最小化三重防护,禁用密码登录、root远程、非必要服务及端口,确保系统更新、日志审计与权限管控到位。

Linux服务器系统基础安全加固不是“锦上添花”,而是上线前必须完成的底线动作。默认安装的系统面向通用性和易用性,安全性极低——弱密码、root直连、22端口裸露、无用服务全开,等于把钥匙挂在门把手上。实战中,真正的加固不靠堆工具,而靠清晰逻辑和关键动作落地。
系统更新与漏洞修复
老旧内核和软件包是攻击者最常利用的入口,上线前必须完成全量更新:
- Ubuntu/Debian 执行:sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
- CentOS/Rocky 执行:sudo yum update -y && sudo yum autoremove -y
- 检查并关闭无用自启服务(如 bluetooth、cups、avahi-daemon),执行 systemctl disable --now [service]
- 删除或锁定默认测试账户(如 lp、games、ftp),用 userdel -r 用户名 或 usermod -L 用户名
SSH 远程访问加固
90% 的入侵始于 SSH,这是必须守住的第一道门:
- 创建普通运维账号(如 admin),设置高强度密码,并加入 sudo 组:useradd admin && passwd admin && usermod -aG sudo admin
- 编辑 /etc/ssh/sshd_config,确认以下配置已生效:
— PermitRootLogin no
— PasswordAuthentication no
— PubkeyAuthentication yes
— Protocol 2
— MaxAuthTries 3
— ClientAliveInterval 300 - 修改默认端口(如设为 22222),重启 sshd 后,务必同步在防火墙中开放新端口
- 限制可登录用户范围,添加 AllowUsers admin@192.168.1.* 或配合防火墙做 IP 白名单
防火墙与网络暴露控制
最小暴露原则:只放行业务必需端口,其余一律拒绝:
- Ubuntu 使用 ufw:ufw enable && ufw allow 22222/tcp && ufw allow 80/tcp && ufw allow 443/tcp
- CentOS/Rocky 使用 firewalld:firewall-cmd --permanent --add-port=22222/tcp && firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload
- 禁用 ICMP 响应,防止服务器被快速发现:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all(可写入 /etc/sysctl.conf 持久化)
- 避免开放数据库端口(如 3306、5432)到公网,确需远程管理时,优先走跳板机或 SSH 端口转发
权限与日志审计基础
权限失控和日志缺失,会让问题发生后无法回溯:
- 启用强密码策略(如要求 8 位以上、含大小写字母+数字+特殊字符),Debian/Ubuntu 可配置 pam_cracklib,RHEL/CentOS 修改 /etc/pam.d/system-auth
- 定期审查 sudo 权限:sudo -l -U 用户名,避免过度授权;敏感命令建议单独授权,而非授予 ALL
- 确保日志保留足够周期(至少 90 天),关键操作(如 sudo、SSH 登录)记录完整;生产环境建议将日志发往远程日志服务器,防篡改
- 检查关键目录权限(如 /etc/shadow 应为 000,/etc/passwd 644),用 ls -l 快速验证


















