首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
阿里云
wslzy007
V2EX  ›  宽带症候群

防止 vps 上 ssh 端口被恶意扫描

  •  
  •   wslzy007 · 36 天前 · 3873 次点击
    这是一个创建于 36 天前的主题,其中的信息可能已经有所发展或是发生改变。

    随着 vps 云主机越来越便宜,vps 已日渐普及。平常的运维管理往往需要开启 ssh 服务,由于是公网 IP,自己的云主机经常会被来源于世界各地的 IP 扫描猜测;当然,可以选择云厂商提供的收费防护服务,价格嘛...但估计也挺感人。有没有好的办法呢?

    如果能够拒绝所有外部 IP 对 22 端口的访问不就行了吗?

    额。。。剩下的问题就是如何允许自己访问了。

    祭出工具:SG ( smarGate ),如何使用 smarGate 请见 github.com/lazy-luo/smarGate

    步骤如下:

    1、在 vps 主机上运行 smarGate 服务端( proxy_server )

    2、在云控制台配置安全组,将 22 端口禁止外部访问

    3、在 smarGate 客户端上开启 vps 主机 ssh 反弹穿透(本地端口要求大于 1024 ):

    4、通过 SSH 客户端连接手机 ip:2222 即可访问 vps 服务器

    这样配置的好处是只有通过你配置的 smarGate 客户端才能访问到 vps 的 ssh 服务,而手机你是不离身的。可控、安全。

    49 条回复    2020-02-25 12:49:35 +08:00
    gam2046
        1
    gam2046   36 天前
    扫就让他们扫嘛,反正是证书登陆。

    批量扫的,也就是尝试一批弱口令。

    这要是能被爆破出来,我也就认了
    hzqim
        2
    hzqim   36 天前
    我是禁止 root 登陆。
    gearfox
        3
    gearfox   36 天前
    换默认端口,禁止 root 登陆+fail2ban,暂时还没出过问题
    qwvy2g
        4
    qwvy2g   36 天前
    我是配置完禁止 ssh 登录和禁止 ping,平常操作用控制面板 vnc 访问就行了。
    manami
        5
    manami   36 天前 via Android
    SSH 换默认端口,关闭 22 端口
    wslzy007
        6
    wslzy007   36 天前
    密码倒不是弱密码,但看统计数据每晚峰值最多有大几万的 tcp 连接。。。
    现在一切都安静了
    PHPer233
        7
    PHPer233   36 天前   ❤️ 1
    不要用默认端口,把 ssh 服务换成其他端口不就好了。。。。
    windyland
        8
    windyland   36 天前 via Android
    换带宽简单快捷
    wslzy007
        9
    wslzy007   36 天前
    换端口是个办法,但毕竟还是会被扫描到的,本意是不希望外部连接 vps 上特定端口,仅能自己使用
    turi
        10
    turi   36 天前 via iPhone
    怕扫描那就禁 ping,然后换端口
    这样要是还有几万 tcp 连接那就要换一家服务商了
    wslzy007
        11
    wslzy007   36 天前
    禁止 ping 没用的,都是 tcp 连接。。。
    satifanie
        12
    satifanie   36 天前
    证书登录+fail2ban 就能阻挡大部分了。再不然换端口也行
    wslzy007
        13
    wslzy007   36 天前
    证书登录也挡不住巨量 tcp 连接,换端口过不了多久又照旧了。。。
    BFDZ
        14
    BFDZ   36 天前 via Android
    22 端口有几万次登录失败,换端口以后一次都没有
    fengtons
        15
    fengtons   36 天前 via Android
    换端口+禁止 root 登录,能将端口+用户名+密码同时扫出来的概率有多大?
    starrycat
        16
    starrycat   36 天前 via Android
    sg 本身安全吗
    wslzy007
        17
    wslzy007   36 天前
    vps 高联通网络,是 p2p 的没啥安全问题
    pperlee
        18
    pperlee   36 天前
    最完美解决办法:关闭 vps 的 ssh
    如果不想关闭又怕扫描,购 2 台同一个局域网的 vps,主 vps 仅限内网 ip 访问 :D
    vocaloid
        19
    vocaloid   36 天前
    直接换端口。。一个月能降到只有一两个人扫描
    eason1874
        20
    eason1874   36 天前
    直接换高位端口+证书登录,相当稳,不是被恶意针对不会有问题。

    既然是云主机,实在不想被骚扰你完全可以把云的功能用起来,在安全组规则那里限定只有你的 IP 才能访问 SSH 端口。然后通过云 API 在本地或者网站配置一个更新安全组规则 IP 的功能,定期主动把本地最新 IP 更换上去,或者手动同步。
    txydhr
        21
    txydhr   36 天前 via iPhone
    除非你是开机场一类的的怕被竞争对手定向搞,一般改个高位端口就足够了。
    Felldeadbird
        22
    Felldeadbird   36 天前 via iPhone
    换 ipv6 和改常用端口不就可以解决被扫问题了吗?

    海量的地址,用现在的模式扫,时间成本太大。
    barrelsoil
        23
    barrelsoil   36 天前 via Android
    你说密码复杂点,加上 f2b 3 次失败禁止,怎么可能爆破
    AmrtaShiva
        24
    AmrtaShiva   36 天前
    两个月不到 VPS 被人恶意尝试登陆过近千次 IP 看了一下 集中起来 二十来个 国内两个大厂占了几乎全部来源 呵呵 还有个江苏镇江的 剩下一个美国的 到底谁在作恶 谁在怂恿恶人作恶
    wslzy007
        25
    wslzy007   36 天前
    @AmrtaShiva 估计是大部分人的困惑吧。尽管密码负杂也扛不住太多的 tcp 连接呀,我遇到的大多是国外的 ip,国内的集中在广东
    huntcool001
        26
    huntcool001   36 天前
    @wslzy007 不是很明白... 我用证书登录,和密码复杂有啥关系
    wslzy007
        27
    wslzy007   36 天前
    @huntcool001 证书和复杂密码是类似的,只是确保登录安全,却无法阻止有心之人的大量 tcp 连接,连接多了消耗服务器资源。。。so,我是希望别人无法连接
    Osk
        28
    Osk   36 天前
    换端口
    禁止密码登录, 使用证书

    端口敲门
    fail2ban

    我只做了上面两点, 其它我觉得没必要就没做了, 反正 vps 没啥东西
    lightwell
        29
    lightwell   36 天前 via Android
    自己用用的 vps 换个端口就行了
    MeteorCat
        30
    MeteorCat   36 天前 via Android
    换端口+证书验证+禁用 root 可以免疫 90%攻击
    zjqzxc
        31
    zjqzxc   36 天前
    有一种叫做“堡垒机”的东西,业务用服务器的 ssh 端口只允许堡垒机 IP 连接

    至于堡垒机怎么保证安全...
    可以在换端口+证书登录+禁止 root 的前提下,只允许通过 VPN 连入的用户登录,也就是说,堡垒机只对外开放一个 VPN 端口即可。

    只要不出内鬼,自己不手残把 VPN 和堡垒机的证书同时泄露,在没有遇到重大漏洞的时候一般是安全的。
    chinesestudio
        32
    chinesestudio   36 天前 via Android
    改端口 fail2ban 就行了 。要是服务器上程序有问题 root 密码再长也一样是肉鸡。
    Kobayashi
        33
    Kobayashi   36 天前 via Android
    艹不百
    ufw limit
    fail2ban
    port knocking
    aru
        34
    aru   36 天前
    换成仅允许 key 登录后,我对 openssh 的安全性更信赖
    QUIOA
        35
    QUIOA   36 天前 via Android
    @pperlee 这样爆破主 vps 就必须得先爆副的吗
    laydown
        36
    laydown   36 天前
    用两步验证,ssh 我就用最简单的密码,就用 22 端口,他扫任他扫,破掉算我输!

    用 key 的话,换台电脑就很麻烦。或许有人又说了,谁让你用别人(或公共)电脑啦,可我就有这样的需求啊。

    ssh 两步验证,搞起来,如果不是有人特别针对你,基本安全无虞。
    LokiSharp
        37
    LokiSharp   36 天前
    被扫无所谓的,用证书登陆就行了
    jousca
        38
    jousca   36 天前
    我是设置 10 次错误就把对方 IP 拉黑
    muskill
        39
    muskill   35 天前 via iPhone
    @pperlee 跳板机吗
    issunday
        40
    issunday   35 天前 via Android
    @pperlee 关闭 ssh 后自己如何访问呢?
    kingcc
        41
    kingcc   35 天前   ❤️ 1
    knockd 了解一下
    brMu
        42
    brMu   35 天前
    一般也只会扫 22,换个高端口基本免疫了,除非人家专门搞你。
    saytesnake
        43
    saytesnake   35 天前
    就让它扫呗,反正是证书登陆的,扫扫更健康。
    RyuZheng
        44
    RyuZheng   35 天前
    我做了 5 个措施,写了一篇博客,https://zhengzexin.com/archives/VPS_No1_SSH/
    - 修改 SSH 默认的 22 端口
    - 使用 fail2ban 去屏蔽多次尝试密码的 IP
    - 禁止 root 用户直接登录
    - 使用密码加 Google Authenticator 2 步验证进行登录
    - 或使用有密码的 SSH 密钥进行登录
    leavic
        45
    leavic   35 天前
    我就直接禁止密码登录就行了。
    leavic
        46
    leavic   35 天前
    禁止密码登陆后,返回的错误不是密码错误而是证书错误,我就不信爆破机器人这么弱智,连这错误都看不懂还瞎破?
    isnullstring
        47
    isnullstring   35 天前
    换端口+1
    从每天 5000+尝试 到 0
    wanguorui123
        48
    wanguorui123   35 天前
    每天有超过 35000 次扫我的端口,依然淡定
    v66ex
        49
    v66ex   34 天前
    @wslzy007 扫描能有多巨量的 tcp 连接?如果真是巨量,那叫 ddos,不开放的端口,也能给你砸死
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1106 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:47 · PVG 03:47 · LAX 12:47 · JFK 15:47
    ♥ Do have faith in what you're doing.