专栏首页Laoqi's Linux运维专列ssh访问控制,多次失败登录即封掉IP,防止暴力破解

ssh访问控制,多次失败登录即封掉IP,防止暴力破解

近期一直发现站内的流量和IP不太正常,读取/var/log/secure 很多失败的登录信息!必须要整个方法整死他们,虽然我已经把ssh port修改为了XXX(能告诉你吗?)!但是攻击还是不断,随即请教了铭哥大神。由于担心没有测试机,直接线上操作把自己也加入black list就不好了。找了很多资料,最终也成功了。分享给大家!

一、系统:Centos6.9 64位

二、方法:读取/var/log/secure,查找关键字 Failed,(#cat /var/log/secure | grep Failed)例如(注:文中的IP地址特意做了删减):

Sep 17 09:08:09 localhost sshd[29087]: Failed password for root from 13.7.3.6 port 44367 ssh2 Sep 17 09:08:20 localhost sshd[29087]: Failed password for root from 13.7.3.6 port 44367 ssh2 Sep 17 09:10:02 localhost sshd[29223]: Failed password for root from 13.7.3.6 port 56482 ssh2 Sep 17 09:10:14 localhost sshd[29223]: Failed password for root from 13.7.3.6 port 56482 ssh2

从这些行中提取IP地址,如果次数达到10次(脚本中判断次数字符长度是否大于1)则将该IP写到 /etc/hosts.deny中。

三、步骤:

1、先把始终允许的IP填入 /etc/hosts.allow ,这很重要!比如:

sshd:19.16.18.1:allow

sshd:19.16.18.2:allow

由于手机(移动的网络)经常更改IP,但是我还经常需要使用手机来登录去查看一些使用情况,经过查看IP地址发现一直都是某个IP地址段的,所以:

sshd:132.213.:allow

2、脚本 /usr/local/bin/secure_ssh.sh

#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.list
for i in `cat  /usr/local/bin/black.list`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
  if [ ${#NUM} -gt 1 ]; then
    grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done

3、将secure_ssh.sh脚本放入cron计划任务,每1分钟执行一次。 # crontab -e

*/1 * * * *  sh /usr/local/bin/secure_ssh.sh

四、测试:

1、原本还想着是不是找个另外的方法测下呢。就在疑问还没有结束的时候,想要不先看看吧,就发现:上个图吧:

[[email protected] ~]#  cat /usr/local/bin/black.txt

还逮了个不小的呢!!!

再看看服务器上的hosts.deny

[[email protected] ~]# cat /etc/hosts.deny

2、从另一个终端窗口继续“暴力”连接服务器。

看看服务器上的黑名单文件: [[email protected] ~]# cat /usr/local/bin/black.txt 13.26.21.27=6

再看看服务器上的hosts.deny [[email protected] ~]# cat /etc/hosts.deny sshd:13.7.3.6:deny sshd:92.4.0.4:deny sshd:94.10.4.2:deny sshd:94.4.1.6:deny sshd:11.64.11.5:deny sshd:13.26.21.27:deny

IP 已经被加入到服务器的hosts.deny,再用正确的密码连接服务器,被拒绝: $ ssh [email protected] -p 2333 ssh_exchange_identification: Connection closed by remote host

事实证明,改了端口后+此自动添加黑名单,暴力破解的ssh连接数锐减~

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:http://www.okay686.cn复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • SSH访问控制,多次失败登录即封掉IP,防止暴力破解

    二、方法:读取/var/log/secure,查找关键字 Failed,例如(注:文中的IP地址特意做了删减):

    星哥玩云
  • ssh访问控制,阻断异常IP,防止暴力破解

    由于业务需要将Linux服务器映射到公网访问,SSH 端口已经修改,但还是发现有很多IP进行暴力破解,尝试将异常IP阻止非法访问,实现方式①SSH黑名...

    Kevin song
  • CentOS7下使用DenyHosts阻止SSH暴力攻击

    DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重复的攻击时就会记录IP到/etc/hos...

    yuanfan2012
  • 云服务器上ssh服务安全加固

    jeremyxu
  • Linux云服务器防止SSH暴力破解

    前阵子不是云服务器被黑客暴力破解了嘛,后来更换了端口,但尽管如此,这些不安分的黑客还是成天想着暴力破解别人的密码,这个可以从/var/log/secur...

    文科生的python自学之路
  • Splunk系列:Splunk搜索分析篇(四)

    我们先来了解一下Linux secure日志中比较常见的登录日志,如下两条登录记录作为示例:

    Bypass
  • Linux防止ssh暴力破解常用方案

    用于显示用户最近登录信息,可以看到哪些用户在哪个时间访问登录了机器,同时查看ip是不是自己的常用地址

    SAnBlog
  • 如何使用 fail2ban 防御 SSH 服务器的暴力破解攻击

    对于SSH服务的常见的攻击就是暴力破解攻击——远程攻击者通过不同的密码来无限次地进行登录尝试。当然SSH可以设置使用非密码验证验证方式来对抗这种攻击,例如公钥验...

    胡齐
  • sshd服务搭建与管理

    SSH(Secure Shell)建立在应用层和传输层基础上的安全协议。它使用加密验证来确认用户身份,并对两台主机之间的所有通信加密。

    用户1679793
  • SSH简明安全规划

    禁止使用口令只允许使用密钥建立 SSH 连接 1.创建 SSH KEY 使用ssh-keygen生成一个密钥对,并且将公钥注册到服务器的 $HOME/.ssh/...

    企鹅号小编
  • 老司机教你部署Cowrie蜜罐

    0.蜜罐分类: 低交互:模拟服务和漏洞以便收集信息和恶意软件,但是攻击者无法和该系统进行交互; 中等交互:在一个特有的控制环境中模拟一个生产服务,允许攻击者的部...

    FB客服
  • 设置SSH空闲超时退出时间【Linux】

    2,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。

    sinnoo
  • DenyHosts 阻止SSH暴力攻击

    首先sshd服务可以说是linux服务器一个至关重要的服务,如果被暴力破解成功,就直接可以拿到服务器的控制权了,在这里有两种解决方案,第一种是直接生成秘钥然后配...

    胡齐
  • Linux SSH密码暴力破解技术及攻防实战

    对于Linux操作系统来说,一般通过VNC、Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(N...

    FB客服
  • 记一次linux服务器入侵应急响应(小结)

    近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为。希望我们能协助排查问题。

    砸漏
  • 为什么你的服务器总被入侵?SSH密码暴力破解实战

    运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法 对于Linux操作系统来说,一般通过VNC、Teamviewer和SSH等工具来进行远程管理...

    小小科
  • 总结几个常用的系统安全设置(含DenyHosts)

    1)禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态 如果能够ping通 某个主机或者IP,那么攻击...

    洗尽了浮华
  • 业务逻辑漏洞探索之暴力破解

    最近斗哥在整理一些业务逻辑漏洞,突然发现好多问题,所以决心和大家一起探讨探讨,今天先从暴力破解开始。

    漏斗社区

扫码关注腾讯云开发者

领取腾讯云代金券