为什么安全加固要先做
很多服务器被攻破,不是因为用了多高深的技术,而是基础加固没做:密码登录开着、防火墙没配、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% 的自动化攻击。记住一个原则:默认拒绝、最小权限、留好退路(备份)。上线前花半小时做完,比出事后救火便宜得多。




