SHELL脚本学习 --- 第八次作业(安全脚本)

news2025/1/13 7:36:55

SHELL脚本学习 — 第八次作业



题目要求:


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


思路:


首先需要找到ssh密码输入错误超过四次的IP地址,需要到日志文件中找。
该日志文件为/var/log/secure。
找到之后通过正则匹配到密码输入错误的日志条目,然后uniq -c统计次数。
之后需要挨个判断每一个IP地址的错误次数,所以需要写循环,因此统计出来的IP和统计次数应该以一个变量的形式被放入列表。
由于数组变量默认分隔是空格,在匹配的过程中,我决定通过tr将uniq -c输出的空格替换为#号,之后使用awk -F#提取即可。
之后就可以用if判断错误次数是否大于4,然后用firewall-cmd来拒绝访问即可。


答案和效果演示:


首先我开了多台虚拟机,故意输错密码,造成如下结果:

在这里插入图片描述


可以看到,三个IP地址尝试访问本机的ssh服务,其中133主机的次数超过了4次。
然后是脚本内容:

在这里插入图片描述


首先ip_address是匹配出来的IP地址数组,然后用for循环遍历,取出错误次数count和ip地址ip,判断count是否大于4,大于4就用firewall-cmd添加规则并重启firewall以使规则生效,然后打印屏蔽的IP。

下面是执行效果:

在这里插入图片描述

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

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

相关文章

JavaEE高阶---SpringBoot 统⼀功能处理

一:什么是SpringBoot 统⼀功能处理 SpringBoot统一功能处理是AOP的实战环节。我们主要学习三方面内容: 统一用户登录权限验证;统一数据格式返回;统一异常处理。 二:统一用户登录权限验证 Spring 中提供了具体的实现…

通过后端代理实现Web搜索功能

大家好,才是真的好。 前面我们都在说使用Domino自带的视图搜索功能,这一篇也是,不过不是视图搜索,而是整个Notes数据库搜索,然后再将结果返回给浏览器网页呈现。 前提和前面两篇都是一样的,即Notes应用需…

Java 如何不使用 volatile 和锁实现共享变量的同步操作

前言 熟悉 Java 并发编程的都知道,JMM(Java 内存模型) 中的 happen-before(简称 hb)规则,该规则定义了 Java 多线程操作的有序性和可见性,防止了编译器重排序对程序结果的影响。 按照官方的说法: 当一个变量被多个线程读取并且至…

「数据密集型系统搭建」原理篇|数据类型不怕精挑细选

本篇围绕MySQL数据库的底层存储模型、列类型来聊聊数据库表设计及建模中要注意的事项,剖析最根源的底层物理存储文件,用最真实的数据剖析来证明和解答开发过程中的疑惑。 在一些技术谈资、面试沟通过程中,MySQL特别是我们常用的Innodb存储引擎…

JavaScript 作用域

文章目录JavaScript 作用域JavaScript 作用域JavaScript 局部作用域JavaScript 全局变量JavaScript 变量生命周期函数参数HTML 中的全局变量你知道吗?JavaScript 作用域 作用域可访问变量的集合。 JavaScript 作用域 在 JavaScript 中, 对象和函数同样也是变量。 在 JavaScr…

ONES X 海银财富|以敏捷流程管理,创新金融服务平台

