.
本教程使用最新版本录制 3X-UI v3.8.5、Ubuntu v26.04、v2rayN v7.24.4
.
准备 VPS
高质量线路 最性价比 VPS - 搬瓦工
注册、登录 官网 👉点击前往
$49/年 点击👉
https://cutt.ly/gtsESaYA
线路:US - Los Angeles DC2 (USCA2)
视频同款 $49/季
https://cutt.ly/MeHOhuy0
线路:US - Los Angeles DC6 CN2GIA (USCA_6)
低延迟、晚高峰流畅
$21/年起 更多套餐 👉点此前往
重置VPS
重新安装操作系统 Ubuntu 26.04 (或 24.04 )
注:如果你是刚买的全新VPS,并且系统是Ubuntu
26.04,可以跳过此步骤。
更新脚本
.
测vps是否被墙
退出所有翻墙代理软件,使得本机处于裸奔直连。
打开 终端 窗口,
输入以下代码:
ping -n 6 11.12.13.14
如果返回值,6次都是连接超时, 说明IP被墙,需联系客服更换IP。
SSH工具
finalshell下载
SSH工具,服务器管理,支持挂代理连接VPS,支持Windows,macOS,Linux,版本4.6.3
1.国内云盘(夸克盘
高速)
https://pan.quark.cn/s/4a24db8c0748
2.国外云盘(百度盘海外版 免费1T空间)
https://terabox.com/s/1dvrAru9rfJFuJAnVYfxW8A
安装3X-UI
VERSION=v3.8.5 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION
3x-ui 官网 https://github.com/MHSanaei/3x-ui
找 伪装网站
bash <(curl -Ls https://raw.githubusercontent.com/afeinet/sni-test/main/sni.sh)
搭建VPS节点
.
准备 住宅IP
本期以 onesProxy 的住宅IP为例来演示。
注册、登录 官网:
https://cutt.ly/St2c9p9W
按带宽计费,带宽有10M,15M,20M,25M,30M。
搭建住宅IP节点
电脑端Win 配置v2rayN
版本:7.24.4
-
国内云盘(高速)
1 ) 下载 "宝箱":
https://pan.quark.cn/s/699b56703992
2 ) 下载 "钥匙":
https://pan.quark.cn/s/f84d5a2a7fa0
3 ) 下载后 使用方法:
(1) 把"钥匙"复制到"宝箱"的文件夹的内部, 使得所有文件放在同一个文件夹内;
(2) 在"宝箱"的文件夹,双击"afei", 会生成一个压缩包,解压缩即可. -
国外云盘(百度盘海外版 免费1T空间)
https://terabox.com/s/1t8D6luxyt2eUOp8lUzmqVA
电脑端 避免真实IP泄露
插件WebRTC Contrl下载
-
国外云盘(百度盘海外版 免费1T空间)
https://1024terabox.com/s/1h6WCeZ_RFG2i0UAGHiJwSA
IP品质测试
常规属性
https://ping0.cc
https://ipinfo.io
欺诈检查
https://scamalytics.com/ip
严风控网站测试
Tiktok:
https://www.tiktok.com/
网速测试
苹果 电脑+手机 小火箭
1.美区apple ID获取:
点击👉前往官网
2.充值4美金、充值卡、小火箭账号购买:
https://cutt.ly/CtSmpGlb
3.在 苹果应用商店 中下载 shadowrocket (小火箭)
支持 iPhone, iPad,
MacOS, apple TV.
shadowrocket (小火箭)
是一款付费软件,标称费用为$2.99,实际费用为$3.14.
重要!
避免真实IP泄露,访问强风控的网站或APP时,需要开启 全局 代理
模式。
安卓手机 NekoBox
可以在 Google Play 商店下载, 或者
1.国内云盘(高速)
1 ) 下载 "宝箱":「260524-nkb」
https://pan.quark.cn/s/26e6c550ec32
2 ) 下载 "钥匙":
https://pan.quark.cn/s/f84d5a2a7fa0
3 ) 下载后 使用方法:
(1) 把"钥匙"复制到"宝箱"的文件夹的内部,
使得所有文件放在同一个文件夹内;
(2) 在"宝箱"的文件夹,双击"afei",
会生成一个压缩包,解压缩即可.
2.国外云盘(百度盘海外版 免费1T空间)
https://1024terabox.com/s/1Kl-ziWlJko2QgiSRp1tVhA
.
如何知道你自己的VPS流量是否被偷跑
如何知道VPS是否被攻击 被暴力破解
如何查出攻击我们VPS的IP
如何更改SSH端口
如何安装防火墙UFW
如何放行我们需要的端口 关闭其他不用的端口
如何封杀攻击我们VPS的IP
如何设置封杀IP的规则 关小黑屋的天数
如何解封我们封杀过的IP
一、 流量排查与状态监控
1. 网页后台查看与预警(以搬瓦工 KiwiVM 为例)
-
设置流量预警邮件:
进入
KiwiVM Admin Controls->Security & Records->Email notifications,开启Bandwidth usage alert at 50% threshold(当流量使用达 50% 时自动发邮件提醒)。 -
查看历史流量统计:
进入
KiwiVM Admin Controls->Security & Records->Usage statistics。
2. 服务器端排查异常连接与攻击
-
查出当前正在连接的 IP:
ss -tunp state established -
查出尝试暴力破解 SSH 登录失败的 IP 排行(前 20 名):
适用于 systemd 日志系统(如 Debian/Ubuntu 新版本)
sudo journalctl _SYSTEMD_UNIT=ssh.service | grep "Failed password" | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -n 20适用于传统日志文件
sudo grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -n 20
二、 基础安全加固:修改端口与防火墙
1. 更改 SSH 默认端口
不要再使用默认的 22 端口,将其修改为万位数的随机端口(如
23456),这能直接过滤掉 99% 的自动化黑客扫描。
- 修改配置文件:
sudo nano /etc/ssh/sshd_config
-
将
Port 22改为Port 23456(记得在下方防火墙放行该端口)。 -
重启 SSH 服务生效:
sudo systemctl restart ssh
或
sudo systemctl restart sshd
2. UFW 防火墙配置
⚠️ 服务商外层安全组提示:
阿里云、腾讯云、AWS 等厂商在控制台自带“安全组/防火墙”。如果厂商外层没放行某个端口,你内部就算用 UFW 放行了,外部也无法访问。请确保两边配置一致。
步骤 1:检查与安装 UFW
sudo ufw status
如果提示 command not found,则运行以下命令安装:
sudo apt update && sudo apt install ufw -y
步骤 2:查看当前 VPS 正在使用的端口
sudo ss -tuln
注: -t (TCP), -u (UDP), -l (监听中), -n (显示数字端口号)
步骤 3:放行必要的端口(关闭其他所有端口)
根据上一步查到的端口,依次放行。绝对不要漏掉 SSH 端口,否则会导致无法远程连接!
- 必须:放行你的 SSH 端口(假设你改成了 23456)
sudo ufw allow 23456/tcp
- 常用端口放行示例
-
删除端口
查看 端口是以什么规则存在的: - 进阶:放行连续的端口范围
sudo ufw allow 80/tcp # HTTP
.
sudo ufw allow 443/tcp # HTTPS
sudo ufw status numbered
输出中会看到类似
[ 1] 22/tcp ALLOW Anywhere
这样的带编号列表。
直接删除该允许规则
sudo ufw delete allow 22/tcp
或者根据第一步查到的编号(假设是编号 1)直接删除:
sudo ufw delete 1
如果你是通过删除编号的方式修改了规则,或者直接编辑了 UFW 的底层配置文件(比如
/etc/ufw/before.rules),那么必须执行一次重载命令:
sudo ufw reload
sudo ufw allow 8000:8080/tcp # 批量放行 8000 到 8080 的 TCP 端口
sudo ufw allow 5000:5050/udp # 批量放行 5000 到 5050 的 UDP 端口
步骤 4:启用防火墙并验证
启用防火墙(提示可能中断连接时,输入 y 回车)
sudo ufw enable
查看防火墙详细状态
sudo ufw status verbose
三、 进阶防爆破:安装与配置 Fail2ban
Fail2ban 是服务器防御的第二道防线。最稳妥的第一道防线依然是:关闭密码登录,改用 SSH 密钥认证。
1. 安装 Fail2ban
sudo apt update && sudo apt install fail2ban -y
查看运行状态
sudo systemctl status fail2ban
2. 配置文件规范(黄金法则)
Fail2ban 默认有两个核心文件:
-
/etc/fail2ban/jail.conf(默认配置文件,绝对不要直接修改,升级会被覆盖) -
/etc/fail2ban/jail.local(用户自定义文件,会覆盖 conf 的同名配置)
直接复制一份模板出来供我们修改:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑器修改
sudo nano /etc/fail2ban/jail.local
finalshell 定位文件、下载、修改、保存(适合小白)
3. 编辑自定义规则与 SSH 监控
打开
/etc/fail2ban/jail.local,将
[DEFAULT]
和
[sshd]
部分修改或确认为以下内容:
[DEFAULT]
# 白名单:绝对不会被封禁的 IP,多个 IP 用空格隔开。支持 IP 段(如 218.212.87.0/24)
ignoreip = 127.0.0.1/8 ::1 218.212.87.152
bantime = 999d # 只要被抓,直接封 999 天
findtime = 10m # 10 分钟内统计错误次数
maxretry = 2 # 输错 2 次密码就封禁
[sshd]
enabled = true # 必须设置为 true 才能启用 SSH 防护
port = 23456 # ⚠️如果你修改了 SSH 端口,这里必须改成你的新端口
logpath = %(sshd_log)s
backend = %(sshd_backend)s
修改完成后,重启服务生效:
sudo systemctl restart fail2ban
4. 验证白名单是否生效
查看全局默认白名单
sudo fail2ban-client get sshd ignoreip
正确输出应包含你的 IP,例如:['127.0.0.0/8', '::1', '218.212.87.152']
5. Fail2ban 日常运维命令
Fail2ban 提供了强力的命令行工具
fail2ban-client:
-
查看当前有哪些“监狱”正在运行:
sudo fail2ban-client status输出示例:Jail list: sshd
-
查看某个具体监狱的详细战果(如 sshd):
sudo fail2ban-client status sshd
可以看到当前被封禁的 IP 列表 (Banned IP list)
- 手动解封某个 IP(误报救援):
sudo fail2ban-client set sshd unbanip 你的IP地址
-
手动强制封禁某个恶意 IP:
sudo fail2ban-client set sshd banip 想要封禁的IP地址
四、 常用运维辅助命令
-
查看 VPS 当前使用的时区与时间:
timedatectl -
查看 Fail2ban 的攻击与封杀日志:
tail -f /var/log/fail2ban.log
重启VPS
-
获取SSH 端口
-
防火墙放行了吗?
运行
sudo ufw status
确保你修改后的那个新 SSH 端口处于ALLOW(放行)状态。 -
测试过新端口登录吗?
千万不要断开当前这个好不容易连上的 SSH 窗口!请在电脑上新开一个终端窗口,尝试用新端口连接一下 VPS。
ssh -p 新端口号 用户名@你的VPS_IPssh -p 23456 root@23.106.153.19只有在新窗口成功登录进去了,才说明配置完全正确。此时你再回到旧窗口放心地敲下
sudo reboot。
重启
sudo systemctl reboot
sudo fail2ban-client status sshd
完整版ubuntu (BrainHost RackNerd )不用额外设置,重启后直接使用。
精简版Ubuntu (如 搬瓦工)重启后,会发现无法使用,需要特殊设置1次。
打开
sudo
nano /etc/fail2ban/jail.local
搜索 backend,其下面
[DEFAULT]
# 告诉 Fail2Ban 默认使用 systemd 后端读取日志
将
backend = auto
改为
backend = systemd
原因:在很多较新的 Linux 系统(如 Debian 12+、Ubuntu 22.04+,或者部分精简版的 VPS
系统)中,系统默认取消了传统的日志文件,改为完全由
systemd-journald
统一接管。重启前 Fail2Ban
可能还能勉强运行,但重启后系统没有生成这些旧的日志文件,Fail2Ban
找不到它们,于是就直接罢工(崩溃)了。
评论
发表评论