首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
V2EX  ›  Linux

有人猜解 Linux 的 ssh 服务,你们是怎么处理的?

  •  
  •   WordTian · 329 天前 · 5768 次点击
    这是一个创建于 329 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近有个人一直在猜解我的 ssh,五分钟猜一次,持续了快半个月了。
    虽然我知道他猜不出来,但是一直在日志里晃悠,强迫症受不了啊
    之前试过 /etc/hosts.deny,但是还是会进入 pam 验证过程后再拒绝
    有什么办法能针对 IP,直接拒绝访问的方法吗? iptables ?
    第 1 条附言  ·  329 天前
    下面回复出现的解决方法,整理如下:
    1.换端口(感觉作用不大,nmap 还是能扫出来)
    2.IP 登录白名单(如果换 IP 就坑了)
    3.登录方式换为公私钥(虽然安全性很高,但我还是喜欢帐密,可以用不同设备随时登录)
    4.tcp_wrappers (通过 pam 认证过程后才拒绝,感觉有点迟钝)
    5.iptables (针对某 IP 或 IP 段还是比较好用的)
    6.fail2ban (这个可以尝试下)
    7.port knocking (这个很 6,就是不知实际使用效果如何,可以试试)

    我倒是还一个思路:
    sshd 监听 127.0.0.1,这样外网就扫不到 sshd 的端口了
    服务器开着代理服务(比如$$,或 v2ray )
    然后通过代理,访问 127.0.0.1 登录 ssh
    但是有个问题是,sshd 绑定到 127.0.0.1 就会无法启动,有 dalao 知道是啥情况吗?
    第 2 条附言  ·  328 天前
    update:
    8.denyhosts (类似 fail2ban )
    9.在 ssh 端口上做蜜罐,反套路(思路清奇)
    10.ssh 多开,九假一真(脑洞真大)
    第 3 条附言  ·  317 天前
    update:
    11.集成 Google Authenticator 两步验证登录(这个也很不错的样子)
    69 回复  |  直到 2017-11-04 10:31:36 +08:00
        1
    opengps   329 天前 via Android   ♥ 2
    换端口啊
        2
    zlfzy   329 天前
    就是你那个加入 /etc/hosts.deny 就可以了,而且 tcp_wrappers 的优先级貌似高于 iptables,没必要再加入 iptables
        3
    sagaxu   329 天前   ♥ 1
    标准答案不是 fail2ban 吗?
        4
    wxm4ever   329 天前
    阿里云 ECS 不天天被人扫么
        5
    isCyan   329 天前
    装个 fail2ban 不用配置,默认就会帮你自动封
        6
    clino   329 天前
    fail2ban+1
    装上了不用配置直接就能防
    当然要更严格,比如更少的失败次数更长的封禁时间,可以自己改配置
        7
    j4fun   329 天前
    换个数字大一点的端口肿么样?或者改成秘钥登陆。。
    或者 iptables -t filter -d ip -j REJECT ?
        8
    aalska   329 天前   ♥ 4
    随便他扫。。。。。看着他从 0 次失败变成 50w 次失败 心情舒爽
        9
    kmahyyg   329 天前 via Android
    301 到 10GB.test
        10
    type   329 天前   ♥ 1
    使用 SSH KEY 来登陆,并且关闭密码登陆。
    就没人尝试你的 SSH 密码了。
        11
    sagaxu   329 天前
    @zlfzy Changes since OpenSSH 6.6
    =========================

    Potentially-incompatible changes
    * sshd(8): Support for tcpwrappers/libwrap has been removed.
        12
    WordTian   329 天前
    @opengps 懒,不想换,换了我的手机电脑上的 ssh 配置都得改
    @zlfzy 我一直以为 iptables 的优先级更高 /doge
    @j4fun 端口已经是 5 位数字的了,密钥感觉不太方便
    @sagaxu @clino 回头试试
    @aalska 怎么说呢,其实不知道他在扫还好,发现了强迫症就忍不了
        13
    est   329 天前   ♥ 11
    把登陆成功的提示语改成:Permission denied, please try again.
        14
    sagaxu   329 天前
    @WordTian iptables 的优先级更高,你理解无误
        15
    likuku   329 天前
    @WordTian 不方便?比密钥更方便唯有空密码了。
        16
    ferstar   329 天前
    楼上 fail2ban 可破, 或者 iptables 也是美滋滋的
    https://ferstar.org/post/root/ssrbei-e-yi-sao-miao-shi-xu-yao-zuo-de-shi-qing
        17
    fe619742721   329 天前
    @est 我看行。。。
        18
    zjyl1994   329 天前
    我端口都没换,把密码登录关掉,只允许 SSH 密钥登录,这样就行了
        19
    zlfzy   329 天前
    @sagaxu 实测 openssh-6.6 版本 tcpwrappers 依然有效
    加入 /etc/hosts.deny 之后再连 ssh:
    “ ssh_exchange_identification: read: Connection reset by peer ”
        20
    aalska   329 天前
    @WordTian 我也强迫症 我就是强迫一定要看到对面登陆失败
        21
    sagaxu   329 天前
    @zlfzy Changes since OpenSSH 6.6,6.6 是最后一个能用的版本
        22
    zlfzy   329 天前
    @sagaxu 噢噢,谢谢
        23
    levenhdu   329 天前
    mark
        24
    eslizn   329 天前
    证书登录,如果对方能猜解出来,我也认了
        25
    Phariel   329 天前
    关闭密码登入,换私钥,改端口
        26
    cye3s   329 天前
    就算改密钥登陆,关密码,也还是有大把 ip 来尝试,顺便上了 fial2ban
        27
    psirnull   329 天前
    /sbin/iptables -A INPUT -s 1.1.1.0/24 -j DROP #网段
    /sbin/iptables -A INPUT -s 1.1.1.0 -j DROP #ip
        28
    zpvip   329 天前   ♥ 1
    fail2ban + 最多三次尝试 + IP 白名单
    白名单里放另一台服务器的 IP

    SSH 改端口一般是第一件事,改的时候小心点,新的端口通了再删除旧的,不然连不上只能控制面板重装系统了。
        29
    zpf124   329 天前
    只允许 秘钥登录 +1。

    唯一有点方的就是 前段时间那个 xshell 被植入恶意后门那个,我当时更新到了中招版本。
    不过知道它上传秘钥不,反正目前那个服务器啥也不干,如果发现被人黑了,我再换秘钥。
        30
    okletswin   329 天前
    更换端口+秘钥登陆
        31
    macfee   329 天前
    @zpvip console 呢?
        32
    vipper   329 天前
    今天好像看到一篇有关 ssh 私钥泄露的新闻,不知真假,不过还是小心为好。

    另外,像这种扫你登录的可以直接 iptables ban 掉他

    之前我的一个论坛,一直有人在猜管理员密码,看日志 ip 不是固定的,前 3 位一样,但第四位会变,于是我就将那个段的 IP 全 ban 了,之后再也没有猜解的出现
        33
    woshinide300yuan   329 天前
    0.0 我是阿里云安全组仅允许固定 IP 访问 SSH 端口,不知道这样有用吗!
        34
    zander   329 天前
    /etc/ssh/sshd_config
    PasswordAuthentication no
        35
    hjc4869   329 天前
    ssh 关掉
        36
    yingtl   329 天前
    有个脚本,如果检测到我登陆进去了,就把端口关上。没有登陆就开着端口。
    然后我长年保持登陆
        37
    ArcticL   329 天前
    @yingtl 端口关了,怎么通信的?
        38
    q397064399   329 天前
    随便扫,你能扫到算我输
        39
    sagaxu   329 天前
    @ArcticL port knocking,敲门敲对了才能 connect
    https://wiki.archlinux.org/index.php/Port_knocking
        40
    ArcticL   329 天前
    @sagaxu 这个还挺好玩的
        41
    srx1982   329 天前
    @woshinide300yuan 万一你的 ip 变了。。。
        42
    feast   329 天前
    57880 123.183.209.135
    20925 58.242.83.26
    16902 60.18.229.201
    16878 58.242.83.35
    16271 123.183.209.136
    12324 59.63.166.83
    11911 42.7.26.49
    10259 121.18.238.106
    9554 221.194.44.212
    8816 218.65.30.190
    8757 59.45.175.96
    8605 221.194.47.242
    8538 121.18.238.28
    8455 123.244.9.47
    8378 59.45.175.94
    8373 121.18.238.119
    8351 59.45.175.95
    8209 221.194.47.224
    8130 59.45.175.98
    8050 218.87.109.150
    7903 59.45.175.67
    7773 121.18.238.123
    7673 221.194.47.236
    7417 221.194.47.233

    48757 218.65.30.124
    39393 123.244.9.46
    38337 61.177.172.66
    26713 58.242.83.14
    21392 42.7.26.15
    19163 218.65.30.126
    10409 103.242.58.237
    9516 218.65.30.30
    8673 121.18.238.106
    8469 42.7.26.60
    7960 221.194.47.236
    7947 61.177.172.60
    7897 59.45.175.11
    7712 58.57.65.112
    7463 59.45.175.96
    7440 121.18.238.125
    7425 121.18.238.123
    7361 221.194.47.242
    7193 221.194.47.233
    6772 221.194.44.212
    6696 121.18.238.119
    6659 59.45.175.95
    6635 59.45.175.67
    6109 121.18.238.28

    开机半个月的 JJ
        43
    ryd994   329 天前 via Android
    禁止密码登录,随便扫随便试
    真要在外面的话用跳板机进去
        44
    wdlth   329 天前
    我限制了只能深圳电信连进来……
        45
    timothyye   329 天前 via Android
    只允许证书登录,密码登录的不安全!
        46
    Neveroldmilk   329 天前
    前面有人说过了,关闭密码验证,使用 key 验证。
        47
    iceheart   329 天前 via Android
    我只 listen 127.0.0.1,就没人能猜了
        48
    BFDZ   329 天前 via Android
    @WordTian 我都是先换端口,禁止密码开密钥登录,看日志
        49
    WordTian   329 天前
    @iceheart 能监听 127.0.0.1 ?我改成 127.0.0.1 之后 ssh 就没法启动啊
        50
    vcinex   329 天前
    随他猜 百十位的随机字符 猜得出来我也认了
        51
    kiwi95   329 天前
    1. 换端口
    2. 禁止密码登陆
    3. 禁止 root 用户登陆

    三个全了基本就问题了
        52
    intsilence   329 天前
    3 楼就有标准答案了呀,其他方法都会给自己带来不便
        53
    WordTian   329 天前 via Android
    @intsilence 想看看大家遇到这种情况都是怎么处理的,集思广益嘛
        54
    tinkerer   329 天前
    fail2ban
        55
    bao3   329 天前
    fail2ban + ssh key
        56
    aaronzjw   329 天前
    @est 机智
        57
    ywgx   329 天前 via Android
    https://xabcloud.com 强安利 😄
        58
    pynix   328 天前
    采用公钥验证。。。。
        59
    twl007   328 天前 via iPhone
    denyhosts
        60
    pony279   328 天前
    搞个 docker 镜像给他登陆,把容器里面的网络关掉,记录信息,看能不能反套路一波
        61
    qzy168   328 天前
    换端口+证书登录。
        62
    0871087123   328 天前
    找个 ssh 的蜜罐,开个十几个的,真的 ssh 端口只有自己知道,不 OK ?
    寻龙点穴之 ssh 七星疑冢(滑稽)
        63
    flynaj   328 天前 via Android
    如果是那种无脑机器扫描,换端口就行了,如果是针对性的用用密匙
        64
    bigpigeon   328 天前
    改证书登录,在 /etc/ssh/sshd_conf 把密码登录 false 掉,随他怎么猜
        65
    woshinide300yuan   328 天前
    @srx1982 主要我的情况是不重启路由就 IP 不变,要变了再去阿里云安全组里更新一下喽。嘻嘻~~~~
        66
    nyaruko   328 天前
    之前也有过密码被扫描的困扰。后来只允许密钥登录。但加密钥又实在太麻烦。现在用了 Google 验证器做两步验证,有 key 可以免密码,没 key 需要 Google 验证和用户密码
        67
    nyaruko   328 天前
    好吧没注意审题。这种情况只能蜜罐了。
        68
    panzhc   322 天前
    集成 Google Authenticator 双因子登录
        69
    testcaoy7   318 天前
    头一次听说 port knocking,真的很 6 !正在研究中。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2184 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 68ms · UTC 13:25 · PVG 21:25 · LAX 06:25 · JFK 09:25
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1