V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bingoso
V2EX  ›  信息安全

云服务器更改 22 端口对安全防护一点作用都没有

  •  1
     
  •   bingoso · 1 天前 · 6602 次点击

    RT 更改了默认的 22 端口,几天观察下来,尝试登录的记录一点都没有减少。 作为一项安全访问措施, [更改 ssh 默认的 22 端口] 可以移除了。

    83 条回复    2024-12-04 14:26:18 +08:00
    Kinnice
        1
    Kinnice  
       1 天前
    咋?观察一下一台机器就能得出结论。
    zengxs
        2
    zengxs  
       1 天前   ❤️ 6
    设置 ssh 为只允许 pub key 登录,你就会发现没人再去尝试登录你的机器了
    spritecn
        3
    spritecn  
       1 天前
    优先扫[1-9]022,[1-9]021,相信你是正常人,话说全扫一下也花不了多少时间
    liaohongxing
        4
    liaohongxing  
       1 天前
    好的工具 1-65535 端口探测只需要十几秒钟
    driller
        5
    driller  
       1 天前
    用 nmap 扫一遍 tcp 端口花不了多生时间,换端口增加安全性只适用于 udp ,因为那个不会应答吧
    bobryjosin
        6
    bobryjosin  
       1 天前 via Android
    ssh 的特征非常明显,用 telnet 敲下端口就返回协议类型了,扫全端口也花不了多长时间。
    donaldturinglee
        7
    donaldturinglee  
       1 天前
    你就不能换成 ssh key 登录吗...
    peasant
        8
    peasant  
       1 天前   ❤️ 1
    @zengxs 没有那么绝对,我国内腾讯云的机器设置了只允许 Pubkey 登录,也禁止了密码登录,lastb 能看到每天还是有很多乱七八糟的用户名尝试登录。
    odirus
        9
    odirus  
       1 天前
    fail2ban
    bingoso
        10
    bingoso  
    OP
       1 天前
    @Kinnice 我这是任意抽检两台云服务器观察一周得出的这个结论,可靠性应该是很高的。
    @zengxs 密钥登录和密码登录的安全性,现在还有争论。
    @bobryjosin 确实低估了扫描工具的威力,我故意选用的高位端口,仍旧避免不了被扫。
    odirus
        11
    odirus  
       1 天前
    我是服务商防火墙配置一次规则、服务器本身防火墙配置一次规则,如果要在服务器开放一些 HTTP 管理界面的话,用 Cloudflare tunnel + mTLS 双向证书,安全性无敌。
    ppbaozi
        12
    ppbaozi  
       1 天前
    @bingoso 端口扫描又不是什么高深的东西,咱 20 年前初中就在玩的东西了,称不上什么威力,这种广泛使用的协议太明显了。
    hdp5252
        13
    hdp5252  
       1 天前 via Android
    私钥登录
    codersdp1
        14
    codersdp1  
       1 天前
    有一点,但不多。
    Aicnal
        15
    Aicnal  
       1 天前   ❤️ 1
    爱扫就扫呗,我服务器还关了 ping ,直接装死
    julyclyde
        16
    julyclyde  
       1 天前
    ssh 协议是服务器主动的协议
    这种协议随便一扫就知道端口号是多少了
    更改端口号真的没什么意义
    yankebupt
        17
    yankebupt  
       1 天前   ❤️ 37
    放个陷阱端口啊,低位端口放一个陷阱,只要这个端口有 tcp 扫立刻 ban ip……轮不到高位暴露
    yankebupt
        18
    yankebupt  
       1 天前   ❤️ 4
    放陷阱端口的意义在于,除了骇客在扫,网安也在扫你,云服务商的各种外包云安全也在扫你,不想接受他们“插一杠子”式的服务的话,做个微型蜜罐有益无害
    JerryYuan
        19
    JerryYuan  
       1 天前 via Android
    所以我选择 VPN 连接,用 VPN 内网地址去登录云服务器。为了给 VPN 备份,主机开放 22 端口,但云服务器的安全组规则会直接封掉 22 端口,一旦 VPN 失效,去控制台临时放行一下 22 端口依然可以正常访问,不会被关在门外。
    tabc2tgacd
        20
    tabc2tgacd  
       1 天前
    确实,主要还是禁止密码登录,设置只能密钥登录
    realpg
        21
    realpg  
       1 天前
    只有一丁点作用,能减少一部分傻瓜的扫描器,降低服务器负载,降低网络开销
    还是推荐改一下
    lifansama
        22
    lifansama  
       1 天前 via Android
    fail2ban ,指数增长地增加拉黑时间
    FanError
        23
    FanError  
       1 天前
    @yankebupt #17 这种有啥开源工具能做到这效果不
    bingoso
        24
    bingoso  
    OP
       1 天前 via Android
    @yankebupt 好方法
    ashong
        25
    ashong  
       1 天前
    pubkey 登录,fail2ban
    liuzimin
        26
    liuzimin  
       1 天前
    我是直接用阿里云的安全组,ssh 还是保持为 22 ,平时直接阻止所有 ssh 连接,需要连的时候, 就手动把当前自己的外网 IP 加入白名单允许一下 ssh 连接,用完再关。
    sagaxu
        27
    sagaxu  
       1 天前   ❤️ 3
    改端口是最没用的,

    fail2ban 能阻止频繁重试,但如果对方 IP 多也能不断换

    knockd 端口敲门,默认不开启 22 端口,只有先用暗号敲门,比如 3089 9981 2416 三个端口依次连接过后,再对这个 IP 地址单独放行,不知道暗号扫描也扫不了
    lpdink
        28
    lpdink  
       1 天前
    我发现爆破的都是境外 IP 地址,白名单只允许大陆 IP 就行了
    CatCode
        29
    CatCode  
       1 天前
    改端口的功能不是给防攻击用的 而是让用户可以把 22 端口给别的程序用

    应用场景举例:
    (一)某个“智商极高”的程序员的 HTTP 服务器在代码里面写死了监听 22 端口
    (二)在 22 端口上开启 netcat 或者其他程序,检测其他 ssh 客户端发过来的握手包具体内容
    importmeta
        30
    importmeta  
       1 天前
    拿证书登录不就一劳永逸了?
    mingtdlb
        31
    mingtdlb  
       1 天前
    @sagaxu knockd 这玩意要有对应的 ssh 客户端配合用,就很给力。不然连接之前还得写个 for 循环先探测一下😂
    sfdev
        32
    sfdev  
       1 天前 via Android
    想不让扫是不可能的,直接禁密码就行了,别的可有可无。
    sagaxu
        33
    sagaxu  
       1 天前
    @mingtdlb 自带的就很好用 knock myserver.example.com 123:tcp 456:udp 789:tcp

    云服务商其实都有 API 给你远程操控防火墙,我自己的服务器只对外开 443 端口,22 端口要走白名单,这个白名单里有一条是我的 IP ,cron 脚本定期更新。
    uid106
        34
    uid106  
       1 天前 via iPhone
    推荐一个 go 项目 https://github.com/yosebyte/passport ,用他带认证的转发模式,不在 ip 白名单的直接丢包
    WhatTheBridgeSay
        35
    WhatTheBridgeSay  
       1 天前
    @spritecn #3 要是我用 x3389 阁下又该如何应对
    WhatTheBridgeSay
        36
    WhatTheBridgeSay  
       1 天前   ❤️ 3
    @bingoso #10
    > @zengxs 密钥登录和密码登录的安全性,现在还有争论。

    OP 你无敌了,真的
    fuxkcsdn
        37
    fuxkcsdn  
       1 天前
    只允许 key 登陆不是常规操作吗?
    扫 端口的遇到要求 key 登陆的错误提示就不会再扫你的 ip 了
    bao3
        38
    bao3  
       1 天前
    改端口确实没有任何意义,现在 cpu 和网络已经足够快了,全端口扫描也只是 10 秒的事。
