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

一、通过 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

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

相关推荐
耍酷的魔镜2 小时前
谈谈如何使用Netty开发实现高性能的RPC服务器
服务器·网络协议·rpc
程序员在囧途3 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
cookies_s_s3 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
想你依然心痛4 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
程序员在囧途4 小时前
likeadmin-api API 算力超市怎么做供应商切换?统一鉴权、task_id 和 callback_url 才能稳交付
java·服务器·数据库·开放api·likeadmin-api·api算力超市
WZF-Sang5 小时前
网络基础——2
服务器·网络·c++·学习·网络编程·php
apihz6 小时前
随机驾考题目(C 照科一 / 科四 2000+ 题)免费API调用教程
android·java·c语言·开发语言·网络协议·tcp/ip
wang_shu_mo_ran6 小时前
网络编程(一):网络编程初识
运维·服务器·网络
sukioe7 小时前
【无标题】
后端·docker·centos
ton_tom7 小时前
设备驱动程序编程-Linux2.6.10-kdb安装-32位
linux·运维·服务器