
RT 更改了默认的 22 端口,几天观察下来,尝试登录的记录一点都没有减少。 作为一项安全访问措施, [更改 ssh 默认的 22 端口] 可以移除了。
1 Kinnice 2024-12-02 17:06:29 +08:00 咋?观察一下一台机器就能得出结论。 |
2 zengxs 2024-12-02 17:17:16 +08:00 设置 ssh 为只允许 pub key 登录,你就会发现没人再去尝试登录你的机器了 |
3 spritecn 2024-12-02 17:19:30 +08:00 优先扫[1-9]022,[1-9]021,相信你是正常人,话说全扫一下也花不了多少时间 |
4 liaohongxing 2024-12-02 17:21:11 +08:00 好的工具 1-65535 端口探测只需要十几秒钟 |
5 driller 2024-12-02 17:26:24 +08:00 用 nmap 扫一遍 tcp 端口花不了多生时间,换端口增加安全性只适用于 udp ,因为那个不会应答吧 |
6 bobryjosin 2024-12-02 17:27:03 +08:00 via Android ssh 的特征非常明显,用 telnet 敲下端口就返回协议类型了,扫全端口也花不了多长时间。 |
7 donaldturinglee 2024-12-02 17:27:54 +08:00 你就不能换成 ssh key 登录吗... |
8 peasant 2024-12-02 17:50:49 +08:00 @zengxs 没有那么绝对,我国内腾讯云的机器设置了只允许 Pubkey 登录,也禁止了密码登录,lastb 能看到每天还是有很多乱七八糟的用户名尝试登录。 |
9 odirus 2024-12-02 17:55:33 +08:00 fail2ban |
10 bingoso OP @Kinnice 我这是任意抽检两台云服务器观察一周得出的这个结论,可靠性应该是很高的。 @zengxs 密钥登录和密码登录的安全性,现在还有争论。 @bobryjosin 确实低估了扫描工具的威力,我故意选用的高位端口,仍旧避免不了被扫。 |
11 odirus 2024-12-02 18:02:01 +08:00 我是服务商防火墙配置一次规则、服务器本身防火墙配置一次规则,如果要在服务器开放一些 HTTP 管理界面的话,用 Cloudflare tunnel + mTLS 双向证书,安全性无敌。 |
12 xPKK1qofAr6RR09O 2024-12-02 18:13:04 +08:00 @bingoso 端口扫描又不是什么高深的东西,咱 20 年前初中就在玩的东西了,称不上什么威力,这种广泛使用的协议太明显了。 |
13 hdp5252 2024-12-02 18:25:35 +08:00 via Android 私钥登录 |
14 codersdp1 2024-12-02 18:42:35 +08:00 有一点,但不多。 |
15 Aicnal 2024-12-02 19:09:30 +08:00 爱扫就扫呗,我服务器还关了 ping ,直接装死 |
16 julyclyde 2024-12-02 19:14:19 +08:00 ssh 协议是服务器主动的协议 这种协议随便一扫就知道端口号是多少了 更改端口号真的没什么意义 |
17 yankebupt 2024-12-02 19:19:22 +08:00 放个陷阱端口啊,低位端口放一个陷阱,只要这个端口有 tcp 扫立刻 ban ip……轮不到高位暴露 |
18 yankebupt 2024-12-02 19:24:07 +08:00 放陷阱端口的意义在于,除了骇客在扫,网安也在扫你,云服务商的各种外包云安全也在扫你,不想接受他们“插一杠子”式的服务的话,做个微型蜜罐有益无害 |
19 JerryYuan 2024-12-02 19:35:43 +08:00 via Android 所以我选择 VPN 连接,用 VPN 内网地址去登录云服务器。为了给 VPN 备份,主机开放 22 端口,但云服务器的安全组规则会直接封掉 22 端口,一旦 VPN 失效,去控制台临时放行一下 22 端口依然可以正常访问,不会被关在门外。 |
20 tabc2tgacd 2024-12-02 20:02:35 +08:00 确实,主要还是禁止密码登录,设置只能密钥登录 |
21 realpg PRO 只有一丁点作用,能减少一部分傻瓜的扫描器,降低服务器负载,降低网络开销 还是推荐改一下 |
22 lifansama 2024-12-02 20:43:14 +08:00 via Android fail2ban ,指数增长地增加拉黑时间 |
25 ashong 2024-12-02 20:55:58 +08:00 pubkey 登录,fail2ban |
26 liuzimin 2024-12-02 20:56:38 +08:00 我是直接用阿里云的安全组,ssh 还是保持为 22 ,平时直接阻止所有 ssh 连接,需要连的时候, 就手动把当前自己的外网 IP 加入白名单允许一下 ssh 连接,用完再关。 |
27 sagaxu 2024-12-02 21:05:21 +08:00 改端口是最没用的, fail2ban 能阻止频繁重试,但如果对方 IP 多也能不断换 knockd 端口敲门,默认不开启 22 端口,只有先用暗号敲门,比如 3089 9981 2416 三个端口依次连接过后,再对这个 IP 地址单独放行,不知道暗号扫描也扫不了 |
28 lpdink 2024-12-02 21:14:43 +08:00 我发现爆破的都是境外 IP 地址,白名单只允许大陆 IP 就行了 |
29 CatCode 2024-12-02 21:34:37 +08:00 改端口的功能不是给防攻击用的 而是让用户可以把 22 端口给别的程序用 应用场景举例: (一)某个“智商极高”的程序员的 HTTP 服务器在代码里面写死了监听 22 端口 (二)在 22 端口上开启 netcat 或者其他程序,检测其他 ssh 客户端发过来的握手包具体内容 |
30 importmeta 2024-12-02 21:35:08 +08:00 拿证书登录不就一劳永逸了? |
31 mingtdlb 2024-12-02 21:42:19 +08:00 @sagaxu knockd 这玩意要有对应的 ssh 客户端配合用,就很给力。不然连接之前还得写个 for 循环先探测一下 |
32 sfdev 2024-12-02 22:11:30 +08:00 via Android 想不让扫是不可能的,直接禁密码就行了,别的可有可无。 |
33 sagaxu 2024-12-02 22:18:41 +08:00 @mingtdlb 自带的就很好用 knock myserver.example.com 123:tcp 456:udp 789:tcp 云服务商其实都有 API 给你远程操控防火墙,我自己的服务器只对外开 443 端口,22 端口要走白名单,这个白名单里有一条是我的 IP ,cron 脚本定期更新。 |
34 uid106 2024-12-02 22:26:37 +08:00 via iPhone 推荐一个 go 项目 https://github.com/yosebyte/passport ,用他带认证的转发模式,不在 ip 白名单的直接丢包 |
35 WhatTheBridgeSay 2024-12-02 23:28:11 +08:00 @spritecn #3 要是我用 x3389 阁下又该如何应对 ![]() |
36 WhatTheBridgeSay 2024-12-02 23:29:03 +08:00 |
37 fuxkcsdn 2024-12-02 23:43:53 +08:00 只允许 key 登陆不是常规操作吗? 扫 端口的遇到要求 key 登陆的错误提示就不会再扫你的 ip 了 |
38 bao3 2024-12-03 00:05:19 +08:00 改端口确实没有任何意义,现在 cpu 和网络已经足够快了,全端口扫描也只是 10 秒的事。我想了想,唯一改端口的收益是在于避免 GFW 的干扰上。 |
39 aarontian 2024-12-03 00:30:45 +08:00 我的看法是 fail2ban 能解决改端口解决的所有问题,还更优雅,我已经至少五年没用过 22 以外的端口 ssh 了。 唯一不能解决的是 gfw 封端口的问题,但我印象里以前开新机,22 端口经常被阻断连不上,一配置好 fail2ban 立马好了,不像是 gfw 的问题,我不清楚原因是什么,可能是太多人尝试爆破把连接数占满了(或者类似原因)? |
40 tril 2024-12-03 02:17:40 +08:00 确实没大用,但也不是完全没用。 我曾经也是密码+高位端口,很多机子都可以避免被大量扫爆,但也遇到过被人盯着高位端口爆破了几万次。 改成证书登录吧,还有没有人继续扫爆我不知道,但起码 lastb 里不会再有记录了,看着安心点。 ^^_ |
41 ZeroClover 2024-12-03 04:46:19 +08:00 @FanError 甚至不需要任何第三方工具,单凭 nftables 就能实现 tcp dport 22 ip saddr add @honeypont_ipv4 { ip saddr timeout 1d } tcp dport 22 ip6 saddr add @honeypont_ipv6 { ip6 saddr timeout 1d } ip saddr @honeypont_ipv4 counter drop ip6 saddr @honeypont_ipv6 counter drop 同理,nftables 也能直接实现端口敲门,不需要任何额外软件 顺便我自己安全性要求高的直接 SSH Certificate 登录 |
42 ZeroCover 2024-12-03 04:49:15 +08:00 @ZeroClover set 的名字不小心打错了,然后复制粘贴就全错了 另外 nftables 需要先预定义这个 set set honeypot_ipv4 { type ipv4_addr flags dynamic,timeout timeout 1d elements = { } } |
43 Wongz 2024-12-03 09:00:22 +08:00 大门装锁对安全防护一点作用都没有,几天观察下来,还是会被撬开。以后大门可以不用装锁了 |
44 dzdh 2024-12-03 09:05:33 +08:00 key 登录 和 密码登录 安全性 有争论?? 哈? |
45 anatsking 2024-12-03 09:16:17 +08:00 以前个人站,在 web 设置一个深度隐藏 url 地址,打开后需要验证,定期通过 cron 脚本提取源 IP 加入到 ssh 白名单和放开防火墙。 |
46 xcsoft 2024-12-03 09:20:30 +08:00 < 我的 22 端口直接是 Gitea 的 ssh server, xswl 看他怎么破 |
47 dode 2024-12-03 09:20:34 +08:00 密钥登录+IP 白名单 |
48 yankebupt 2024-12-03 09:21:04 +08:00 @FanError 一般防火墙自定义攻击类型能做到,但是如果你的服务器特别招恨的话(比如MC服),建议发个 SYN+ACK 回去,对方 ACK 了再 BAN ,因为 IP 来源可以造假。 |
49 diivL 2024-12-03 09:34:0 +08:00 在我的 VPS 上效果很明显,之前一直有被枚举,换了端口就绝迹了。 |
50 lingeo 2024-12-03 09:37:58 +08:00 密钥有什么办法保存呢,在客户那登录的话? |
51 iyiluo 2024-12-03 09:46:27 +08:00 改 22 默认端口,扫描记录真的少很多 |
52 codingmiao 2024-12-03 10:21:58 +08:00 话说有没有可能做个蜜罐,然后在对面连蜜罐 SSH 端口的时候产生大量无用日志或者让对方主动下载文件之类的把对面撑死? |
54 wupher 2024-12-03 10:58:28 +08:00 这本身也不是光靠改端口能解决的事啊。 |
55 CoronaZero 2024-12-03 12:09:15 +08:00 我的话是 ssh 使用密钥登录,不允许 root 登录、密码登录,需要用到 root 用户的时候再用我的普通用户 su 过去,另外再使用 fail2ban 自动 ban 掉来爆破的 IP 。然后没改端口,倒也没什么问题,只是每天还是有很多 ban IP 记录…… |
56 Tink PRO 现在不都是全端口扫吗 ssh 特征这么明显的 |
61 BardOS 2024-12-03 13:11:24 +08:00 我的没改一堆扫,改了基本没有,开启 key 登陆,禁止密码,都消停了 |
62 yougg 2024-12-03 14:40:21 +08:00 另辟蹊径, 直接关掉 sshd, 改用 ttyd 或 gotty 走 https 协议, 还方便随时浏览器访问. |
63 Opportunity 2024-12-03 15:55:54 +08:00 改了端口以后至少少了 1000 倍,怎么会没用 |
64 momo1999 2024-12-03 15:57:22 +08:00 我改了端口以后尝试登录的确实少了很多。 |
66 BeforeTooLate 2024-12-03 16:33:30 +08:00 @zengxs >设置 ssh 为只允许 pub key 登录,你就会发现没人再去尝试登录你的机器了 我这好像不是这样的,即便只允许密钥登录也会有很多扫描的 |
67 open9527 2024-12-03 17:05:25 +08:00 是的 改了密钥登录 还是一堆登录失败记录 为什么呢 |
68 cornorj6 2024-12-03 17:11:33 +08:00 各个云一般都提供安全组的 API ,我的方案是自己了做一个系统,跑在 NAS 上面,这个系统有个功能就是把指定 IP 添加到安全组白名单。NAS 上还有个 DDNS-GO 用来做 DDNS 的,它有个 webhook 可以调用我系统的接口,把最新的公网 IP 放到安全组。这样云服务器只有我家里的 NAS 可以连,而我平时通过 VPN 连家里的 NAS 。 |
69 bigmomo 2024-12-03 18:25:59 +08:00 有一点吧,还是做 IP 白名单安全一些 |
72 uid106 2024-12-03 20:58:41 +08:00 via iPhone @Songxwn 访问一个加密的 https 路径,ip 存入白名单,ssh 设置为 127.0.0.1:22 ,用 passport 转发,不是白名单的 ip 立刻阻断,密码登录、密钥登陆随便。欢迎关注 https://github.com/yosebyte/passport |
73 srat1999 2024-12-03 21:49:59 +08:00 如果别人就是想搞你这台服务器,改什么端口都会被扫出来。改默认 22 端口只是为了防止那种全网批量抓鸡扫 ssh 弱口令的情况。 |
74 lpdink 2024-12-03 23:29:53 +08:00 |
75 huage 2024-12-03 23:35:38 +08:00 我不改端口的,直接通过防火墙限制登录,有需要再开发给特定 IP 访问 22 端口,平时对外开放只有 80 和 443 。 |
76 WhatTheBridgeSay 2024-12-04 00:05:57 +08:00 @ZeroClover #41 特地试了试,跟 GPT 大战三百回合也没能实现预期功能,能否提供一下完整的 nftables.conf 尝试一下? |
77 ZeroClover 2024-12-04 01:48:49 +08:00 @WhatTheBridgeSay #76 https://gist.github.com/ZeroClover/146ffb8566657fa6cca895d1120856bb 最小 NFTables 配置 Use at your own risk |
78 guanhui07 2024-12-04 09:24:16 +08:00 私钥登录 |
80 bingoso OP @f1ynnv2 本地私钥的保存问题,各种软件都会扫描用户目录.ssh ,参照 t/1092714 。 比如 windows 下的.ssh 目录自动保存了私钥了 known host ,复制这个目录就可以自动登录服务器。 |
81 shangfabao 2024-12-04 11:40:02 +08:00 云服务厂商的白名单 ssh 端口开一下么 |
82 Gary88 2024-12-04 13:31:24 +08:00 更改默认 22 端口,这个还是要做.如果自己不理解,就继续按这个操作. |
83 atuocn 2024-12-04 14:26:18 +08:00 |
84 yc8332 2024-12-04 16:46:04 +08:00 只能减少,哪里能避免啊。。。本来就是公开的,人家扫下端口快得要命 |
85 yukirus 2024-12-04 17:37:17 +08:00 插句嘴问个别的问题……windows server 的 3306 咋保护呢 |
86 WhatTheBridgeSay 2024-12-04 22:09:18 +08:00 @ZeroClover #77 好使好使,测试成功,我在研究研究如法炮制一个 IPV6 的 |
87 mostkia 2024-12-04 22:47:02 +08:00 如果不想牺牲便捷性,可以考虑使用 webssh ,然后将 22 端口关闭,基本上就不会有爆破骚扰了,而且任何没有准备的设备都可以随时用于登录,其实密码足够复杂也不怕的,就是每次登录看着几万条的登录记录有点辣眼睛 |
88 follow 2024-12-05 09:52:01 +08:00 |
89 ZeroClover 2024-12-05 15:56:45 +08:00 |