我想了想,唯一改端口的收益是在于避免 GFW 的干扰上。
    aarontian
        39
    aarontian  
       1 天前
    我的看法是 fail2ban 能解决改端口解决的所有问题,还更优雅,我已经至少五年没用过 22 以外的端口 ssh 了。

    唯一不能解决的是 gfw 封端口的问题,但我印象里以前开新机,22 端口经常被阻断连不上,一配置好 fail2ban 立马好了,不像是 gfw 的问题,我不清楚原因是什么,可能是太多人尝试爆破把连接数占满了(或者类似原因)?
    tril
        40
    tril  
       1 天前
    确实没大用,但也不是完全没用。

    我曾经也是密码+高位端口,很多机子都可以避免被大量扫爆,但也遇到过被人盯着高位端口爆破了几万次。

    改成证书登录吧,还有没有人继续扫爆我不知道,但起码 lastb 里不会再有记录了,看着安心点。 ^^_
    ZeroClover
        41
    ZeroClover  
       1 天前   ❤️ 3
    @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 登录
    ZeroClover
        42
    ZeroClover  
       1 天前
    @ZeroClover set 的名字不小心打错了,然后复制粘贴就全错了

    另外 nftables 需要先预定义这个 set

    set honeypot_ipv4 {
    type ipv4_addr
    flags dynamic,timeout
    timeout 1d
    elements = { }
    }
    Wongz
        43
    Wongz  
       1 天前   ❤️ 2
    大门装锁对安全防护一点作用都没有,几天观察下来,还是会被撬开。以后大门可以不用装锁了
    dzdh
        44
    dzdh  
       1 天前
    key 登录 和 密码登录 安全性 有争论?? 哈?
    anatsking
        45
    anatsking  
       1 天前   ❤️ 1
    以前个人站,在 web 设置一个深度隐藏 url 地址,打开后需要验证,定期通过 cron 脚本提取源 IP 加入到 ssh 白名单和放开防火墙。
    xcsoft
        46
    xcsoft  
       1 天前
    < 我的 22 端口直接是 Gitea 的 ssh server, xswl 看他怎么破
    dode
        47
    dode  
       1 天前
    密钥登录+IP 白名单
    yankebupt
        48
    yankebupt  
       1 天前   ❤️ 2
    @FanError 一般防火墙自定义攻击类型能做到,但是如果你的服务器特别招恨的话(比如MC服),建议发个 SYN+ACK 回去,对方 ACK 了再 BAN ,因为 IP 来源可以造假。
    diivL
        49
    diivL  
       1 天前
    在我的 VPS 上效果很明显,之前一直有被枚举,换了端口就绝迹了。
    lingeo
        50
    lingeo  
       1 天前
    密钥有什么办法保存呢,在客户那登录的话?
    iyiluo
        51
    iyiluo  
       1 天前
    改 22 默认端口,扫描记录真的少很多
    codingmiao
        52
    codingmiao  
       1 天前
    话说有没有可能做个蜜罐,然后在对面连蜜罐 SSH 端口的时候产生大量无用日志或者让对方主动下载文件之类的把对面撑死?
    vvhy
        53
    vvhy  
       1 天前
    @yankebupt #17 在 22 端口放了个蜜罐,结果被安全部门找到了
    wupher
        54
    wupher  
       1 天前
    这本身也不是光靠改端口能解决的事啊。
    CoronaZero
        55
    CoronaZero  
       1 天前
    我的话是 ssh 使用密钥登录,不允许 root 登录、密码登录,需要用到 root 用户的时候再用我的普通用户 su 过去,另外再使用 fail2ban 自动 ban 掉来爆破的 IP 。然后没改端口,倒也没什么问题,只是每天还是有很多 ban IP 记录……
    Tink
        56
    Tink  
       1 天前
    现在不都是全端口扫吗 ssh 特征这么明显的
    lyxxxh2
        57
    lyxxxh2  
       1 天前
    @vvhy
    是不是派出所上门,然后让你整改。
    vvhy
        58
    vvhy  
       1 天前
    @lyxxxh2 不是派出所,内部的安全部门,说有安全漏洞🤣
    xiaoranj
        59
    xiaoranj  
       1 天前
    @yankebupt 21,22,3389,3306 这些全部是钓鱼用的,扫了就 ban IP
    vkillwucy
        60
    vkillwucy  
       1 天前 via Android
    @lpdink 哪有这个表?
    BardOS
        61
    BardOS  
       1 天前
    我的没改一堆扫,改了基本没有,开启 key 登陆,禁止密码,都消停了
    yougg
        62
    yougg  
       1 天前
    另辟蹊径, 直接关掉 sshd, 改用 ttyd 或 gotty 走 https 协议, 还方便随时浏览器访问.
    Opportunity
        63
    Opportunity  
       23 小时 56 分钟前
    改了端口以后至少少了 1000 倍,怎么会没用
    shuax
        64
    shuax  
       23 小时 54 分钟前
    我改了端口以后尝试登录的确实少了很多。
    shench
        65
    shench  
       23 小时 45 分钟前   ❤️ 2
    @spritecn 我一般用 9527
    BeforeTooLate
        66
    BeforeTooLate  
       23 小时 18 分钟前
    @zengxs >设置 ssh 为只允许 pub key 登录,你就会发现没人再去尝试登录你的机器了
    我这好像不是这样的,即便只允许密钥登录也会有很多扫描的
    open9527
        67
    open9527  
       22 小时 46 分钟前
    是的 改了密钥登录 还是一堆登录失败记录 为什么呢
    cornorj6
        68
    cornorj6  
       22 小时 40 分钟前
    各个云一般都提供安全组的 API ,我的方案是自己了做一个系统,跑在 NAS 上面,这个系统有个功能就是把指定 IP 添加到安全组白名单。NAS 上还有个 DDNS-GO 用来做 DDNS 的,它有个 webhook 可以调用我系统的接口,把最新的公网 IP 放到安全组。这样云服务器只有我家里的 NAS 可以连,而我平时通过 VPN 连家里的 NAS 。
    Songxwn
        69
    Songxwn  
       21 小时 26 分钟前
    有一点吧,还是做 IP 白名单安全一些
    hibodhi
        70
    hibodhi  
       21 小时 7 分钟前
    @dode 这个办法好
    f1ynnv2
        71
    f1ynnv2  
       19 小时 1 分钟前
    @bingoso key 登录 和 密码登录 安全性 有争论?这个能详细展开说说吗?
    uid106
        72
    uid106  
       18 小时 53 分钟前 via iPhone
    @Songxwn 访问一个加密的 https 路径,ip 存入白名单,ssh 设置为 127.0.0.1:22 ,用 passport 转发,不是白名单的 ip 立刻阻断,密码登录、密钥登陆随便。欢迎关注 https://github.com/yosebyte/passport
    srat1999
        73
    srat1999  
       18 小时 2 分钟前
    如果别人就是想搞你这台服务器,改什么端口都会被扫出来。改默认 22 端口只是为了防止那种全网批量抓鸡扫 ssh 弱口令的情况。
    huage
        75
    huage  
       16 小时 16 分钟前
    我不改端口的,直接通过防火墙限制登录,有需要再开发给特定 IP 访问 22 端口,平时对外开放只有 80 和 443 。
    WhatTheBridgeSay
        76
    WhatTheBridgeSay  
       15 小时 46 分钟前
    @ZeroClover #41 特地试了试,跟 GPT 大战三百回合也没能实现预期功能,能否提供一下完整的 nftables.conf 尝试一下?
    ZeroClover
        77
    ZeroClover  
       14 小时 3 分钟前
    guanhui07
        78
    guanhui07  
       6 小时 27 分钟前
    私钥登录
    x2ve
        79
    x2ve  
       5 小时 37 分钟前
    云服务商安全组禁了,世界立马安静;用的时候再打开
    bingoso
        80
    bingoso  
    OP
       5 小时 2 分钟前
    @f1ynnv2 本地私钥的保存问题,各种软件都会扫描用户目录.ssh ,参照 t/1092714 。
    比如 windows 下的.ssh 目录自动保存了私钥了 known host ,复制这个目录就可以自动登录服务器。
    shangfabao
        81
    shangfabao  
       4 小时 11 分钟前
    云服务厂商的白名单 ssh 端口开一下么
    Gary88
        82
    Gary88  
       2 小时 20 分钟前
    更改默认 22 端口,这个还是要做.如果自己不理解,就继续按这个操作.
    atuocn
        83
    atuocn  
       1 小时 25 分钟前
    @bingoso know_hosts 保存了私钥?我印象中是保存了已知服务器的公钥吧。

    另外自己的私钥不需要放到.ssh 里。重要的私钥加上密码短语保护。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5413 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.