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

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

相关推荐
怪奇云呼军11 分钟前
从 ElevenLabs 看工具调用:闪电智能 Voice Agent 的企业集成验收设计
android·大数据·运维·服务器·网络·人工智能·kotlin
凤山老林1 小时前
Spring Boot 集成 Netty 构建高性能 TCP 长连接网关:协议解析、心跳检测与集群广播实战
spring boot·后端·tcp/ip
兴通物联科技2 小时前
对俄出口诚实标识 2026 时间节点与产线赋码采集技术方案
大数据·服务器·单片机·嵌入式硬件·深度学习·计算机视觉
VidDown2 小时前
从一堆脚本到能维护的系统:视频处理管道的工程化
服务器·ffmpeg·音视频·视频编解码
William Dawson2 小时前
kkFileView 内网 ARM 服务器全链路部署:从「找不到 office」到全绿通关(超详细排障实录)
运维·服务器
箓维2 小时前
线程的优缺点,与进程的关联和差异
java·服务器·笔记
不会就选b3 小时前
Linux之http会话
服务器·网络协议·http
江屿风3 小时前
【Linux系统】【从【收尾】缓冲区到【新开】磁盘块:一节课打通文件系统底层原理】流食般投喂
linux·运维·服务器·人工智能·笔记
码匠许师傅3 小时前
【C++三方组件】Asio 下篇:C++20 协程版 TCP 客户端与服务端
c++·tcp/ip·c++20
_upupup3 小时前
Linux中的权限解析
linux·服务器