1.
概述与准备
- 目的:确保越南VPS(原生IP)上线后最小暴露面并阻挡常见攻击。
- 准备事项:获取VPS控制台登录、root或sudo账号、控制台复位访问、确认原生IP(在提供商面板查看)与域名解析权限;在本地生成SSH密钥 ssh-keygen -t ed25519。
- 连接测试:ssh root@你的IP(初次连上前在面板开启控制台防火墙规则以免锁死)。
2.
第一步:创建并部署SSH密钥
- 在本地生成密钥:ssh-keygen -t ed25519 -f ~/.ssh/vps_vn_id -C "vn-vps".
- 将公钥复制到服务器:ssh-copy-id -i ~/.ssh/vps_vn_id.pub root@IP 或手动把公钥追加到 /root/.ssh/authorized_keys(确保权限600/700)。
- 测试密钥登录:ssh -i ~/.ssh/vps_vn_id root@IP。
3.
第二步:SSH服务加固
- 编辑 /etc/ssh/sshd_config:修改或添加 PermitRootLogin no、PasswordAuthentication no、ChallengeResponseAuthentication no、PubkeyAuthentication yes、Port 2222(示例非标准端口)。
- 在改端口前先在防火墙允许新端口(见防火墙段),避免把自己锁住。保存后重启:systemctl restart sshd。
- 若使用SELinux或AppArmor,确保相应策略允许新端口。
4.
第三步:端口管理基本策略
- 原则:仅开放必要端口(SSH、HTTP/HTTPS、应用端口)。
- 使用非标准端口降低被扫描命中概率,但非替代安全措施。
- 定期扫描(本地或跳板)nmap -Pn -p1-65535 IP 或 ss -tunlp 查看监听服务。
5.
第四步:UFW 快速防火墙配置(适合Debian/Ubuntu)
- 安装并初始化:apt update && apt install ufw -y。
- 基本规则:ufw default deny incoming; ufw default allow outgoing; ufw allow 2222/tcp(SSH新端口); ufw allow 80,443/tcp。
- 启用并检查:ufw enable; ufw status verbose。
6.
第五步:iptables / nftables 高级规则
- 简单限速(iptables 示例):iptables -A INPUT -p tcp --dport 2222 -m conntrack --ctstate NEW -m recent --set --name SSH;iptables -A INPUT -p tcp --dport 2222 -m recent --update --seconds 60 --hitcount 5 --name SSH -j DROP。
- persistent 保存(Debian):apt install iptables-persistent;iptables-save > /etc/iptables/rules.v4。
7.
第六步:使用 fail2ban 防暴力破解
- 安装:apt install fail2ban -y。
- 创建本地 jail:/etc/fail2ban/jail.local 示例:
[sshd]
enabled = true
port = 2222
filter = sshd
maxretry = 5
bantime = 3600
- 重启服务:systemctl restart fail2ban;查看 jail 状态:fail2ban-client status sshd。
8.
第七步:基于 ipset 的批量 IP/地域封堵(可选)
- 安装 ipset:apt install ipset -y。
- 建立集合并加入规则:ipset create blocked hash:net;iptables -I INPUT -m set --match-set blocked src -j DROP。
- 批量导入可从 ipdeny 等处下载 CIDR 列表并用脚本导入 ipset(注意合法合规)。
9.
第八步:日志、审计与监控
- 监控关键日志:tail -f /var/log/auth.log /var/log/syslog /var/log/nginx/error.log。
- 安装 auditd:apt install auditd -y,配置简单规则 auditctl -w /etc/ssh/sshd_config -p wa -k sshcfg。
- 配合 logrotate 与远程日志(rsyslog 转发)避免本机磁盘耗尽。
10.
第九步:自动更新与补丁管理
- 开启 unattended-upgrades:apt install unattended-upgrades -y;dpkg-reconfigure --priority=low unattended-upgrades。
- 对关键服务选择手动更新策略,并在测试环境验证后再更新生产。
11.
第十步:备份与应急恢复
- 快照优先:使用VPS提供商控制面板做快照。
- 文件/数据库备份示例:rsync -avz /var/www/ user@backup:/path;或使用 mysqldump 并定期上传。
- 恶意事件响应:采集证据(tcpdump -w capture.pcap)、封锁攻击IP、恢复快照、分析入侵点并更改密钥与证书。
12.
问答一:使用原生IP 有什么额外风险?
- 问:原生IP 是否比 NAT/共享 IP 风险更高?
- 答:是的,原生IP通常直接暴露公网,容易被扫描与攻击。应严格控制开放端口、使用密钥登录、启用防火墙和fail2ban、并保持及时补丁与监控。
13.
问答二:如何在改SSH端口时避免被锁死?
- 问:改端口步骤如何安全执行?
- 答:先在防火墙允许新端口(例如 ufw allow 2222/tcp),再修改 /etc/ssh/sshd_config 并重启 sshd。保持当前会话不退出,先在另一终端用新端口建立会话确认成功后再断开旧会话。
14.
问答三:遭遇DDoS 时该怎么处理?
- 问:VPS 被DDoS 时应急流程是什么?
- 答:第一步联系提供商请求流量清洗或黑洞,第二步临时封锁高频源 IP(ipset/iptables)并降级服务,第三步恢复备份于其他节点并评估长期防护(CDN/抗D服务)。
来源:部署越南vps原生ip 时的安全加固、端口管理与防火墙设置要点