服务器安全加固:几件事就能挡住 90% 的攻击
服务器刚开通,默认配置往往不安全。花十分钟做几件事,能挡住绝大多数自动化攻击。
一、SSH:关掉密码登录
SSH 暴力破解是最常见的攻击方式。检查你的 /etc/ssh/sshd_config:
1 | PermitRootLogin prohibit-password # 只允许密钥登录 root |
改完重启 SSH:
1 | systemctl restart sshd |
::: warning
关闭密码登录前,确保你的密钥已经能用,否则会被锁在外面。
:::
二、数据库:不要暴露公网
MySQL 默认可能监听 0.0.0.0:3306,这是极危险的。改成只监听本地:
1 | # my.cnf |
需要远程连接数据库?用 SSH 隧道,不要直接暴露 3306。
三、防火墙:只开必要的端口
用 firewalld 或 ufw,只放行真正需要的端口:
1 | # 阿里云除了系统防火墙,还有"安全组"这一层,两层都要配 |
用不到的端口一律关闭,减少攻击面是最有效的安全措施。
四、装 fail2ban:自动封禁爆破 IP
1 | dnf install fail2ban # 或 apt install fail2ban |
fail2ban 会监控日志,多次登录失败的 IP 自动封禁。
五、定期更新
1 | # 设置自动安全更新 |
安全检查清单
| 项目 | 状态 |
|---|---|
| SSH 关闭密码登录 | ☐ |
| SSH 禁止 root 直接登录 | ☐ |
| 数据库不暴露公网 | ☐ |
| 防火墙只开必要端口 | ☐ |
| 安装 fail2ban | ☐ |
| 定期系统更新 | ☐ |
| 重要数据定期备份 | ☐ |
小结
安全不需要多高深,做好这几件基础的事,就能挡住绝大多数自动化扫描和攻击。真正的高手攻击很难防,但那不是个人服务器要担心的问题——自动化扫描脚本才是主要威胁。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 优梦笔谈!