shell-将密码输入错误超过4次的IP地址通过firewalld防火墙阻止访问

news2024/10/7 12:19:47

应用场景:防止恶意IP尝试ssh登录

脚本说明:将密码输入错误超过四次得ip地址通过iptable防火墙访问。

分析:

  1. 首先,需要知道ssh远程访问记录在哪一个文件中  /var/log/secure
  2. 其次,模拟远程访问输错密码,查看日志文件
  3. 再次,通过日志可以看到关键信息“Failed password”表示错误密码有可能事手误引起得,所以设定几次错误为恶意试探密码,建议设置为4;还有需要将恶意试探密码主机得ip提取出来,对提取得ip地址进行统计计数
  4. 最后,需要明确怎么在脚本中通过iptables策略设置阻止恶意ip访问策略添加到哪里合适;防火墙2配置文件等。

模拟远程访问,查看日志

                发现每一次错误密码后,显示主机ip时前都有 Failed password

所以我还可以借助Failed password字段来获取 恶意访问ip。二ip在倒数第三个字段(以空格为分隔符)

awk '/Failed password/ {print $(NF-3)}' /var/log/secure

设定4次错误为恶意试探密码,并提取得ip地址进行统计计数

首先我没需要将恶意IP地址进行统计
[root@cotenos ~]# awk  '/Failed password/ {IP[$(NF-3)]++} END{for (i in IP) print i,IP[i]}' /var/log/secure

 对超过4次的错误的ip进行选取
[root@cotenos ~]# awk  '/Failed password/ {IP[$(NF-3)]++} END{for (i in IP) {if ($IP[i] >= 4)  print i,IP[i]}}' /var/log/secure

 或者

[root@cotenos ~]# awk '/Failed password/ {print $(NF-3)}' /var/log/secure | sort | uniq -c | awk '$1>=4 {print $2}'

最后将获取的ip遍历,使用firewalld-cmd命令对ip进行阻隔

总代码

#!/bin/bash
bath=/var/log/secure

ip=`awk '/Failed password/ {IP[$(NF-3)]++} END{for (i in IP) {if ($IP[i] >= 4) print i}}' $bath`
for i in $ip
do
        firewall-cmd --add-rich-rule="rule family=ipv4 source address=$i/32 service name=ssh dorp"

done

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

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

相关文章

数字化+智能化,低代码平台助力能源行业创新赋能

编者按:能源行业数字化转型需求发杂,定制化要求高,低代码平台对于能源行业来说可谓是“专业对口”。本文分析了能源行业数字化转型的痛点和需求,并进一步指出低代码平台的在能源行业中的应用价值,最后介绍了老牌低代码…

破解版IDM导致电脑反复闪屏的解决方案

破解版IDM导致电脑反复闪屏的解决方案 概括: 进入安全模式,卸载IDM,结束 文章目录破解版IDM导致电脑反复闪屏的解决方案问题原因解决方式:问题原因 在使用IDM(Internet Download Manager)的破解版下载文件时突然电脑闪屏&#…

分享5款开年必备的工具软件

最近陆陆续续收到好多小伙伴的咨询,这边也是抓紧时间整理出几个好用的软件,希望可以帮到大家。 1. 影像处理——GIMP GIMP 提供了各种的影像处理工具,滤镜,还有许多的组件模块,对于要制作一个又酷又炫的网页按钮或网…

华为机试题:HJ15 求int型正整数在内存中存储时1的个数(python)

文章目录知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。2、print() :打印输出。3、int() :将一个字符串或数字转换为十进制整数(强转)。输入可以指定进制,…

JUC面试(二)——JUCJMMvolatile 2.0

JUC&JMM JMM 不保证原子性 各个线程对主内存中共享变量的操作都是各个线程各自拷贝到自己的工作内存进行操作后在写回到主内存中的。 这就可能存在一个线程AAA修改了共享变量X的值,但是还未写入主内存时,另外一个线程BBB又对主内存中同一共享变量…

【项目实战】基于XStream实现漏洞信息数据(XML格式)的手动导入功能

一、背景 项目中需要实现漏洞信息数据的手动导入功能 以下是导入的XML文件所在地址:https://www.cnnvd.org.cn/home/loophole 二、实现思路 (1)前端实现(ElementUIAvue) (2)后端实现 三、…

一文读懂eslint和prettier

为什么会有eslint和prettier,他们有什么作用 首先,工具的出现都是为了解决一定的问题。 团队写代码风格不一样,书写方式不一致,导致整个项目同一类型代码出现多种写法,或者不严谨、或者不美观。或者是提交git时&#…

秒杀功能、高并发系统关注的问题、秒杀系统设计-59

