美文网首页
设置SSH登录IP白名单,过滤非法IP密码登录请求

设置SSH登录IP白名单,过滤非法IP密码登录请求

作者: 上谷剑客 | 来源:发表于2020-01-08 15:01 被阅读0次

    白名单的应用场景

      当Linux服务器暴露在公网时,不可避免地会受到大量ssh登录请求,这些请求大多是黑客在尝试暴力破解ssh密码。笔者做过实验,将1台服务器暴露在公网,只开放ssh服务的22端口,一晚上收到了5000多次来自世界各地不同IP源地址的失败的登录尝试。为了应对SSH暴力破解的威胁,采取一定的防护措施是很有必要的。
      在某些应用场景,登录Linux服务器进行操作的只有若干个固定IP地址,例如某公司有固定IP地址的企业专线,大家的电脑就会通过这些固定IP和公网交互,这时部署在公网的Linux服务器收到的ssh登录请求,源地址就是这些固定IP地址,这时就可以设置白名单,只允许特定的IP地址访问,来自其它IP地址的ssh登录请求会被驳回。

    本文目标

    • 设置SSH登录IP白名单,只允许特定IP用密码登录

    操作步骤

    • 修改 /etc/ssh/sshd_config 配置文件,找到 PasswordAuthentication 字段,将其改为
      PasswordAuthentication no
      这样在整体上关闭了密码登录;
    • 在 /etc/ssh/sshd_config 配置文件末尾,添加一句:
      Match Address XXX.XXX.XXX.XXX
        PasswordAuthentication yes
      其中 XXX.XXX.XXX.XXX 是允许登录的特定的IP地址,也就是本文所指白名单,这句话是指,当登录IP匹配 XXX.XXX.XXX.XXX 的形式时,允许采用密码登录。
      这里可以添加多个IP地址,可以使用通配符,例如:
      Match Address 192.168.1.*,192.168.2.8,192.168.2.100
        PasswordAuthentication yes
    • 重启sshd服务:
      (RedHat) service sshd restart
      (Ubuntu) systemctl restart sshd

    注意事项

    一定要再三确认自己使用的客户端计算机的公网IP地址,重启sshd服务后,除了在白名单上的IP,来自其余IP的密码登录均会被屏蔽。

    相关文章

      网友评论

          本文标题:设置SSH登录IP白名单,过滤非法IP密码登录请求

          本文链接:https://www.haomeiwen.com/subject/djqsactx.html