Linux 服务器刚装好别急着跑生产!这 5 个安全加固步骤少一个都危险
新安装的 Linux 服务器就像一张白纸,充满潜力但也极度脆弱。很多开发者为了快速上线业务,跳过安全配置直接部署应用,结果往往导致服务器被入侵、数据泄露甚至沦为肉鸡。本文总结 5 个必须完成的安全加固步骤,每一步都有详细操作,请务必在接入生产流量前执行。
第一步:立即更新系统与软件包
新系统镜像可能包含已知安全漏洞的软件版本。首先确保所有包处于最新:
# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL/Fedora
sudo yum update -y # 或 sudo dnf update -y
此外,建议启用自动安全更新(Ubuntu 可使用 unattended-upgrades,RHEL 使用 yum-cron)。
第二步:加固 SSH 配置
SSH 是远程管理的生命线,也是黑客最常攻击的入口。必须做到:
-
禁用 root 直接登录
编辑/etc/ssh/sshd_config,修改:PermitRootLogin no -
更换默认端口(可选但推荐)
将#Port 22改为其他高位端口,如 2222。 -
仅允许密钥认证
注释掉PasswordAuthentication yes并改为:PasswordAuthentication no -
限制允许登录的用户
添加:AllowUsers your_username
修改后重启 SSH 服务:sudo systemctl restart sshd。务必先打开一个新终端测试连接,确认无误再关闭原会话,避免被锁在门外。
第三步:配置防火墙
使用 ufw(Ubuntu)或 firewalld(CentOS)或直接使用 iptables 只开放必要端口。
以 ufw 为例:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh # 如果修改了 SSH 端口,使用具体端口,如 sudo ufw allow 2222/tcp
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
第四步:安装并配置 Fail2Ban
Fail2Ban 能自动检测并封禁频繁尝试登录的 IP,有效阻击暴力破解。
# 安装
sudo apt install fail2ban -y # 或 yum install epel-release && yum install fail2ban
# 复制默认配置
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# 编辑 /etc/fail2ban/jail.local,确保 [sshd] 部分已启用(或添加自定义配置)
# 重启服务
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# 查看封禁状态
sudo fail2ban-client status sshd
第五步:启用强制访问控制(SELinux 或 AppArmor)
Red Hat 系默认启用 SELinux,Ubuntu 默认使用 AppArmor。请勿轻易关闭,而是调整为适当模式并添加策略。
- 查看状态:
getenforce(SELinux) 或sudo aa-status(AppArmor) - SELinux 推荐设置为 enforcing:
sudo setenforce 1(持久化需修改/etc/selinux/config中SELINUX=enforcing) - 若因应用需要调整策略,使用
audit2allow工具生成允许规则,而非直接 setenforce 0。
总结:以上 5 步是最基本也是最有效的安全底线。服务器安全没有终点,建议定期进行安全审计、监控日志、安装并更新安全补丁,才能保障业务长期稳定运行。