Linux 服务器安全加固 12 条 Checklist

为什么安全加固要先做

很多服务器被攻破,不是因为用了多高深的技术,而是基础加固没做:密码登录开着、防火墙没配、root 随便登。本文给你一份上线前就该照着勾的 12 条 Linux 安全清单,覆盖从登录到监控的关键点。

1. SSH 改用密钥登录,禁密码

# /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no
systemctl restart sshd

先把你的公钥放进 ~/.ssh/authorized_keys,确认能登再关密码,别把自己锁外面。

2. 改 SSH 端口

默认 22 是扫描重灾区,改成高位端口(如 22222)能挡掉大部分自动化爆破。

3. 开防火墙,只放必要端口

# ufw 示例
ufw default deny incoming
ufw allow 22222/tcp
ufw allow 80,443/tcp
ufw enable

4. 装 fail2ban 防爆破

连续失败几次就封 IP,对 SSH、Nginx 登录都有效。

apt install fail2ban
systemctl enable fail2ban

5. 禁用 root 直接登录

用普通用户 + sudo,即使账号泄露也拿不到最高权限。

6. 及时打系统补丁

apt update && apt upgrade -y
# 或配置无人值守更新

7. 最小化服务

关掉用不到的服务(如 telnet、rpcbind),减少攻击面。

8. 严格文件权限

Web 目录别给 777,配置文件(含密码)权限收紧到 600,属主正确。

9. 开启审计(auditd)

记录关键文件/命令的访问,出事后能溯源。

10. 启用 SELinux / AppArmor

给进程加最小权限边界,即使某服务被攻破也难横向移动。

11. 集中收集日志

rsyslog 或 ELK 把日志归到别处,服务器被清盘也能查到历史。

12. 定期备份

前面 11 条是”防”,备份是”兜底”。异地、加密、定期演练恢复,缺一不可。

小结

安全没有银弹,但把这 12 条默认勾上,能挡掉 90% 的自动化攻击。记住一个原则:默认拒绝、最小权限、留好退路(备份)。上线前花半小时做完,比出事后救火便宜得多。

上一篇 AI Agent 开发实战:从 Function Calling 到工具调用
下一篇 Redis 持久化选型:RDB vs AOF 深度对比