博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
防止恶意扫描ssh登陆
阅读量:5943 次
发布时间:2019-06-19

本文共 931 字,大约阅读时间需要 3 分钟。

hot3.png

脚本1:

#!/bin/bash

#统计尝试登陆次数
cat /var/log/secure | grep "Failed password" | awk '{ print $(NF-3)}' | sort -n | uniq -c | awk '{ print $2"="$1}' > abc.txt
#得到扫描失败的ip地址
ipaddr=($(cat /var/log/secure | grep "Failed password" | awk '{ print $(NF-3)}' | sort -n | uniq -c | awk '{ print $2"="$1}'))
for i in ${ipaddr[@]} ; do
        NUM=$(cat abc.txt | awk '{print $1}')
        IP=$(cat abc.txt | awk '{print $2}')
        if [[ $NUM > 15 ]]; #得到扫描超过15次的ip地址
        then
                grep $IP /etc/hosts.deny > /dev/null
                if [[ $? != 0 ]]; #判断该ip是否在/etc/hosts.deny中
                then
                        echo "sshd:$IP" >> /etc/hosts.deny
                fi
        fi

done

另一种写法:

#/bin/bash

##deny ssh from invalid remote client 
grep "Failed password"  /var/log/secure | awk '{ print $(NF-3)}' | sort -n | uniq -c > /tmp/ssh_log
while read num ip
do
    if (($num > 15))
    then
        grep $ip /var/log/secure &>/dev/null
            if [[ $? != 0 ]]
            then
                echo "sshd:$ip" >> /etc/host.deny
            fi
    fi
done < /tmp/ssh_log

转载于:https://my.oschina.net/fengjihu/blog/192464

你可能感兴趣的文章
网站的线下活动如何组织
查看>>
Mac 常用快捷键
查看>>
阿里云CentOS7安装Oracle11GR2
查看>>
多线程之线程同步
查看>>
图片进行base64编解码方法
查看>>
外链起到引导、推广排名的作用
查看>>
python常用的字串格式化选项
查看>>
Lock wait timeout exceeded; try restarting......
查看>>
Servet映射规范翻译
查看>>
手机APP新“战场” 手机银行APP成了银行业的定时炸弹?
查看>>
pyhon 函数
查看>>
关于sybase数据库的锁
查看>>
素数判断
查看>>
Web Service 概念
查看>>
oracle lob 简单介绍
查看>>
H3C V7平台下的IRF堆叠
查看>>
rpm命令
查看>>
面试心得
查看>>
华为交换机SSH登录失败原因
查看>>
bash变量和逻辑运算
查看>>