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

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

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

分析:

首先,需要知道ssh远程访问记录在哪一个文件中  /var/log/secure
其次,模拟远程访问输错密码,查看日志文件
再次,通过日志可以看到关键信息“Failed password”表示错误密码有可能事手误引起得,所以设定几次错误为恶意试探密码,建议设置为4;还有需要将恶意试探密码主机得ip提取出来,对提取得ip地址进行统计计数
最后,需要明确怎么在脚本中通过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.hqwc.cn/news/617201.html

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

相关文章

以太网数据量大小字符串生成方法(可变单位)

0 前言 当我们想显示以太网数据量大小时,往往有个头疼的单位需要处理,单位取小了不一目了然,单位取大了精度太低。本例设计一个函数,将根据以太网数据量大小自动生成单位可变的字符串(KB、MB、GB、TB、PB)…

算法设计与分析实验报告c++实现(TSP问题、哈夫曼编码问题、顾客安排问题、最小生成树问题、图着色问题)

一、实验目的 1.加深学生对贪心算法设计方法的基本思想、基本步骤、基本方法的理解与掌握; 2.提高学生利用课堂所学知识解决实际问题的能力; 3.提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用贪心算…

C# Solidworks二次开发:相机访问相关API详解

大家好,今天要介绍的API为相机相关的API,这篇文章比较适合女孩子,学会了相机就会拍照了,哈哈。 下面是要介绍的API: (1)第一个为GetFocalDistance,这个API的含义为获取相机的焦距,…

共享内存及共享内存实现进程间通信

个人主页:Lei宝啊 愿所有美好如期而遇 我们知道,进程是具有独立性的,什么叫进程具有独立性?就是说,每一个进程都有他们自己的虚拟地址空间,而虚拟进程空间里的虚拟地址通过页表映射到不同的物理内存上&am…

电池电量监测系统设计 单片机+LabVIEW+Matlab+Protues+Keil程序

目录 前言 提供 软件 系统展示 1.放电试验及其处理 2.硬件系统原理图 3.下位机程序 4.显示 5.上位机界面 6.上位机程序 7.文档 资料下载地址:电池电量监测系统设计 单片机LabVIEWMatlabProtuesKeil程序 前言 这套系统首先使用Matlab分析获得了电压…

【Java系列】SpringCloudAlibaba统一返回体及全局异常捕获实现

本文将以实际代码展示如何实现SpringCloudAlibaba的统一返回体及全局异常捕获。 作者:后端小肥肠 1. 前言 在构建微服务应用时,统一返回体和异常捕获机制的设计对于保持代码的整洁性和提高服务的可维护性至关重要。特别是在使用 Spring Boot 和 Spring …

DataX案例,MongoDB数据导入HDFS与MySQL

【尚硅谷】Alibaba开源数据同步工具DataX技术教程_哔哩哔哩_bilibili 目录 1、MongoDB 1.1、MongoDB介绍 1.2、MongoDB基本概念解析 1.3、MongoDB中的数据存储结构 1.4、MongoDB启动服务 1.5、MongoDB小案例 2、DataX导入导出案例 2.1、读取MongoDB的数据导入到HDFS 2…

Re65:读论文 GPT-3 Language Models are Few-Shot Learners

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名:Language Models are Few-Shot Learners ArXiv网址:https://arxiv.org/abs/2005.14165 2020 NeurIPS:https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb49674…

UVa1313/LA2693 Ghost Busters

UVa1313/LA2693 Ghost Busters 题目链接题意分析AC代码 题目链接 本题是2002年ICPC欧洲区域赛东北欧赛区的G题 题意 有 N ( N ≤ 100 ) N(N≤100) N(N≤100)个鬼,每个鬼是中心在 ( X i , Y i , Z i ) ( 1 ≤ X i , Y i , Z i ≤ 10000 ) (X_i,Y_i,Z_i) (1 ≤ X_i,Y…

Python中的回调函数和C中函数指针什么关系?

你好,我是安然无虞。 Python 回调 在Python中,‘回调函数’ (callback) 是指一个作为参数传递给其它代码的函数。 目的是在后者完成某些操作后调用这个传递进来的函数。 回调允许在执行异步操作或处理事件时通知调用者代码。 回调函数通常用于&#…

【数据结构】-- 单链表 vs 双向链表

🌈 个人主页:白子寰 🔥 分类专栏:python从入门到精通,魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ 💡 坚持创作博文…

react query 学习笔记

文章目录 react query 学习笔记查询客户端 QueryClient获取查询客户端 useQueryClient异步重新请求数据 queryClient.fetchQuery /使查询失效 queryClient.invalidateQueries 与 重新请求数据queryClient.refetchQueries 查询 QueriesuseQuery查询配置对象查询的键值 Query Key…