检查服务器机器是不是被暴力破解

以下是一个完整的Shell脚本,用于检测暴力破解尝试,即多次连续的失败登录尝试后终于成功登录。该脚本处理 /var/log/secure* 中的日志文件,分析失败和成功的登录尝试,并打印及保存有关潜在的暴力破解尝试的信息:

#!/bin/bash# 设置日志文件路径模式
LOGFILES="/var/log/secure*"# 文件存储外网登录尝试
OUTPUT_FILE="potential_bruteforce_attempts.txt"# 用于检查是否是外网IP的函数
is_external_ip() {ip=$1# 此处假设外网IP不包括私有地址和本地回环地址if [[ $ip =~ ^10\. || $ip =~ ^172\.(1[6-9]|2[0-9]|3[0-1])\. || $ip =~ ^192\.168\. || $ip =~ ^127\. ]]; thenreturn 1 # 是内网IPelsereturn 0 # 是外网IPfi
}# 确保输出文件是空的
> "$OUTPUT_FILE"# 检查日志文件并分析
for LOGFILE in $LOGFILES; doif [[ -f "$LOGFILE" ]]; thenecho "Analyzing log file: $LOGFILE"# 分析文件并提取含外网IP的成功登录尝试grep "Accepted password" "$LOGFILE" | while read line; doif [[ $line =~ Accepted\ password.*from\ ([^ ]+) ]]; thenip=${BASH_REMATCH[1]}if is_external_ip "$ip"; thenecho "$line"  # 打印到终端echo "$line" >> "$OUTPUT_FILE"  # 写入到文件fifidone# 分析失败的尝试,并检查是否后续有成功的登录awk '/Failed password/ {fail[$(NF-3)]++}  # 记录失败尝试次数/Accepted password/ {if (fail[$(NF-3)] > 3) {  # 检查是否存在多次失败尝试print "Brute-force detected: IP " $(NF-3) " had " fail[$(NF-3)] " failures before a success on line " NRprint "Brute-force detected: IP " $(NF-3) " had " fail[$(NF-3)] " failures before a success on line " NR >> "'$OUTPUT_FILE'"}delete fail[$(NF-3)]  # 重置失败计数}' "$LOGFILE"elseecho "Log file does not exist: $LOGFILE"fi
doneecho "Analysis complete. Check $OUTPUT_FILE for potential brute-force attempts."

脚本的功能:

  1. IP检查:确定日志行中的IP是否属于外网。
  2. 成功登录尝试:捕捉并记录所有被认为是外网IP的成功登录尝试。
  3. 失败登录尝试:追踪失败的登录尝试,并在检测到成功登录后,如果之前有多次失败尝试,则报告可能的暴力破解尝试。

运行和使用脚本:

  • 保存这段脚本到一个文件中,比如 analyze_bruteforce.sh
  • 给予执行权限:chmod +x analyze_bruteforce.sh
  • 运行脚本:./analyze_bruteforce.sh

这个脚本提供了一种方法来检测潜在的安全威胁,并帮助识别需要关注的特定IP地址。它旨在提供实时反馈和记录,适用于需要监控和防范暴力破解攻击的环境。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/825790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【5】DongshanPI-Seven 应用开发_网络编程TCPUDP

目录 1、网络编程概念2、网络编程的API2.1 网络通信交互示意图2.2 主要API 3、编程测试3.1 TCP 测试3.1.1 server 程序3.1.2 Client 程序3.1.3 测试结果 3.2 UDP 测试3.2.1 udp server3.2.2 udp client3.2.3 测试结果 1、网络编程概念 1.数据传输三要素:源、目的、…

网络的坚实与灵活:工业与常规以太网交换机的差异解析

🌐🌐在当今互联网和物联网迅速发展的背景下,以太网交换机作为网络通信的核心设备,其性能和稳定性对于整个网络系统的运行至关重要。工业以太网交换机和常规以太网交换机乍一看似乎很相似,但两者之间存在着一些关键区别…

深入探索:Zookeeper+消息队列(kafka)集群

目录 前言 一、Zookeeper概述 1、Zookeeper概念 2、Zookeeper 特点 3、Zookeeper工作机制 4、Zookeeper 选举机制 4.1 第一次启动选举机制 4.2 非第一次启动选举机制 5、Zookeeper 数据结构 6、Zookeeper 应用场景 二、部署 Zookeeper 集群 1、环境部署 2、安装 z…

OpenHarmony音频和音乐编码格式—vorbis

简介 一种通用音频和音乐编码格式。 Vorbis编解码器规范属于公共领域。所有技术细节都已发布并记录,任何软件实体都可以充分利用该格式,而无需支付许可费、版税或专利问题。 下载安装 直接在OpenHarmony-SIG仓中搜索vorbis并下载。 使用说明 以OpenHa…

