Chinaunix首页 | 论坛 | 博客

OPS

  • 博客访问: 491616
  • 博文数量: 117
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1210
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-05 14:50
个人简介

hellow 运维

文章分类

全部博文(117)

文章存档

2019年(1)

2018年(1)

2017年(45)

2016年(38)

2015年(32)

我的朋友

分类: 系统运维

2017-09-04 14:09:38

统计命令:统计暴力破解次数大于2的
 find /var/log -name 'auth.log' -type f | while read line;do awk '/Failed/{print $(NF-3)}' $line;done | awk '{a[$0]++}END{for (j in a) if(a[j] > 2) print j"="a[j]}' | sort -n -t'=' -k 2
拉黑名单脚本
#!/bin/bash

#-------------------------------------------------------------------------
#application: 检测ssh暴力破解,如果登录密码输入错误超过5次,就拉黑
#Revision:    0.1
#Date:        2016/12/19
#Author:    hanye
#Email:        hz7726@164.com
#Website:   
#Description:    Statistics of the top ten IP number and send email to author
#Notes:

#------------------------------------------------------------------------

#Copyright:    2016 (c) fangxin
#License:    GPL



SECURE_LOG=/var/log/secure
FAILED_LOGIN_IP=/data/sh/failed_login_ip.txt
SUCCESSFUL_LOGIN_IP=/data/sh/successful_login_ip.txt
NO_SSHD_IP=/data/sh/no_sshd_ip.txt
TIME=`date +%Y%m%d%H`
awk -F : '{print $4}' $SECURE_LOG |grep "Failed password for" |awk '{print $6}'|sort |uniq -c > $FAILED_LOGIN_IP
#Find out the IP failure login times greater than 50
awk '{if ($1 > 5) print $2}'  $FAILED_LOGIN_IP > $NO_SSHD_IP
    for ip in `cat $NO_SSHD_IP`
         do
    echo sshd:$ip >> /etc/hosts.deny
    echo "#$TIME"   >> /etc/hosts.deny
    done
cat $SECURE_LOG |grep Accepted >> $SUCCESSFUL_LOGIN_IP
echo $TIME >> $SUCCESSFUL_LOGIN_IP
cat /dev/null > $SECURE_LOG
cat $SUCCESSFUL_LOGIN_IP|grep ssh2|grep  -v 192.168|grep -v  116.255.235.13|grep -v 114.215.208.118|grep -v 1.192.156.65|grep -v 125.40|grep 127.0.0.1 |grep ::1  > /data/sh/unknow_ip.txt
cat /data/sh/successful_login_ip.txt  >> /data/sh/successful_login_ip.txt.bak
cat /dev/null > /data/sh/successful_login_ip.txt
UNKNOW_IP=`cat /data/sh/unknow_ip.txt`
SIZE=`du -sk /data/sh/unknow_ip.txt|awk '{print $1}'`
printf $SIZE
if [  $SIZE  != "0"  ];then
    /etc/init.d/postfix    restart
    #echo "cat $UNKNOW_IP" | mail -s "Danger,UNKNOW_IP was found!" 13700860182@139.com,13700860182@163.com
    echo "cat $UNKNOW_IP" | mail -s "Danger,UNKNOW_IP was found! zsh-web-1" hz7726@163.com
sleep 30s
    /etc/init.d/postfix stop
else
    exit 1
fi



阅读(980) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~