一:秒杀 1.1 特点 秒杀具有瞬间高并发的特点,针对这一特点,必须要做限流 异步 缓存 ( 页面静态化)。 1.2 限流方式 前端限流,一些高并发的网站直接在前端页面开始限流,例如:小…

Python 生成 svg 图片,一篇博客带你掌握 Python 与 svg 之间的操作

python svgwritePython 操作 SVG 图片的库清单svgwrite 库svgwrite 库其他图形绘制储备反爬技术 svgwrite 生成一个手机号Python 操作 SVG 图片的库清单 在 Python 中,可以使用以下几种库来生成 SVG 图片: svgwrite:这是一个简单易用的 Pyt…

民生银行联手火山引擎,一场“1+1>2”的金融数字化征程

数字化时代下,信息成为企业生长的升维秘钥。管理学者德鲁克在《21世纪的管理挑战》一书中指出,我们正经历着一场信息革命。其中特别提出,不是某种软硬件的革命,而是“信息”被使用和利用的方式转变了。近年来,金融行业…

【终极UI/UX工具包】上海道宁与Infragistics助力您简化程序开发,​创建精美应用程序

​​​​​​​​​​​​​​ Infragistics Ultimate是 开发者的UI/UX工具包 可以简化程序开发 加速从设计到代码的应用程序创建 为Web、移动和桌面 创建精美应用程序所需的一切帮助 Infragistics Ultimate附带 完整的企业级.NET和JavaScript图表 网格和UI组件以及可用…

SQL--DML

目录 1、添加数据(insert) 1. 给指定字段添加数据 2. 给全部字段添加数据 3. 批量添加数据 2、修改数据(update) 3、删除数据(delete) DML英文全称是Data Manipulation Language(数据操作语言)&…

AIParsing(TIP2022)-人体解析论文阅读

文章目录解决问题算法人体解析AIParsingFPN检测头边缘引导解析头实验结论论文: 《AIParsing: Anchor-Free Instance-Level Human Parsing》github: https://github.com/31sy/AIParsing解决问题 目前SOTA实例级人体解析模型使用二阶段基于anchor的检测器…

使用 curl multi interface 编写的高性能封装类和示例

CurlMultiDemo 使用 libCurl 的 Multi Interface 的一个简单封装类,支持功能: 单线程 纯异步 的 Get/Post 支持极高的性能(使用 POST 上传 600 文件,仅耗时4~6秒) 使用方式: 1.编译或下载 libcurl 库, 我采用的是 vcpkg2.搭建或找一个支持 MultiPart 上传文件的服务器, 如没…

linux下安装python环境 + Faster-Rcnn环境配置

目录 在Windows上配置环境 在Ubuntu上配置环境 装虚拟机 全屏问题 中文输入 --- 搜狗输入法 将Windows上文件传输给ubuntu --- winscp 分配内存给根目录 深夜惊魂,ubuntu根目录空间不足 - 知乎 给conda或者pip换源 安装anacondapythonpycharm 下载安装…

Spirng bean

spring bean 作用域(scope) 作用域描述singleton单例模式,每一个spring context中只有一个实例prototype每次调用一个getBen方法都会产生一个新的对象request每个request请求产生一个实例session每个htttp session中产生一个实例application…

Qt之基于Graphics View实现Mesh网络拓扑图

Mesh是一种多节点、无中心、自组织的无线多跳通信网络,也就是网状结构网络。网络中所有的节点都互相连接,每个节点拥有多条连接通道,所有的节点之间形成一个整体的网络。 一.效果 Mesh网络拓扑形态并不固定,完全依据各节点之间的信道质量自适应变化。这里演示了四个节点四…

商场室内地图导航如何实现,便捷、低成本智慧商业综合体一站式解决方案

试想一下,在大型商场内,顾客结队购物,同伴走散或者儿童走失,顾客不知道自己和同伴的位置,这是多么糟糕的事情。的确,在室内迷路,是一件令人很头疼的事情,如何把室外导航这种完整度高…

架构篇 -- 搭建gitlab ci远程自动化部署

001.后端服务自动化部署 本文将以pass-runtime服务为例子,进行介绍,有相关自动部署需求,可参考此文档。 最近换了份工作公司要求使用gitlab ci去部署,原来比较习惯使用jenkins,但是还是要适应新挑战,看了网…

大语言模型集成工具 LangChain

大语言模型集成工具 LangChain LangChain 介绍 介绍: 通过可组合性使用大型语言模型构建应用程序【背景】大型语言模型 (LLM) 正在成为一种变革性技术,使开发人员能够构建他们以前无法构建的应用程序,但是单独使用这些 LLM 往往不足以创建一…