V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
NevadaLi
V2EX  ›  问与答

暴露端口(ssh rdp)的弊端有哪些?

  •  
  •   NevadaLi · 14 天前 · 1527 次点击

    看到隔壁在说开了 22 端口被各种扫,还有 3389 的,即便改了端口也没什么用,照样被扫,还有可能一天上千次的尝试登录。

    其实我很不理解,他扫归他扫,他试归他试,对用户有什么影响?即便尝试了几千万次,不知道你密码有什么用?反正都是登不上,何必要管他们,放着不就完了?有什么影响?

    也看到过有人说被黑了的,但这些无一例外都是弱密码导致的,和端口暴不暴露、协议安不安全没任何关系。

    至于说“如果哪天 rdp/ssh 出现了漏洞,那直接中招”这种想法,rdp/ssh 已经发展了几十年,相关技术已经足够成熟,除非你机器系统过于老旧仍然使用远古版本,试问,现代 rdp/ssh 有哪些是由于协议漏洞而被黑了的?确实有很多的高危漏洞在不断被暴出来,我们公司也会要求升级 openssh 版本,但先不说这些漏洞的使用都是有前置条件的,即便满足了前置条件也做不到直接登录机器,更多的是某些加密算法强度不能满足现代化要求,又或者有机会出现中间人攻击。

    如果希望纯利用漏洞来登录一台机器,往往需要多个漏洞相互配合。这么复杂的攻击显然不是扫端口这种广撒网的方式能成功的,这种程度已经是针对性攻击了。比如交易所/加密钱包被攻破被盗,这是已经被盯上了,大概率使用了人性的漏洞(钓鱼,弱密码,不安全的存储/传输方式,撞库),而不是安全协议本身有问题,包括各种远程访问协议,传输协议等,这些社工方式不在本帖考虑范围内。

    对于 nfs, samba, ftp, telnet 这些东西,nfs 和 smb 本来就是内网用的,不应该暴露公网(即便如此,smb v3 和 nfs v4 都有加密协议); ftp 和 telnet 上古产物不考虑。至于其他的,比如宝塔面板,xx 面板出现大规模漏洞,这是第三方软件的事情,和 ssh rdp 本身无关。

    以上只说 ssh 和 rdp ,只是感觉这俩东西足够安全(你的密码本身没有问题),完全不需要做其他额外的防护。

    所以,请告诉我暴露这些端口的弊端有哪些?

    第 1 条附言  ·  14 天前
    看起来大家没有举出什么有效的例子,但仍然不会选择 rdp 。

    为此,我开了一台 rdp 机器,默认设置,Administrator 不变,密码已修改为随机字符串,请大家尝试使用 rdp 连接系统,并拿到在桌面的 ssh 私钥文件,具体路径为 "C:\Users\Administrator\Desktop\key.txt",以下为对应的公钥:

    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFNmw9dDPMPY3GN1nY1ANX/bfH8rEliYsQHS2sfmLUt6 windows

    第一个提供对应 key 的人,可获得 app store 100RMB 礼品卡(不直接发红包是因为考虑到双方都不想暴露身份),至于礼品卡的合规性不用担心,是用自己的卡买的,没有封号风险。

    当然,如若真的攻破了该机器,还请不要做奇奇怪怪的事情,没必要,不如贴出私钥光明正大的领取 100 元苹果礼品卡。

    =================

    ip: 194.233.81.94
    rdp port: 3389


    以下截图可证明这台机器从 2024/12/03 到 2025/01/03 确实属于我(并不代表我不会提前删除机器,以防止有人真的攻破并做了些其他不可描述之事)

    38 条回复    2024-12-05 15:48:31 +08:00
    adoal
        1
    adoal  
       14 天前
    我自己管理的服务器从来不封或者改管理端口。但是遇到法人单位的中心机房在网关设备上封 22 和 3389 的,因为,各下属二级业务单位的信息化共用机房,我能把这些管理端口上的安全配置做好,但跟我用同一个机房甚至同一个网段服务器的其它单位,往往是没有技术部门的,负责信息化的是综合办公室里一个文科出身的副主任或者普通科员,一切都靠技术能力浮动范围很大的业务系统开发厂家来搞。然后导致很多 root 弱密码进入。所以管理部门一刀切了,我也没办法。
    uuair
        2
    uuair  
       14 天前
    我自己碰到的问题是日志增加的太快了,要是限制日志容量,那么可能会错过有用的信息。
    而且,谁说自己的密码肯定没问题呢?你 20 位特别复杂的密码,也可能因为漏洞被扫出来啊,不可能每时每刻都打补丁吧,万一你就是那第一个被发现漏洞的机器呢?这就好比,你夜里 12 点会因为马路上没人而不穿衣服上街么?
    ShinichiYao
        3
    ShinichiYao  
       14 天前
    主要是断了攻击者的念想,每天上万次来自世界各地的 IP 在盯着猜你的密码
    yeqizhang
        4
    yeqizhang  
       14 天前 via Android
    占个楼问些问题🐶
    不懂网络这块,有没有大佬解惑下,就是换了端口,除了 ssh 这种会响应明显的信息外,其它一些 tcp 服务在换了端口后是怎样识别到是什么服务来攻击的呢?

    还有个问题,就是我有个 web 服务,如果不公开 path ,别人是不是就没法请求到这个接口?
    ysc3839
        5
    ysc3839  
       14 天前 via Android
    一般认为 VPN 服务漏洞没那么多,而且就算有漏洞被攻破了,还得通过 VPN 去扫描别的服务,再进行进一步攻击才能拿到权限。如果说 VPN 服务存在远程代码执行漏洞,也可以用低权限用户运行来防范(不过这个方案不适用于内核模式实现的 WireGuard),而 ssh rdp 之类的,因为涉及用户登录,只能以高权限运行。
    jhytxy
        6
    jhytxy  
       14 天前   ❤️ 1
    前一阵不是 Debian 的 ssh 还出漏洞了你不知道?


    这世界就是个草台班子
    ysc3839
        7
    ysc3839  
       14 天前 via Android
    “现代 rdp/ssh 有哪些是由于协议漏洞而被黑了的”
    搜索 rdp rce 就能找到 https://www.cnblogs.com/backlion/p/11482322.html
    NevadaLi
        8
    NevadaLi  
    OP
       14 天前
    @uuair #2 日志还好吧,好几年也没上 GB

    “而且,谁说自己的密码肯定没问题呢?”

    想要确认自己的密码是否安全,chrome 就可以告诉你使用的密码是否有泄露。

    “你 20 位特别复杂的密码,也可能因为漏洞被扫出来啊”

    请举例哪些是密码设置了很复杂,系统不是古董,但由于漏洞被拿到登录权限的?
    NevadaLi
        9
    NevadaLi  
    OP
       14 天前
    @jhytxy #6 请具体列出 CVE 号码。我们公司也因为漏洞而升级 openssh ,恰好上月就升过,也看了漏洞详情,但就像我说的,这些漏洞的使用都有前置条件,即便满足了前置条件也做不到直接登录机器,更多的是某些加密算法强度不能满足现代化要求,又或者有机会出现中间人攻击。



    @ysc3839 #7 这是 2019 年的漏洞,距离现在已经五六年了,对应 Windows 10 version 1909 ,该版本在 2021 年已经停止支持。如果现在还有人在用不受支持的 windows 远古版本,那我还能说啥?目前消费级系统里,受支持的系统为 Windows 11 version 23H2 ,如果你升级到了受支持的系统还有这漏洞,那当我什么都没说。

    aminobody
        10
    aminobody  
       14 天前
    我喜欢 rdp over ssh, ssh 仅密钥, rdp 弱密码, 仅在公网暴露 ssh 端口.
    lambdaq
        11
    lambdaq  
       14 天前
    是这样的,没弊端。就好比如果你家里穷得一批,那么你锁不锁门无所谓的。


    LZ 勇敢的向前冲。
    uuair
        12
    uuair  
       14 天前   ❤️ 1
    @NevadaLi #8 请搜索:“3389 端口+输入法漏洞”
    当年我用这个漏洞进入了无数台开了 3389 端口的机器,你还需要我免费提供劳动力给你证明么?这种案例太多了。
    chouxw112233
        13
    chouxw112233  
       14 天前
    4 楼的问题我也想知道
    tcp 端口是可以被扫的,只需要尝试握手就行了。但是协议那么多,难道只尝试常用协议吗? 比如 smb ,rdp ,ssh ,tftp ,ftp ,telnet ,http? 还有,协议是协议,实现是实现,可能 nginx 的 http 漏洞,别的服务端不存在。黑客的流程难道是扫到 tcp 8081 ,然后尝试 http 去访问,htto 建立成功了就尝试 nginx 漏洞?
    udp 是不是就安全许多?

    path 这个我也不清楚,我开了一个 nginx 服务,指定 test.example.com 才有我的服务,黑客有技术能扫到吗?
    yinmin
        14
    yinmin  
       14 天前
    ssh 仅密钥登录(禁用密码模式),毕竟这么多大佬公司都用 ssh ,应该问题不大。如果还需要加一次保护,可以 ssh over tls(也能过某些变态防火墙)

    rdp 不敢直接暴露公网,因为 rdp 曾经出现了几次 0day 漏洞。建议:
    rdp over vpn
    rdp over ssh
    rdp over tls(双证书认证)
    rdp over frp(stcp)
    NevadaLi
        15
    NevadaLi  
    OP
       14 天前
    @uuair #12

    1. 和前段时间爆出的搜狗输入法 bug 类似,那是第三方软件的锅,和 rdp 有什么关系。

    2. 那漏洞都多少年前了,用不在支持范围的系统能怪谁。。。
    NevadaLi
        16
    NevadaLi  
    OP
       14 天前
    @lambdaq #11 我的好多台机器,有 ssh 有 rdp ,默认配置,强密码,至少五六年了,从没有出过问题
    ococnehc
        17
    ococnehc  
       14 天前
    @yeqizhang 其实和 ssh 密码字典类似,攻击脚本也有个类似与服务端口名单的表,里面填了比较常用的服务端口和对应的默认配置,然后用表里面的信息一个个试,所以只要你的端口不是默认配置,又没有任何常见回传,脚本没撞到,基本上是很安全的
    ococnehc
        18
    ococnehc  
       14 天前
    @yinmin 公司很多还会再包一层跳板机
    delacey
        19
    delacey  
       14 天前
    因为对安全的容忍度不一样,很多情况下大家需要更安全的 ssh
    lambdaq
        20
    lambdaq  
       14 天前
    @NevadaLi 你的心态好,没问题

    大多数人心态是怕贼惦记
    Gitmeeri
        21
    Gitmeeri  
       14 天前 via Android
    尝试登录的都是针对弱密码的,试了那些常见字典库不行它们会自己离开。。。
    kenneth104
        22
    kenneth104  
       14 天前
    曝露了,就可以直接把你端口 dd 死
    遇到过不少了
    fano
        23
    fano  
       14 天前
    防火墙限制下源地址,比如禁止中国大陆以外访问。
    NevadaLi
        24
    NevadaLi  
    OP
       14 天前
    @kenneth104 #22 ddos 是攻击,这东西无论什么端口都能被 d ,包括 80 443 ,照这么说机器都别放互联网了,都有可能被 dd 的。。。
    lnbiuc
        25
    lnbiuc  
       14 天前
    @uuair #12 输入法暴露了用户密码,和 rdp 有啥关系呢
    ysc3839
        26
    ysc3839  
       14 天前 via Android
    @NevadaLi 你自己说的“现代 rdp/ssh”,难道 2019 年不算“现代”?
    NevadaLi
        27
    NevadaLi  
    OP
       14 天前
    @ysc3839 #26 2019 算啥现代啊,官方都 eol 了,现在只有扩展支持
    WhatTheBridgeSay
        28
    WhatTheBridgeSay  
       14 天前
    其实是为了减小攻击面,非常简单直接地逻辑,当然很多人看到爆破就惶惶不可终日也是完全没必要。

    真正的渗透成功是要所有的安全防护措施都失效才能成功,瑞士奶酪理论,当你全部的措施有且只有一个密码的话,攻击面不仅大且薄,突破一层就可以成功渗透,甚至有的时候碰上漏洞都不用走正门爆破。高价值目标都是要层层防火墙+复杂口令+公钥体系认证+MFA 的,甚至再严格一点的还有网闸、独立骨干网等物理隔离堪称御敌 1000 自损 800 的手段
    jqtmviyu
        29
    jqtmviyu  
       14 天前
    我就没改 ssh 端口, 关闭密码登录, 只允许密钥.
    服务全在 docker 里.
    NevadaLi
        30
    NevadaLi  
    OP
       13 天前 via iPhone   ❤️ 1
    @WhatTheBridgeSay 改端口号确实理论上来说可以减小攻击面,但我不认可这个方法,因为很多常用服务的端口号都是固定的,为什么 3389 不行?按照这个逻辑来说,那貌似我们互联网的各种 https 都应该是随机端口号,而不是固定的 443 。

    如果说存在某个漏洞是由于 3389 这个数字导致触发了什么奇奇怪怪的溢出之类的原因要改掉 3389 ,这个是可以接受的。
    NevadaLi
        31
    NevadaLi  
    OP
       13 天前 via iPhone
    @jqtmviyu hhh ,我也差不多,ssh 这东西我熟,如果有人说 22 不安全,要改掉端口号我是不会听的(技术角度),因为我服务十来年了 ssh 暴露在外从没有出过问题。
    uuair
        32
    uuair  
       13 天前
    @NevadaLi #15 你看,你让我提供案例,我提供了你又说现在系统没问题,你是杠精转世嘛?我现在免费给你一个目前 3389 的漏洞让你自己试试??当年输入法漏洞,用的就是微软的智能输入法,懂?任何软件都有漏洞,暴露的越多,漏洞越多。五六年没问题,那是因为你不配有问题好么。
    NevadaLi
        33
    NevadaLi  
    OP
       13 天前
    @uuair #32 你举得例子有问题啊,都说了“密码设置了很复杂,系统不是古董,但由于漏洞被拿到登录权限的”,你的输入法漏洞,请问,现在的系统还有智能 ABC ?这都多少年了,2024 年拿一个几十年前的系统距离没有任何说服性,既然这样,您不如拿个 1970 年 1 月 1 日的机器来举例吧,那时候甚至登录这个功能有没有还不好说呢。

    我指的就是 rdp 和 ssh 经过了十多二十年的发展,安全性已经很可靠了,也没说 rdp 和 ssh 生来就很可靠啊。

    还有,什么叫做我不配有问题?请不要人身攻击好吧,就事论事,我尊重你,也请你尊重我,上升到人身攻击就没什么好说的了。
    NevadaLi
        34
    NevadaLi  
    OP
       13 天前
    @uuair #32 而且不止我一个认为是输入法是第三方的问题,参考 # 25

    你说智能 ABC 是原生自带这没问题,配合 rdp 也没问题,但这东西他不是现代的啊,我没见过没到 eol 的系统有你说的问题的。

    举例不看前提条件,还说对方是钢精,服了。。。
    uuair
        35
    uuair  
       13 天前
    @NevadaLi #33 玻璃心,我不跟你讨论了,我说你不配,不是你人不配,而是你的服务器,不配被人关注而已。别的我也不说了,我可真幼稚。
    NevadaLi
        36
    NevadaLi  
    OP
       13 天前
    @uuair #35 talk is cheap, show me your attack.

    https://www.v2ex.com/t/1095021
    godall
        37
    godall  
       13 天前   ❤️ 1
    目前来讲网络安全访问有好到差:
    1. 物理隔离(典型案例国内公务网)
    除了所谓的电磁监听以外,其他就别想了。

    2. 逻辑隔离(硬件网络防火墙+白名单)
    上来就默认所有端口关闭,白名单模式(端口白名单+对端 ip 白名单)。当然防火墙也是 linux 系统的,也有可能攻破。基本上能隔绝 99.9999%攻击了吧,那种乱七八糟 0day 漏洞也不行,起码 ip 就隔离了。

    3. 软件策略隔离(操作系统/应用软件)
    比如 ssh+私钥证书。 除了软件漏洞外能基本隔绝破解。

    4. 账户密码+多因子验证策略
    比如苹果 google 的二步认证,必须密码+手机验证码。

    5. 账户密码
    比裸奔强点。别人知道账户密码就能登录

    6.裸奔
    强大无比!


    个人以为,大多数情况下,限制客户端 ip 策略要比其他强一点,能隔绝形形色色的软件 bug ,比如修不完漏洞的 Windows 。

    其他策略都是基于软件本身安全的情况下(二步认证也一样),实际上这是个空头承诺。
    NevadaLi
        38
    NevadaLi  
    OP
       13 天前
    @godall #37 这么一分析确实,ip 白名单几乎是最强大的,这方法可以隔绝几乎所有攻击,毕竟访问不到被保护的系统内部。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1041 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:37 · PVG 06:37 · LAX 14:37 · JFK 17:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.