年服务器安全基线,一条都不能少:年服务器安全基线一条都不能少
为什么2026年安全基线不能打折扣
AI 滥用、供应链攻击、自动化扫描器越来越猛,去年还“够用”的配置,今年很可能变成突破口。2026 年服务器安全基线,一条都不能少——少改一个端口、少一个审计规则,都可能让黑客多一条路。
本文面向零基础用户,用六步操作把基线落地,每一步都附命令和避坑点。
动手前先确认这三件事
- 操作系统版本:执行
cat /etc/os-release看看是 Ubuntu 22.04/24.04 还是 CentOS 7/8(CentOS 7 2024 已停更,建议尽快迁移)。 - 更新源是否正常:
apt update(Debian/Ubuntu)或yum check-update(CentOS)。如果报错,先修复软件源。 - SSH 是否可远程:确保自己能用当前钥匙登录,避免后面锁了自己。建议开一个新终端窗口保持连接,防止误操作后断连。
六条加固命令,一条都不能丢
以下步骤按顺序执行,每条都有对应作用。
1. 关闭 root 远程登录并禁用密码登录
# 修改 SSH 配置
sudo sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/^PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
如果你的密钥还没部署,先执行这一步前把公钥放进 ~/.ssh/authorized_keys,否则会失联。
2. 清理多余用户和组
# 列出所有用户
awk -F: '$3>=1000 && $3<65534 {print $1}' /etc/passwd
# 对不需要的用户执行 sudo userdel -r 用户名
保留 root 和自己日常用账户,其余全删。
3. 配置防火墙(UFW 或 firewalld)
Ubuntu 用 UFW:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH 端口,如果你改端口就写新端口
sudo ufw --force enable
sudo ufw status verbose
CentOS 用 firewalld:
sudo systemctl start firewalld
sudo firewall-cmd --set-default-zone=drop
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
4. 开启审计日志并锁定配置
sudo apt install auditd -y # Ubuntu
sudo yum install audit -y # CentOS
sudo systemctl enable --now auditd
# 查看是否运行
sudo auditctl -s | grep enabled
5. 安装 Fail2ban 防暴力破解
sudo apt install fail2ban -y # Ubuntu
sudo yum install epel-release -y && sudo yum install fail2ban -y # CentOS
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
默认会监控 SSH 登录,连续失败 5 次封禁 10 分钟。
6. 开启自动安全更新
Ubuntu:
sudo dpkg-reconfigure --priority=low unattended-upgrades
# 选择“是”自动安装安全更新
CentOS:
sudo yum install yum-cron -y
sudo systemctl enable --now yum-cron
新手最爱踩的四个坑
- 坑1:防火墙规则顺序——如果先添加了允许规则,又执行了 deny all,会覆盖前面的。UFW 默认按添加顺序执行,注意先加允许再加限制。
- 坑2:Fail2ban 不生效——检查
/etc/fail2ban/jail.local中enabled = true是否打开,有时默认配置文件没启用。 - 坑3:禁用 root 登录后没测试——建议在另一个 SSH 窗口测试普通用户能否 sudo,然后再关闭当前 root 会话。
- 坑4:审计日志磁盘撑爆——配置 logrotate 保留 30 天,编辑
/etc/logrotate.d/audit设置rotate 30。
验证你的服务器现在有多安全
执行以下命令逐项检查:
# 检查 SSH 登录方式
sudo sshd -T | grep -E '(permitrootlogin|passwordauthentication)'
# 检查防火墙规则
sudo ufw status numbered # Ubuntu
sudo firewall-cmd --list-all # CentOS
# 检查 Fail2ban 运行状态
sudo fail2ban-client ping
# 检查审计是否运行
sudo auditctl -l | head -5
如果所有命令都返回预期值,说明 2026 年服务器安全基线已落实,一条都没少。建议每月跑一次上述验证,并定期更新规则和内核补丁。
遇到异常先回看前面避坑部分,大部分问题都能自己解决。