防止 vps 上 ssh 端口被恶意扫描 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wslzy007
V2EX    宽带症候群

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

  •  
  •   wslzy007 2020-02-23 14:25:21 +08:00 11352 次点击
    这是一个创建于 2057 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    祭出工具:SG ( smarGte ),如何使用 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  
       2020-02-23 14:50:47 +08:00
    扫就让他们扫嘛,反正是证书登陆。

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

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

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

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

    端口敲门
    fail2ban

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

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

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

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

    ssh 两步验证,搞起来,如果不是有人特别针对你,基本安全无虞。
    LokiSharp
        37
    LokiSharp  
       2020-02-23 23:53:07 +08:00
    被扫无所谓的,用证书登陆就行了
    jousca
        38
    jousca  
       2020-02-24 00:41:58 +08:00
    我是设置 10 次错误就把对方 IP 拉黑
    muskill
        39
    muskill  
       2020-02-24 08:07:34 +08:00 via iPhone
    @pperlee 跳板机吗
    issunday
        40
    issunday  
       2020-02-24 10:03:51 +08:00 via Android
    @pperlee 关闭 ssh 后自己如何访问呢?
    kingcc
        41
    kingcc  
       2020-02-24 11:00:36 +08:00   1
    knockd 了解一下
    brMu
        42
    brMu  
       2020-02-24 11:10:56 +08:00
    一般也只会扫 22,换个高端口基本免疫了,除非人家专门搞你。
    saytesnake
        43
    saytesnake  
       2020-02-24 11:29:52 +08:00
    就让它扫呗,反正是证书登陆的,扫扫更健康。
    RyuZheng
        44
    RyuZheng  
       2020-02-24 12:11:57 +08:00   1
    我做了 5 个措施,写了一篇博客,https://zhengzexin.com/archives/VPS_No1_SSH/
    - 修改 SSH 默认的 22 端口
    - 使用 fail2ban 去屏蔽多次尝试密码的 IP
    - 禁止 root 用户直接登录
    - 使用密码加 Google Authenticator 2 步验证进行登录
    - 或使用有密码的 SSH 密钥进行登录
    leavic
        45
    leavic  
       2020-02-24 13:02:49 +08:00
    我就直接禁止密码登录就行了。
    leavic
        46
    leavic  
       2020-02-24 13:03:52 +08:00
    禁止密码登陆后,返回的错误不是密码错误而是证书错误,我就不信爆破机器人这么弱智,连这错误都看不懂还瞎破?
    isnullstring
        47
    isnullstring  
       2020-02-24 14:36:48 +08:00
    换端口+1
    从每天 5000+尝试 到 0
    wanguorui123
        48
    wanguorui123  
       2020-02-24 20:19:38 +08:00
    每天有超过 35000 次扫我的端口,依然淡定
    v66ex
        49
    v66ex  
       2020-02-25 12:49:35 +08:00
    @wslzy007 扫描能有多巨量的 tcp 连接?如果真是巨量,那叫 ddos,不开放的端口,也能给你砸死
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2593 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 04:50 PVG 12:50 LAX 21:50 JFK 00:50
    Do have faith in what you're doing.
    /body> ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86