码迷,mamicode.com
首页 > 其他好文 > 详细

禁止sshd暴力尝试方案

时间:2014-05-08 16:59:38      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:密码   服务器   监控   touch   暴力   

 最近查看了一下日志服务器,这台日志服务器监控来自服务器群里面的一些机器日常运行日志,可以通过网页形式查看,结果有点出乎意料:

bubuko.com,布布扣


总是有那么一些人会不停地扫机器,不停的尝试暴力破解ssh登陆,还好本人用的密码估计可以让这些无聊的人猜个几万年,但是老是这样子也不行啊,想了几个防范的方法:

 1.关闭ssh的root登陆选项,这样可以一定程度上面防范,但是今后想用root直接登陆就不行了,安全了但是也麻烦了,随便吐槽一下,公司研发那边人连vpn都不想用,说太麻烦了,结果还是直接给他们开放出来了,这样的“人才”我只能说我跪了。放弃这个想法。

 2.vpn登陆,上面就说了,人家嫌麻烦!又放弃之。

 3.收集登陆信息,发现登陆次数过多的ip,直接扔到hosts.deny里面,这样就可以防止了。

没错,这里说的是第三种方案了,但是要写脚本!

 首先要知道,登陆信息是放在那个文件里面的,我用的centos,一般都是放在/var/log/secure文件里面,直接vi就可以看到里面的各种登陆信息。

 那就干活吧,写shell去:

 #touch blockip.sh

 #vi blockip.sh


#!/bin/bash

datenode=`date -d -15min|awk ‘{print substr($0,10,5)}‘`

blockip=`cat /var/log/secure | grep "$datenode" | awk ‘$6 ~ "Failed" {print $0}‘ | grep -o ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}‘ | sort | uniq -c | awk ‘$1>6 {print "sshd:"$2}‘`

echo $blockip >> /etc/hosts.deny

这里解析一下:

  1. datenode=`date -d -15min|awk ‘{print substr($0,10,5)}‘` 的意思是设置一个监控时间点,我这里设置了15分钟内的

  2. cat /var/log/secure | grep "$datenode" | awk ‘$6 ~ "Failed" {print $0}‘ 查找15分钟内在第六个字段出现有"Failed"的内容,因为在secure文件里面,出现"Failed"基本上就可以判断是有问题的,这里是根据我服务器情况而定的,具体可以根据服务器实际的内容决定

  3. | grep -o ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}‘ | sort | uniq -c 在b中找了内容后再匹配如果是出现ip形式的内容,并且sort排序,uniq去除重复,-c是计算次数

  4. | awk ‘$1>6 {print "sshd:"$2}‘` 最后筛选出来的内容第一列数字如果大于6次(也就是证明这个ip不断尝试了6次ssh登陆(实际如果是我们去登陆的话,写错6次密码的几率很低了),然后打印出来sshd $2,$2第二列是ip,形式就是sshd:x.x.x.x

好了,这下终于筛选出来了最终的格式了sshd:x.x.x.x,然后写到/etc/hosts.deny里面,这样下次再出现这个ip尝试登陆的话,系统会直接禁止访问了,再配合crontab,每15分钟扫一下:

   */15 * * * * sh /opt/blockip.sh > /dev/null 2>&1

再每个晚上23时重置一下hosts.deny文件,/opt/hosts.deny是一个没有新增内容的一个原始文件,为了是以防那天这些ip被好人使用了,又想访问我们的业务的话,那这样就相当于清空了限制了。

   * 23 * * * cat /opt/hosts.deny > /etc/hosts.deny

over!


本文出自 “fengyunsen” 博客,请务必保留此出处http://samfeng.blog.51cto.com/52272/1408366

禁止sshd暴力尝试方案,布布扣,bubuko.com

禁止sshd暴力尝试方案

标签:密码   服务器   监控   touch   暴力   

原文地址:http://samfeng.blog.51cto.com/52272/1408366

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!