近日,ONES 签约财富管理行业领跑者——海银财富,助力海银财富落地敏捷流程管理,打造从需求到交付的一体化平台,快速接受业务方的反馈,进行金融平台的迭代与优化。海银财富管理有限公司(以下简称海银财富&am…

拆机详解:1968年军用集成电路计算机 高级货赢在做工

halo大家好,这里是一天更两篇的Eric。 今天我在网上偶然看到一个拆军用计算机的,正好给你们分享一下。这可是1970年左右为了F4战斗机敌我识别系统打造的,虽说比之前说的Macintosh更加的挤也更大,不过做工够扎实。 上图&#xff…

centos8安装RabbitMQ和erlang

RabbitMQ 消息队列MQ RabbitMQ简称MQ是一套实现了高级消息队列协议的开源消息代理软件,简单来说就是一个消息中间件。是一种程序对程序的通信方法,其服务器也是以高性能、健壮以及可伸缩性出名的Erlang语言编写而成为什么使用MQ 在项目中,…

QSyntaxHighlighter

一、描述 此类用于自定义语法高亮显示规则,是用于实现 QTextDocument 文本高亮显示的基类。 要自定义语法高亮显示,必须子类化 QSyntaxHighlighter 并重新实现 highlightBlock()。此函数将在合适的时机自动被调用。 highlightBlock() 函数将格式设置应…

SOFA Weekly|SOFANews、本周贡献 issue 精选

SOFA WEEKLY | 每周精选 筛选每周精华问答,同步开源进展欢迎留言互动~SOFAStack(Scalable Open Financial Architecture Stack)是蚂蚁集团自主研发的金融级云原生架构,包含了构建金融级云原生架构所需的各个组件&#…

Rasa 3.x 学习系列-Rasa [3.4.0] - 2022-12-14新版本发布

Rasa 3.x 学习系列-Rasa [3.4.0] - 2022-12-14新版本发布 任何人都可以学习Rasa之优秀Rasa学习资源推荐 欢迎同学们报名Gavin老师的Rasa系列课程,任何人都可以学习Rasa之优秀Rasa学习资源推荐: 1.NLP on Transformers高手之路137课 2 .Rasa 3.X 智能对话机器人案例开发硬核…

五、k8s pod详解

文章目录1 pod介绍1.1 pod 定义2 pod配置2.1 基本配置2.2 镜像拉取2.3 启动命令2.4 环境变量2.5 端口设置2.6 资源配额3 Pod生命周期3.1 创建和终止3.2 初始化容器3.3 钩子函数3.4 容器探测3.5 重启策略4 Pod调度4.1 定向调度4.2 亲和性调度5 污点和容忍5.1 污点(Ta…

做短视频必须了解的6个问题,你知道几个答案呢?

做短视频必须了解的6个问题,你知道几个答案呢? 最近好多朋友问了视频运营和创作的问题,把其中六个有代表性的问题和答案汇总在一起,公开给大家,希望对大家有所帮助。 1、账号被限流了怎么办? 随手拍十条…

聚观早报 | 小米同时研发两款车;谷歌计划向印度最高法院上诉

小米同时研发两款车:谷歌计划向印度最高法院上诉;苹果AR/MR头显部件延迟发货;2022年特斯拉在德汽车销量激增;纽约市教育部门禁止访问 ChatGPT 小米同时研发两款车小米第一款车为中型溜背式轿车(内部代号 Modena 摩德纳…

欧科云链任煜男:推动区块链创新,切忌陷入“过度金融化”的桎梏

FTX破产轰动全球,揭示的是监管出现问题。FTX作为行业龙头,持有多国牌照却依然“暴雷”,未来到底应如何监管加密资产行业?针对这一问题,欧科云链控股(01499.HK)公司执行董事、董事局主席兼行政总裁任煜男近日在接受香港…

【菜菜的CV进阶之路 - 深度学习环境搭建】windows+ubuntu20.04双系统安装

新学期,配了台新电脑(双路2080ti5800x64GB内存500GB固态2TB机械),师兄忙于毕设,没给装ubuntu,自己装一下咯~ 一、前期准备 1、空U盘一个 2、Ubuntu 20.04 LTS镜像 3、启动U盘制作软件(我用的…

STM51嵌入式开发入门软件安装-Keil、stc、驱动

STM51嵌入式开发入门软件安装-Keil、stc、驱动 STM51嵌入式开发入门软件安装-Keil、stc、驱动 1 Keil安装 1.1 百度进入官网 1.2 选择C51,点击后需要填的信息随便填 下载好的软件链接:https://pan.baidu.com/s/19wxkLD69QpmPNr27KYRAxw?pwdyihl 提取码&#xff1a…

【web】微信小程序笔记小结(简介)

准备参加计算机设计大赛owo 疯狂学习微信小程序ing js也在努力兼顾kkk 写完想搞个目录结果老是跳转有问题orz,所以这一篇没有目录了qwq 来源:黑马程序员前端微信小程序开发教程 I. 小程序与普通网页的区别 ① 运行环境 网页 → 浏览器环境 小…

自定义指令binding参数

除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令。注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件。然而,有的情况下,你仍然需要对普通 DOM 元素进行底层操作 如果想注册局部指令&#…

自定义viewGroup

案例分析:继承自extends LinearLayoutpublic class MainTabBarView extends LinearLayout实现3个方法public MainTabBarView(Context context) {this(context, null);}public MainTabBarView(Context context, Nullable AttributeSet attrs) {this(context, attrs, …