对于一台暴露在公网上的 VPS,不做安全措施就像是“裸奔”,很容易遭到暴力破解攻击。我们需要在不破坏 Docker 网络的前提下,给系统加上几把锁。
- 修改 SSH 默认端口(最有效)
黑客的自动化脚本会扫描所有 IP 的 22 端口。换成一个五位数的端口可以挡掉 99% 的暴力攻击。
编辑配置文件:nano /etc/ssh/sshd_config
找到 #Port 22,去掉 # 并改为 Port 12345(换成 10000-65535 之间的任意数字)。
保存退出后重启
SSH:systemctl restart ssh
注意:下次登录时,记得在 SSH 工具里把端口从 22 改为你的新端口。
- 启用防火墙并开放必要端口
因为你用了 Docker,防火墙配置需要特别小心,避免把 Docker 的流量墙掉。
# 安装 UFW
apt install ufw -y
# 默认禁止所有传入,允许所有传出
ufw default deny incoming
ufw default allow outgoing
# 必须放行的端口
ufw allow 80/tcp # HTTP (Caddy 申请证书用)
ufw allow 443/tcp # HTTPS (访问博客用)
ufw allow 12345/tcp # 你的新 SSH 端口 (务必根据上一项修改!)
ufw allow 1080/udp # Hysteria 2 主端口
ufw allow 20000:50000/udp # Hysteria 2 端口跳跃范围
# 启用防火墙
ufw enable
- 安装 Fail2Ban(自动禁封)
这个工具会自动监控登录日志,如果有人尝试密码错误超过 3 次,直接封锁对方 IP 24 小时。
apt install fail2ban -y
# 创建基础配置
cat <<EOF > /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 12345
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 24h
EOF
systemctl restart fail2ban
最后一次更新于2025-12-22

0 条评论