测试JAVA 测开

测试、java测开 1、测试用例要素(4个重要要素)2、测试用例的好处3、测试用例的设计方法3.1 基于需求设计测试用例3.2 等价类3.3 边界值3.4 判定表 1、测试用例要素(4个重要要素) 测试环境操作步骤测试数据预期结果 2、测试用例的…

企业数字化与数智化的区别是什么?

一、引言 随着信息技术的迅猛发展和应用普及,企业面临着数字化与数智化两大转型趋势。数字化主要关注数据的收集、整合和流程优化,而数智化则在此基础上进一步引入智能技术,实现业务的自动化、智能化和决策的科学化。探讨企业数字化与数智化…

初级C语言:6 结构体

6.1 结构体的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 内置类型:char;short;int;long;long long;float;double 复杂对象的描述就会使…

通过拖拽动态调整div的大小

最近遇到一个需求,页面展示两块内容,需要通过拖拽可以动态改变大小,如下图: 实现思路:其实就是改变div样式的width,本质上就是Dom操作。 完整代码:(基于vue2项目实践) …

第 7 章 导航实现(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 准备工作 请先安装相关的ROS功能包: 安装 gmapping 包(用于构建地图): sudo apt inst…

爬虫机试题-爬取新闻网站

之前投简历时遇到了这样的一个笔试。本以为会是数据结构算法之类的没想到直接发了一个word直接提需求,感觉挺有意思就写了这篇文章,感兴趣的朋友可以看看。 拿到urllist 通过分析页面结构我们得以知道,这个页面本身没有新闻信息,是…

比特币叙事大转向

作者:David Lawant 编译:秦晋 要理比特币解减半动态,最关键的图表是下面这张,而不是价格图表。它显示了自 2012 年以来,矿业总收入与比特币现货交易量的比例,并标注了三个减半日期。 虽然矿工仍然是比特币生…

OpenHarmony图像解码库—stb-image [GN编译]

简介 stb_image主要是C/C实现的图像解码库。 下载安装 直接在OpenHarmony-SIG仓中搜索stb-image并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 库代码存放路径:./third_party/stb-image 修改添加依赖的编译脚本,路径:/devel…

编程入门(五)【Visual Studio Code安装与C/C++语言运行】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言VScode安装与环境配置编写第一个C语言程序总结 前言 经过了前面对计算机…

mars3d实现禁止地图移动,禁止地图左右平移,但是鼠标可以移动的效果。

new mars3d.layer.GeoJsonLayer({渲染后实现鼠标左键按住不释放拖动时,地图不跟着拖动效果 当前问题: 1.在map初始化,或者是加载效果的时候,整个地球的场景都是一样的。 如果鼠标左键按住不释放,在屏幕上拖动的时候…

还在 MySQL 中使用枚举?小心有坑~

为什么使用枚举 限定值的取值范围,比如性别(男,女,未知)等。 枚举类型使用陷阱 1.超级不推荐在mysql中设置某一字段类型为enum,但是存的值为数字,比如‘0’,‘1’,‘2…

软考135-上午题-【软件工程】-软件配置管理

备注: 该部分考题内容在教材中找不到。直接背题目 一、配置数据库 配置数据库可以分为以下三类: (1) 开发库 专供开发人员使用,其中的信息可能做频繁修改,对其控制相当宽松 (2) 受控库 在生存期某一阶段工作结束时发布的阶段产…

【算法】深度优先遍历(DFS)算法详解与实现

文章目录 1.算法原理2. 常见的深度优先遍历方式3. 代码实现总结 深度优先遍历(DFS)是一种常用的树或图的遍历算法,它通过尽可能深地搜索树或图的分支,直到路径上的所有节点都被访问完毕,然后再回溯到上一层&#xff0c…

什么是云渲染?云渲染平台怎么使用?云渲染怎么收费?

什么是云渲染? 云渲染是一种利用云计算技术提供的云端服务,用户可以将本地任务递交到远程服务器上,由远程计算集群协调和完成渲染,并将结果返回本地,最后用户可以在本地下载渲染结果。 而实时云渲染则是云渲染的一种…

python入门之简洁安装VS保姆版安装(含虚拟环境)

11、保姆版安装 Anoconda安装(python的一个发行版本) 优点:集成了许多关于python科学计算的第三方库,保姆级别 下载:www.anaconda.com/download/ 版本默认64位,py37 √:add anaconda to my…

OCP Java17 SE Developers 复习题14

答案 C. Since the question asks about putting data into a structured object, the best class would be one that deserializes the data. Therefore, ObjectInputStream is the best choice, which is option C. ObjectWriter, BufferedStream, and ObjectReader are no…