起因是发现 frp dashboard 远程桌面端口流量非常大,然后查看远程桌面主机的事件查看器,非常密集的账户登录失败事件,大概每秒 3-5 次。下面是事件信息。 ps:暴露端口不是 3389,密码也是强密码
帐户登录失败。
使用者:
安全 ID: NULL SID
帐户名: -
帐户域: -
登录 ID: 0x0
登录类型: 3
登录失败的帐户:
安全 ID: NULL SID
帐户名: xxxxxxx
帐户域: DESKTOP
失败信息:
失败原因: 未知用户名或密码错误。
状态: 0xC000006D
子状态: 0xC000006A
进程信息:
调用方进程 ID: 0x0
调用方进程名: -
网络信息:
工作站名: -
源网络地址: 127.0.0.1
源端口: 0
详细身份验证信息:
登录进程: NtLmSsp
身份验证数据包: NTLM
传递服务: -
数据包名(仅限 NTLM): -
密钥长度: 0
登录请求失败时在尝试访问的计算机上生成此事件。
“使用者”字段指明本地系统上请求登录的帐户。这通常是一个服务(例如 Server 服务)或本地进程(例如 Winlogon.exe 或 Services.exe)。
“登录类型”字段指明发生的登录的种类。最常见的类型是 2 (交互式)和 3 (网络)。
“进程信息”字段表明系统上的哪个帐户和进程请求了登录。
“网络信息”字段指明远程登录请求来自哪里。“工作站名”并非总是可用,而且在某些情况下可能会留为空白。
“身份验证信息”字段提供关于此特定登录请求的详细信息。
-“传递服务”指明哪些直接服务参与了此登录请求。
-“数据包名”指明在 NTLM 协议之间使用了哪些子协议。
1
yeqizhang 2021-03-19 19:04:55 +08:00 via Android
Windows 这么弱的?
|
2
selca 2021-03-19 19:14:10 +08:00
你不说我没发现,我也看了一样我的 Windows 日志,也是一样的情况,改个端口看看呢
|
4
Navee 2021-03-19 19:22:49 +08:00
frp 可以设置密钥
|
5
m2276699 2021-03-19 19:28:01 +08:00
frp stcp
|
6
hanxiV2EX 2021-03-19 19:29:50 +08:00 via Android
这个日志在哪里看的?
|
7
hand515 2021-03-19 19:39:48 +08:00 via Android
用 stcp,若直接暴露到公网,被暴破也正常
|
9
SenLief 2021-03-19 19:54:57 +08:00
换个域名。或者换个 ip
|
10
Ayahuasec 2021-03-19 19:58:30 +08:00
我是在 frp 服务器用 iptables 做一下屏蔽,设置了只放行我所在城市的 IP 段,之后就清净了好多。
|
11
BeautifulSoap 2021-03-19 20:02:33 +08:00
@yeqizhang 注意看帖,lz 是被爆了,没有破
|
12
Osk 2021-03-19 20:10:05 +08:00 via Android
欢迎来到公网,vps 上看一下 sshd 的日志吧,特别是开 22 端口的,只能说彼此彼此。
ps:开到公网后请及时更新 windows 的安全补丁哦! |
14
zhengfan2016 2021-03-19 20:16:40 +08:00 via iPad 1
frp 绑定域名套 cloudflare,如果仅自用的话,cloudflare 防火墙加规则禁止非中国 ip 访问
|
15
ik 2021-03-19 20:23:10 +08:00 via iPhone 1
使用频率低的话,端口不暴露,ssh 映射到本地再连接。
使用频率高的话用 vpn 组网 |
16
yeqizhang 2021-03-19 20:35:39 +08:00 via Android
@hand515
@BeautifulSoap 没看清,以为破了……噗…… 暴露在公网的东西,被攻击很正常吧……我的 ssh 一天几百到几千字被试密码,不是弱密码让他们玩去…… 楼主如果用的路由器的 frp,可以用 frpc 的页面管理,需要用的时候再反代到 Windows 机器上 |
18
iBugOne 2021-03-19 20:43:01 +08:00
我的做法是用 iptables,默认屏蔽 RDP 的端口( reset 所有新 TCP 连接),然后给 VPS 上自己的用户写了个 ~/.ssh/rc 文件,给自己的登录 IP 放通 10 分钟的 RDP 端口,这样我每次 SSH 登录成功后 10 分钟内我的 IP 可以连接 RDP 端口,剩下就是本地写个脚本 SSH 连一下 VPS,这样每次我只要双击运行一下 SSH 脚本,就可以马上双击旁边的 .rdp 配置文件,并且不用担心被人扫描的情况
|
19
123abcdf11345 2021-03-19 21:22:34 +08:00
一律 shutdown 解决
|
21
yyyb 2021-03-19 21:34:46 +08:00
iptables 自己的 ip 白名单,动态 ip 也不怕,ddns 个免费域名,10 分钟更新一下
|
22
ThirdFlame 2021-03-19 21:44:32 +08:00
nps 的私密代理 可以了解一下。
|
23
Maskeney 2021-03-19 23:09:06 +08:00
这是正常现象啊,有什么值得单独拿出来说的吗?公网就是个黑暗森林啊
|
24
mingl0280 2021-03-20 01:08:21 +08:00
frp 是 linux 上安装的吗?
如果是的话你可以开个 Fail2Ban 规则,配合 iptables 就可以干掉大部分请求了。 |
25
seakingii 2021-03-20 01:15:48 +08:00
我是要用远程的时候上服务器打开端口,不用的时候关闭。
|
26
LeeReamond 2021-03-20 03:16:45 +08:00
说句题外话,请问 windows 上有类似 fai2ban 的工具吗?
|
27
mingl0280 2021-03-20 07:33:10 +08:00 via Android
@LeeReamond 我以前自己写过一个挺生草的东西,就是读登录请求然后多于五次失败的拉黑名单,不过比较不稳定……
其实你可以在 Windows 上开个 WSL 装 f2b 过滤。 |
28
LeeReamond 2021-03-20 08:27:57 +08:00
@mingl0280 f2b 这东西得接入日志吧,咋接 windows 日志不会啊。至于自己写,怕是写完以后因为运行占用太多 CPU 资源导致以为被攻击┓( ´∀` )┏
|
29
ciaoly 2021-03-20 08:33:01 +08:00 via Android
可以把 FRP 换成 mesh VPN,Windows 上只允许 VPN 流量进入。而且 mesh VPN 成功打洞后直连还挺快的
|
30
zjsxwc 2021-03-20 08:53:59 +08:00
买个域名吧,frp 可以限制域名连接端口,你买个又长又乱码的域名指向你的 frp server,然后 frp 绑定端口到这个域名就行,直接用 ip 风险确实大。
|
31
lqw3030 2021-03-20 08:56:16 +08:00 via iPhone
|
32
mingl0280 2021-03-20 09:01:27 +08:00
@LeeReamond C#直接接入 eventlog 就行了,有事件发生会通知线程的。主要是你要知道你要监听的事件的 ID 什么的,挺简单。
|
33
40EaE5uJO3Xt1VVa 2021-03-20 09:14:33 +08:00
@zjsxwc 大佬,frp 怎么绑定域名访问端口
|
34
40EaE5uJO3Xt1VVa 2021-03-20 09:15:58 +08:00
|
35
zjsxwc 2021-03-20 09:26:41 +08:00
@yanzhiling2001 我看错了,只有 http 服务才能 custom domain
你直接 tcp,只能用 stcp 了 https://github.com/fatedier/frp#expose-your-service-privately |
36
rund11 2021-03-20 09:32:53 +08:00 via Android
1 换个端口,2 启用密钥没得问题
|
37
Blessing1 2021-03-20 10:36:28 +08:00
换个端口 然后设置好 只有你指定的 IP 或者 IP 域可以访问
|
38
v2tudnew 2021-03-20 11:45:34 +08:00
最不担心的就是爆破了,穷举出来了我马上去买彩票。
|
39
129tyc 2021-03-20 11:53:36 +08:00 via Android
可以使用 v2ray 做反代,比直接用 frp 更加安全
|
40
taylor007 2021-03-20 13:08:34 +08:00
一键关机解决 (开玩笑的,不过如果用密钥的话要好吧
|
41
wzw 2021-03-20 13:18:26 +08:00 via iPhone 2
你们都用 frp,我用 nps,感觉配置更灵活,客户端不用配置
|
42
v2tudnew 2021-03-20 14:13:17 +08:00
其实还有个办法,RDP 被登陆时邮件提醒。虽然不能防御,但可以亡羊补牢。
|
43
ReferenceE 2021-03-20 14:24:20 +08:00 via Android
换端口试试?
|
44
EVJohn 2021-03-20 15:10:19 +08:00
用 tinc 把,或者是 zerotier
|
45
Huelse 2021-03-20 16:20:41 +08:00
我用的 wireguard https://huelse.gitee.io/posts/wireguard-nat-lan/
|
46
NSAgold 2021-03-20 16:22:29 +08:00 via Android
@zhengfan2016 #14 审题啊 他是 3389 的 tcp 连接,cf 防不了
|
48
kruskal 2021-03-20 20:00:38 +08:00
|
50
bjdgyc 2021-03-20 22:46:27 +08:00
可以试试用 vpn 的方式解决
https://github.com/bjdgyc/anylink |
51
no1xsyzy 2021-03-20 23:09:19 +08:00
如果不是暴露给别人用,那就不要把端口暴露到公网,要可识别来源的 VPN 类方案。
|
52
PUBG98k 2021-03-20 23:09:45 +08:00
可以试试 ToDesk
|
53
wevsty 2021-03-21 01:38:36 +08:00
|
55
laqow 2021-03-21 21:19:40 +08:00 via Android
目前是 frp 开放一个机场的服务端端口,通过飞机代理连内网再连 RDP,这样开放到外网只是一个没有特征的机场的端口。暂时没发现有攻击。
|
56
zlowly 2021-03-22 00:59:05 +08:00
提醒一下,安全防护方面不要寄希望于简单的服务端口就能躲过端口扫描,即使普通的 nmap 之类的工具都可以通过端口的指纹识别判断服务甚至版本。
|
57
Ansen 2021-03-25 16:04:09 +08:00
我的也是,在 github 上找到了这个项目, 根据实际情况 block 一些国家的 IP 就好了,我是 block 的是 俄罗斯
https://github.com/iiiiiii1/Block-IPs-from-countries |