日志管理看了下,24 小时大概有 3 万多条记录。大部分记录都在试 Administrator ,但显然我已经把 Administrator 禁用了。
之所以发现这个问题,是因为中午出去吃个饭,回来就发现账户被锁定无法登陆了。Windows 本地安全策略里面的锁定时间跟尝试次数已经改成 1 分钟 18 次了。虽然可以改大,但感觉改大之后只会让他们提高爆破强度...
有装 Zerotier ,但是有时候 Zerotier 会挂,所以还是保留了公网的端口。
现在的问题有两个,一个是会遇到账户被锁定,等一段时间才能登陆。第二个问题是虽然密码被破的概率不高,但是一直在被爆,总感觉不爽。由于 Windows 密码经常需要手动输入,不可能像一般网站密码搞得那么复杂。密码复杂程度一高,便捷性也就受影响了。万一密码出现在某个字典里,那麻烦就大了。
有没有什么办法可以兼顾安全性跟便捷性?
![]() | 1 crab 2023-05-30 12:35:19 +08:00 ipsec 设置白名单 IP |
2 TerranceL 2023-05-30 12:39:51 +08:00 ban2fail 黑名单 随机生成密码 |
![]() | 3 txj 2023-05-30 12:41:08 +08:00 ![]() |
4 BH1SMB 2023-05-30 12:42:12 +08:00 我上次被爆破到无法登陆,然后不用的时候就关掉映射了。。。 |
5 yagamil 2023-05-30 12:43:49 +08:00 换了端口还这么多人爆破? 是有人专门要黑你这个服务器吧。。。 那种脚本小子的,一般都扫下默认,没有就下一个的,一般没必要耗死在一台机子上的。 或者你看看 ip ,是不是固定的一个访问的,直接 ban 掉就好了。 |
![]() | 6 amorphobia 2023-05-30 12:54:40 +08:00 影射到了 X3389 端口? |
7 kav2007 2023-05-30 13:08:03 +08:00 把 RDP 公网的端口映射关了。通过 ssh 隧道、端口映射,增加一层防护。 找一台 linux ,开启 ssh pub key 登录,禁用 ssh 密码登录,修改 ssh 默认端口。安装 fail2ban ,开启 ssh 防护。 需要访问 RDP 的时候,本地执行 ssh 端口映射。 |
![]() | 8 acbot 2023-05-30 13:09:07 +08:00 系统或者是网关上加上 IP 段白名单 |
![]() | 9 PHPer233 2023-05-30 13:11:38 +08:00 ![]() 建议换个端口。你这个端口已经在扫描器的识别范围内,换个毫无规律的随机端口,应该就安静了。。。 |
![]() | 10 gtheone1 2023-05-30 13:25:29 +08:00 我想问,不映射 3389 到外网直接访问,而是用 Zerotier 组网后再用 3389 ,这样更安全吧? |
![]() | 11 opengps 2023-05-30 13:26:47 +08:00 我教你个办法,你转发出去的端口只在需要时候开启公网 |
12 luckyc 2023-5-30 13:33:11 +08:00 买个堡垒机呗 |
14 yinmin 2023-05-30 13:49:48 +08:00 remote desktop 不能暴露在公网上。你可以试一下在服务器和客户机上都安装 stunnel ,然后启用双向证书认证,通过 stunnel 将服务器的 rdp 端口映射到客户机的 127.0.0.1:13389 stunnel 的 linux 版本和 windows 版本都可以用在生产环境,稳定性好,几乎不会出现软件挂掉的情况。 具体配置方式可以问 chatgpt 。 |
17 zmcity 2023-05-30 14:59:47 +08:00 找个支持云管理的路由器,有需要的时候再开端口。 |
18 githmb 2023-05-30 15:04:09 +08:00 |
![]() | 19 DengDDDD 2023-05-30 15:09:15 +08:00 后台在挂一个 ToDesk,zerotier 断了的时候,上 ToDesk 去解决 |
20 yhvictor 2023-05-30 15:13:04 +08:00 我记得 rdp 不是安全协议 不建议跑在公网。 套个 ssh 吧。 windows 自己好像也支持 ssh server 了,但我还没试。 |
![]() | 21 Portalv 2023-05-30 15:13:27 +08:00 不要暴露到公网,server 上弄个 vpn ,通过 vpn 来访问服务。 |
![]() | 22 newmlp 2023-05-30 15:13:54 +08:00 vpn 连到内网再远程控制 |
![]() | 23 mohumohu 2023-05-30 15:38:22 +08:00 Zerotier 会挂的可以自建 zerotier 。 |
![]() | 24 zhouu 2023-05-30 15:42:23 +08:00 我是家里运行 ss server ,通过 clash/surge 通过规则配置走 ss ,安不安全不好说,但还没遇到暴力破解访问的 |
25 luckyv2 2023-05-30 15:46:04 +08:00 自建 tailscale+ rustdesk 主要通过 tailscale+rdp 出问题就 rustdesk 还有一个内网备选的 nps 一直运行,上面都不行然后 nps 使用 tcp 进去内网然后 rdp 在调试 |
26 leefor2020 2023-05-30 16:18:40 +08:00 我是路由器上起一个 IPSec 的服务,这些服务都不暴露到公网 |
![]() | 27 peasant 2023-05-30 16:25:41 +08:00 看到这个贴子想起来我的远程端口也在开着,打开事件查看器看了下,昨天中午到现在,登录失败的记录有 31000 条 |
![]() | 28 wowpaladin 2023-05-30 16:26:15 +08:00 ipsec vpn 或者 ssl vpn |
![]() | 29 GoodRui 2023-05-30 16:28:25 +08:00 via Android @yagamil 早就不是这样了,N 多服务器,不管什么服务,只要映射到公网,不几天就全是各种爆破。都无语了。服务器业务端口全都是 4 5 万以上的,基本无一幸免。现在就靠强密码或者密钥来硬抗。什么 IP 白名单都没法弄,因为可能要多人访问,来源也不固定。 |
![]() | 30 hahiru 2023-05-30 16:31:03 +08:00 zerotier+tailscale ,双重保障。 |
33 huahsiung 2023-05-30 18:10:25 +08:00 我是加 vpn 但是还有其他两种简单方法 一个是微软的 rdp 协议强行验证信任的远程桌面证书,win10/server2012 以上都是 rdp over tls ,只是没有验证证书而已,第一次连接时候都要问你信不信任这个证书,强行验证这个可能要加域,不在域里面的无法连接,我没有试过。 还有一个,让扫描器扫描不到 rdp 服务就行了,一般扫描不到就不会爆破。传出的数据 xor 变化一下就行,实在不会加个 kcp-tunnel 也可以。会减少 99%的爆破 |
34 eudemonwind 2023-05-30 18:19:25 +08:00 via Android 理论上没事,win 系统只要一直跟着升级,开自动更新,在闹个 50 位的复杂密码,基本上爆不出来。 我一台 virjp 的小鸡 dd 了 win ,rdp 改了端口,在那放了一年,爆破日志十几个 G ,都没一点问题。还用的是默认 administrator 用户。实在不放心可以闹个火绒,管理下防火墙和出站连接,win 自带防火墙玩的溜的可以直接用自带防火墙替代火绒,搞个规则就行了。 |
35 paranoiagu 2023-05-30 18:21:03 +08:00 via Android 都 5 位数了,还一直被爆,这确实有点奇怪 |
36 PrinceofInj 2023-05-30 19:49:41 +08:00 映射成 22 试试看 |
37 callmebigfaceman 2023-05-30 19:50:54 +08:00 @paranoiagu 几位数都不行,我自己的也开了 5 位数端口。爆破从来没停止过,我用了笨方法,强密验证+登录短信告警。。目前还正常。 |
![]() | 38 jianyang 2023-05-30 21:06:18 +08:00 设置个简单的密码方便自己、防火墙设置入站 IP 拒绝小黑子 |
![]() | 39 tivizi 2023-05-30 21:11:05 +08:00 我服务器目前都用的是 TCP over HTTP 的代理端口通过 HTTPS 映射到本地访问,很舒服。或者稍微复杂点上 WireGuard 之类的 VPN |
40 lovelylain 2023-05-30 21:13:12 +08:00 via Android ![]() 运行 frps 和 frpc ,通过 stcp |
41 feaul 2023-05-30 21:26:17 +08:00 用 vpn ,WireGuard 最近用的不错,设置只允许 WireGuard 的客户端的地址可以访问。 |
42 fox0001 2023-05-30 21:36:41 +08:00 via Android 使用 ssh 作为安全网关。要远程桌面时,使用 ssh 登录并代理 3389 端口。 |
43 dode 2023-05-30 22:00:54 +08:00 1. RDP 开启白名单,只允许固定 IP 连进来 2. 电脑安装 WireGuard 套起来保护 RDP 3. win10 以上电脑安装 sshd 服务,设置好仅密钥登录,套起来保护 RDP |
![]() | 44 leloext 2023-05-30 22:03:55 +08:00 vpn 到内网再连,不要在公网上暴露。 BTW:映射到 5 位端口了还被爆破,是不是有点异常? |
45 yagamil 2023-05-30 23:25:51 +08:00 爆就爆呀,换端口,用个奇异的用户名+定期改密码。这样也会锁定吗? |
![]() | 46 Xbol 2023-05-30 23:34:01 +08:00 ![]() 之前搞了一个脚本,同一个 ip rdp 登陆几次失败就加防火墙 ip 黑名单。。每天看着黑名单 ip 越来越多有股成就感 |
![]() | 47 germain 2023-05-31 01:36:48 +08:00 via iPhone 3389 有很多 vulnerability 绝对不要放公网 |
![]() | 48 mingl0280 2023-05-31 08:02:10 +08:00 via Android 被映射的端口用 iptables 在网关或防火墙上加规则,只允许五分钟内尝试三次,否则就拉永久黑名单。非常有效。 |
49 Timk 2023-05-31 08:13:26 +08:00 vpn 连回家最稳了 |
50 liansishen 2023-05-31 08:20:11 +08:00 我一开始也是被爆破的没法正常登录,后来直接开启了白名单 客户端 IP 变动了就 rustdesk 连上去加一下白名单,基本上加一次能用好几天,也不算太麻烦了 |
![]() | 51 ChenSino 2023-05-31 08:51:07 +08:00 把外网的那个服务器的端口限制指定 ip 登录 |
52 openbsd 2023-05-31 09:16:23 +08:00 遇到同样的问题,虽然密码不怕被爆,但是日志看着难受 有条件的话,关掉端口,前面挡个防火墙开 VPN 改端口没啥用,动态 IP+63726 这种随机端口都每天几万条日志,触目惊心 |
53 fbichijing 2023-05-31 09:19:33 +08:00 如果能够设置密钥+密码登录的话,我觉得很难暴力进去吧。 或者你可以配置防火墙加一个 IP 白名单,只是动态 IP 的原因你得不时去更新配置,比较麻烦。当然,你可以通过许多方式去改善这个行为。 |
54 yqlian 2023-05-31 09:36:20 +08:00 ![]() 实测:系统内使用一个特殊的用户名(非 Administrator )+一个简单的密码(短至 6 位)+非标准端口,就足矣了。放在公网上几年都没有出过问题。反而同网一台使用 Administrator 用户+复杂密码+标准端口,被黑客撞击进来了。网络专家说用工具扫描一台机器的几万个端口也就几秒钟。可见端口并不是最有效的阻挡因素,第一步,非 Administrator 的特殊用户名才是最有效的。 |
![]() | 55 ALLENi 2023-05-31 09:41:37 +08:00 我 frp 用非管理员的用户名 加 5 位端口 加 大小写数字符号的密码 稳定一年多 爆破我就不知道了 不会看日志。 |
![]() | 56 huangzhe8263 2023-05-31 10:18:45 +08:00 knock 敲门 额外开一个端口,接受指定 uuid, 若是符合,则记录 ip ,并为该 ip 开启需要端口的权限 设定一个超时时间,超时后关闭该权限 每次访问前先手动访问额外端口,后再进行 rdp 连接 |
![]() | 57 cy18 OP 2023-05-31 10:28:18 +08:00 @huangzhe8263 #56 敲门感觉比较方便,有啥推荐的工具么? |
![]() | 58 hermanarturo 2023-05-31 10:42:47 +08:00 先把内网 3389 映射到公网高位端口。 然后设置主路由一旦收到公网 3389 端口扫描,就把对方 ip 拉黑。 |
![]() | 59 5200 2023-05-31 10:48:26 +08:00 @hermanarturo #58 拉不完的,之前试过,都拉黑了上百个 IP 。后面放弃了使用 VPN |
![]() | 60 hermanarturo 2023-05-31 10:53:48 +08:00 @5200 ip ban 一天就够了,目的不是拉黑,是让他们扫描到普通低位端口的时候就 ban 了他们,这样大概率不会发现高位的 3389 ? 我的 blacklist 基本上就是一两百的长度 |
![]() | 61 realpg PRO 一般远程我都限制本市 IP 本运营商 IP 访问 基本三大运营商正规宽带的 IP 段很固定 |
![]() | 62 ihciah 2023-05-31 12:00:12 +08:00 via iPhone 我这边的 shadow-tls v3 也可以拿来搞这个。 服务端对客户端的 client hello 有鉴权,通过后转发至配置的后端 A ,否则转发至后端 B 。 |
63 ghjexxka 2023-05-31 12:40:04 +08:00 via iPhone zerotier 都能接受的话,那用 v2ray 套一层加密后再转发应该也行 |
64 ghjexxka 2023-05-31 12:42:01 +08:00 via iPhone zerotier 都能接受的话,那用 v2 ,ray 套一层加密后再转发应该也行 |
65 nightwitch 2023-05-31 13:05:18 +08:00 via Android 不建议暴露 rdp 到公网,历史上多次出现鉴权和远程代码执行这种严重安全漏洞 |
66 yuchenr 2023-05-31 14:20:48 +08:00 ``` Import-Module NetSecurity $startTime = Get-Date $startTimeStr = $startTime.AddMinutes(-5).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.FFFZ") $failedAttemptsThreshold = 3 $Query = [xml]@" <QueryList> <Query Id="0" Path="Security"> <Select Path="Security">*[System[(EventID=4625) and TimeCreated[@SystemTime>='$startTimeStr']]]</Select> </Query> </QueryList> "@ function Get-IPAddresses { param ( [xml]$query, [int]$maxEvents ) $events = Get-WinEvent -FilterXml $query -MaxEvents $maxEvents if (-not $events) { Write-Host "未获取到任何日志。脚本将退出。" return } $events | ForEach-Object { $_.Properties[19].Value } } $failedIPs = Get-IPAddresses -query $Query -maxEvents 100 | Group-Object | Where-Object { $_.Count -gt $failedAttemptsThreshold } | Select-Object -ExpandProperty Name -Unique $uniqueIPs = Get-IPAddresses -query $Query -maxEvents 100 | Select-Object -Unique $filteredFailedIPs = $failedIPs | Where-Object { $_ -notmatch '^192\.168\.' -and $_ -notmatch '^10\.' -and $_ -notmatch '^172\.(1[6-9]|2[0-9]|3[0-1])\.' } # 定义要过滤的特定 IP 地址列表 $specificIPs = @("192.168.1.100", "10.0.0.5") # 过滤掉特定 IP 地址 $filteredFailedIPs = $filteredFailedIPs | Where-Object { $_ -notin $specificIPs } $ruleName = "BlockIPs" $filteredFailedIPs = $filteredFailedIPs | Sort-Object # 获取现有的防火墙规则 $existingRule = Get-NetFirewallRule -DisplayName $ruleName if ($existingRule) { # 获取现有的远程地址过滤器 $existingAddressFilters = Get-NetFirewallAddressFilter -AssociatedNetFirewallRule $existingRule # 获取现有的远程地址 $existingRemoteAddresses = $existingAddressFilters | Select-Object -ExpandProperty RemoteAddress $existingRemoteAddresses = @($existingRemoteAddresses) $existingAddressFilters = @($existingAddressFilters) # 添加新的地址 $newRemoteAddresses = $existingRemoteAddresses + $filteredFailedIPs | Select-Object -Unique # 更新远程地址过滤器 $existingAddressFilters | Set-NetFirewallAddressFilter -RemoteAddress $newRemoteAddresses } else { Write-Host "规则 $ruleName 不存在。" New-NetFirewallRule -DisplayName $ruleName -Direction Inbound -Action Block -Protocol Any -RemoteAddress $filteredFailedIPs -RemoteAddressType "IP" } ``` |
![]() | 67 playboy0 2023-05-31 14:53:27 +08:00 可以把国外 ip 都封了 |
68 lx0758 2023-05-31 15:21:32 +08:00 我去, 刚刚看了下我的, 也是一堆审核失败..........我也换了端口的 |
![]() | 69 Jxnujason 2023-05-31 15:32:28 +08:00 端口限 ip ?我也被爆破过,后来用的时候就上后台开放一下 IP ,用的是 frps |
![]() | 70 zhj9709 2023-05-31 16:59:24 +08:00 @hahiru 我 zerotier+tailscale 一起用明显不如用单个的,不知道是不是一起用有干扰,ping 丢包率都高点。 |
72 asuraa 2023-05-31 17:13:28 +08:00 加入域环境 用证书登陆 |
73 iphoneXr 2023-05-31 17:31:07 +08:00 企业都是上 vpn 和堡垒机 ,任选其一不就行了。 |
74 Arthur2e5 2023-05-31 17:45:49 +08:00 @yinmin RDP 一样有 TLS 加密,再套一层 TLS… duh 。也不是不行。 就,一样是让爆破哥难受,fail2ban 等效功能也有啊 https://github.com/DigitalRuby/IPBan 。或者说,爆破哥真的是什么大问题吗? @yhvictor Windows XP SP3 就有 Network Level Authentication ,你在喝什么老酒啊? TLS 强制也有注册表配置 https://serverfault.com/a/128943 连接时候点一个自签名证书信任,和 ssh 信任 host key 是一个道理。 |
75 fyfy560 2023-05-31 18:46:26 +08:00 可以试试 IPBan ,设置成服务,自启动 |
76 snsqq 2023-05-31 19:33:18 +08:00 via iPhone 用系统自带的防火墙 限制特定 ip 访问 |
![]() | 77 documentzhangx66 2023-05-31 20:24:04 +08:00 ![]() 先给当地 IP 段做个白名单,直接避免 99.9999% 的攻击。 再来个 wail2ban 。 无敌。 |
![]() | 78 yankebupt 2023-05-31 22:31:55 +08:00 @cy18 以段为单位,出现 4 次非法登录的直接 ban C 段,出现 32 次非法登录的直接 ban B 段…… 看他有多少个 ip 吧. |
![]() | 79 cy18 OP @yankebupt #78 自动封 IP 有啥推荐的工具不? 封 IP 有一个局限,我另外还有一台没有公网 IP 通过 frp 转发的电脑,最近也被攻击了。frp 进来连接全是中继服务器的 IP ,没法封。 至于其他各种加密、转发、VPN 之类的,都需要额外装工具啥的,丧失了便捷性。 |
![]() | 80 f0rger 2023-05-31 23:20:14 +08:00 via iPhone 一直以为没事情,看前面说的,我也看了一下我的日志,现在还有尝试登录的。我是没启用超管,用的另外的账号和密码 |
81 nicevar 2023-05-31 23:53:52 +08:00 @paranoiagu 换 5 位数有啥用,对扫描程序来说几秒钟的事,意义不大 |
![]() | 82 someonedeng 2023-06-01 00:24:16 +08:00 白名单吧,爆破还好,就怕漏洞精准打击 |
![]() | 83 GBdG6clg2Jy17ua5 2023-06-01 08:41:26 +08:00 设置防火墙,只允许固定 ip 访问。比如家里 ip 会变动,就允许一段 /24 的 ip 访问,公司的直接固定 ip 。基本可以了 |
84 yy306525121 2023-06-01 08:49:58 +08:00 我是防火墙设置了只允许国内 IP 访问之后就好了, 因为之前被扫的时候发现全是国外的 IP 。 |
![]() | 85 cy18 OP @yy306525121 #84 我看了下日志,都是国内的 IP |
![]() | 86 cy18 OP @someonedeng #82 这个确实,有点吓人 |
87 summersun2021 2023-06-01 11:52:02 +08:00 @leloext vpn 到内网是不是也得至少开一个端口,因为家宽 ip 都是不固定的,需要用 ddns 来获取更新,那就必须要一个域名+开放端口。 |
![]() | 88 ZeroDu 2023-06-01 13:25:00 +08:00 求问怎么查看登录记录,那个 |
89 photon006 2023-06-01 13:42:24 +08:00 @cy18 试用 IPBan 确实不行,搭配 frp 失效,只适用公网 ip 端口转发的情况,我的 frpc 运行在 openwrt ,IPBan 获取的 ip 就是路由器内网 ip ,不属于公网 ip ,忽略不做任何操作 2023-06-01 13:26:57.8466|INFO|IPBan|Ignoring failed login for internal ip address 192.168.2.1 because ProcessInternalIPAddresses is false |
90 photon006 2023-06-01 13:44:54 +08:00 我平常的习惯不用 Administrator ,用自定义用户,这能避免不少攻击,相当于双层密码。 |
![]() | 91 leloext 2023-06-01 14:04:46 +08:00 @summersun2021 对的,ddns 算是(我自己的)常规操作了,用 vpn 来保护远程桌面,但要需确保 vpn 已知的漏洞得到修复。 |
92 cdswyda 2023-06-01 14:47:35 +08:00 想个办法,外网映射在自己用的时候才开,不要一直开着。 |
![]() | 93 EvineDeng 2023-06-01 15:47:33 +08:00 我在路由器上防火墙限制了 RDP 端口仅限本省电信 IP 访问,RDP 的连接记录中一年多来,在事件查看器中只有自己连接的记录。 |
96 ddd270700 2023-06-01 21:38:06 +08:00 via Android @huangzhe8263 大佬,有相关的文章链接么? |
97 AIyunfangyu 2023-06-30 10:50:37 +08:00 可以了解下我们的防御 合作交流 V:with--tea |
98 wslzy007 2023-07-22 17:02:28 +08:00 |
99 asdgsdg98 2023-07-28 15:57:23 +08:00 基本都是国外 ip 打来的,白名单加自己省份的 ip |
![]() | 100 anciusone 2023-07-31 23:58:12 +08:00 我用了 RDPGuard 保护 RDP 和 FTP 端口,自动封 IP 。找不到资源的话,踢我。 |