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

相关推荐
海鸥817 小时前
AIOps(智能运维)理解
运维·人工智能
码农小韩7 小时前
Linux应用开发(一)——Linux的标准IO
linux·运维·服务器
路弥行至7 小时前
Linux (ARM64 / Jetson) 挂载 exFAT 移动硬盘排障与离线安装指南
linux·运维·服务器·经验分享·笔记·jetson·exfat
漫谈数据智理7 小时前
主动元数据为何是数据编织的核心——从“连接数据”走向“感知、理解与行动”的 Data Fabric
运维·fabric
数据库小学妹8 小时前
MySQL长事务复盘:Sleep连接、MDL排队与undo滞留
运维·数据库·mysql
云泽8088 小时前
Linux 系统编程实战:从零手写一个高性能终端进度条
linux·运维·服务器
Mapleay8 小时前
设备树/ACPI 与 fwnode 内核基础设施
linux
waiting9711189 小时前
Ubuntu 26.04 + Android14安装与编译教程
android·linux·ubuntu
Lsetea9 小时前
ACME 报 rate limit:Let‘s Encrypt 限速类型与重试策略
运维·https·证书·ssl·acme
qetfw9 小时前
Debian 部署 phpMyAdmin:Apache、PHP 与 MariaDB 管理界面配置
linux·debian·php·apache