CENTOS 7 添加黑名单禁止IP访问服务器

avatar
作者
猴君
阅读量:0

一、通过 firewall 添加单个黑名单

只需要把ip添加到 /etc/hosts.deny 文件即可,格式  sshd:$IP:deny

vim /etc/hosts.deny  # 禁止访问  sshd:*.*.*.*:deny  # 允许的访问  sshd:.*.*.*:allow  sshd:.*.*.*:allow

二、多次失败登录即封掉IP,防止暴力破解的脚本(超过5次的就加到黑名单)

2.1,编写脚本

# 创建目录 mkdir -p /data/blacklist  # 创建脚本文件 vim /data/blacklist/secure_ssh.sh # 复制下边代码  #! /bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /data/blacklist/black.txt for i in `cat  /data/blacklist/black.txt` do     IP=`echo $i |awk -F= '{print $1}'`     NUM=`echo $i|awk -F= '{print $2}'`     if [ $NUM -gt 5 ];then         grep $IP /etc/hosts.deny > /dev/null         if [ $? -gt 0 ];then             echo "sshd:$IP:deny" >> /etc/hosts.deny         fi     fi done  # 脚本文件改变权限 chmod 777 /data/blacklist/secure_ssh.sh

2.2,创建记录登录失败次数的文件

touch /data/blacklist/black.txt

2.3,添加定时 5分钟执行一次

# 编辑 crontab 文件 vim /etc/crontab  # 添加以下配置 */5 * * * * root /data/blacklist/secure_ssh.sh

2.4,测试 ssh登录自己的服务器

ssh **.**.**.**

2.5,查看黑名单列表是否记录

cat /data/blacklist/black.txt

2.6,查看黑名单列表看是否添加进去了

cat /etc/hosts.deny

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!