Centos7.9自动封禁IP

原创作者:运维工程师 谢晋

Centos7.9自动封禁IP

Centos7.9自动封禁IP

  1. 运维时,经常有业务系统会被攻击,重复的在尝试登陆系统账号密码;为了系统安全添加了个脚本来禁用5次密码错误的IP,脚本如下:

    vi failed_ips.sh

    #!/bin/bash

    创建一个临时文件来存储IP地址和它们的失败登录次数

    TEMPFILE=$(mktemp)

    使用awk处理/var/log/secure,提取IP地址并计数失败的登录尝试

    awk '/Failed/ {print 11}' /var/log/secure | sort | uniq -c | awk '1 > 2 {print 2"="1}' > "$TEMPFILE"

    读取临时文件,并将IP地址添加到/etc/hosts.deny中(如果它们尚未被添加)

    while IFS== read -r IP NUM; do
    if ! grep -q "^sshd:IP:deny" /etc/hosts.deny; then echo "sshd:IP:deny" >> /etc/hosts.deny
    fi
    done < "$TEMPFILE"

    删除临时文件

    rm "$TEMPFILE"

  2. 给脚本赋权

    chmod +x failed_ips.sh

  3. 创建计划任务

    crontab -e

    */10 * * * * /failed_ips.sh

确保/failed_ips.sh 是脚本的完整路径。

相关推荐
IMPYLH4 分钟前
Linux 的 mkdir 命令
linux·运维·服务器·bash
yy_xzz7 分钟前
【Linux开发】多线程并发服务器(网络编程+多线程+线程同步实现的聊天服务器和客户端)
linux·服务器·网络
网络研究员11 分钟前
Facebook无法向他人发送消息?2026原因解析与解决思路
运维·服务器
电子阿板12 分钟前
ubuntu虚拟机查看tusb8041扩展坞及U盘的设置方法
linux·运维·ubuntu
迷路爸爸18014 分钟前
Docker 入门学习笔记 07:用一个多服务案例真正理解 Docker Compose
运维·笔记·学习·spring cloud·docker·容器·eureka
孤影过客15 分钟前
Linux下的PostgreSQL集群演进指南
linux·运维·postgresql
Arvin62719 分钟前
Jenkins 任务执行完成后会kill掉的衍生进程
运维·servlet·jenkins
嵌入式届的关宏峰25 分钟前
RV1126开发总结
linux
雄哥00727 分钟前
linux redis升级⼿册-源码部署版
linux·运维·redis
张32333 分钟前
K8s 容器启动全流程:从 kubelet 到 Linux 内核
linux·kubernetes·kubelet