Linux防爆破ssh脚本-通过修改/etc/hosts.deny实现

jupiter
2021-12-07 / 0 评论 / 849 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年12月07日,已超过1109天没有更新,若内容或图片失效,请留言反馈。
注意:需要使用root用户身份操作

1.ubuntu方式

  • 脚本编写
mkdir /script
vim /script/checkBlackIp.sh
#!/bin/sh

lastb |awk '/ssh/{print $3}' |sort |uniq -c |awk '{print $2"="$1}'  >/script/black.list

for i in `cat /script/black.list`
do
    IP=`echo $i |awk -F= '{print $1}'`
    NUM=`echo $i |awk -F= '{print $2}'`
    echo $IP:$NUM
    if [ $NUM -gt 2 ]; then
        grep $IP /etc/hosts.deny >/dev/null
        if [ $? -gt 0 ];then
            echo "sshd:$IP:deny"
            echo "sshd:$IP:deny" >>/etc/hosts.deny
        fi
    fi
done
  • 手工运行测试
sudo bash /script/checkBlackIp.sh
  • 定时2分钟执行1次
crontab -e
# 加入如下内容
*/2 * * * * root sh /script/checkBlackIp.sh

2.centerOS方式

  • 脚本编写
mkdir /script
vim /script/checkBlackIp.sh
#!/bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /script/black.txt

for i in `cat /script/black.list`
do
    IP=`echo $i |awk -F= '{print $1}'`
    NUM=`echo $i |awk -F= '{print $2}'`
    echo $IP:$NUM
    if [ $NUM -gt 2 ]; then
        grep $IP /etc/hosts.deny >/dev/null
        if [ $? -gt 0 ];then
            echo "sshd:$IP:deny"
            echo "sshd:$IP:deny" >>/etc/hosts.deny
        fi
    fi
done
  • 手工运行测试
sudo bash checkBlackIp.sh
  • 定时2分钟执行1次
crontab -e
# 加入如下内容
*/2 * * * * root sh /script/checkBlackIp.sh

参考资料

  1. Linux Contos Ubuntu防爆破ssh脚本
0

评论 (0)

打卡
取消