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

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

  •  
  •   NevadaLi · 7 天前 · 1439 次点击

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

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


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

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

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

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

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



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

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


    LZ 勇敢的向前冲。
    uuair
        12
    uuair  
       7 天前   ❤️ 1
    @NevadaLi #8 请搜索:“3389 端口+输入法漏洞”
    当年我用这个漏洞进入了无数台开了 3389 端口的机器,你还需要我免费提供劳动力给你证明么?这种案例太多了。
    chouxw112233
        13
    chouxw112233  
       7 天前
    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  
       7 天前
    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
       7 天前
    @uuair #12

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    6.裸奔
    强大无比!


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

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