当前位置: 首页 > article >正文

Centos7.9自动封禁IP

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

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"
  1. 给脚本赋权
# chmod +x failed_ips.sh
  1. 创建计划任务
# crontab -e
*/10 * * * * /failed_ips.sh

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


http://www.kler.cn/a/455209.html

相关文章:

  • 基于 Python Django 的农产品销售系统的研究与实现
  • IEC103 转 ModbusTCP 网关(三格电子)
  • 网络游戏多开有IP限制问题如何解决
  • 粮油与饲料科技杂志社粮油与饲料科技编辑部粮油与饲料科技杂志2024年第7期目录
  • 代码随想录算法训练营第三十五天|01背包问题 二维和一维(卡码网第46题)、416分割等和子集
  • Speckly:基于Speckle文档的RAG智能问答机器人
  • 基于自然语言处理(NLP)的智能客服系统
  • ⽹站出现500,502,503,400,403,404都是什么意思,怎么排查和解决?
  • Java重要面试名词整理(十):Kafka
  • 深度学习序列预测实操教程
  • RPC简介:实现分布式系统的桥梁
  • HTML5文档元数据详解
  • QT-基础-1-Qt 中的字符串处理与常见数据类型
  • UE5 UHT GENERATED_BODY() GENERATED_USTRUCT_BODY()
  • 【机器学习与数据挖掘实战】案例06:基于Apriori算法的餐饮企业菜品关联分析
  • tauri2使用withGlobalTauri实现注入js脚本也可以使用事件event
  • 最近常用linux、docker命令总结
  • 无法在节点上执行操作 unable to perform an operation on node ‘rabbit@LAPTOP-D0UOMDG9‘
  • Day36汉明距离总和
  • C#-使用StbSharp库读写图片