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 是脚本的完整路径。

相关推荐
ErizJ2 分钟前
面试 | Linux
linux·面试
Rabbit_QL3 分钟前
GitHub 多账号 SSH 配置指南:让个人和工作账号共存
运维·ssh·github
wanhengidc6 分钟前
云手机有哪些辅助功能?
运维·服务器·网络·游戏·智能手机·生活
Mr. Cao code9 分钟前
快速部署MySQL 8.0:二进制安装全攻略
运维·数据库·mysql
菜_小_白12 分钟前
高并发定时任务调度系统
linux·c++
HAPPY酷16 分钟前
Linux 网络命令速查:告别 `ifconfig`,拥抱 `ip`
linux·网络·tcp/ip
L16247619 分钟前
Docker 全维度学习指南(从入门到实战)
运维·docker·容器
中国IT21 分钟前
第5章:Docker 的image镜像管理
运维·docker·容器
我不听你讲话24 分钟前
Nginx核心功能
linux·服务器·python
草莓熊Lotso24 分钟前
MySQL 数据类型核心指南:选型、实战与避坑
linux·运维·服务器·数据库·c++·人工智能·mysql