首页 > 系统相关 >Linux-监控IP频繁登录服务器脚本------------------iptables脚本

Linux-监控IP频繁登录服务器脚本------------------iptables脚本

时间:2024-01-19 17:24:01浏览次数:20  
标签:脚本 iptables 公钥 登录 ------------------ IP 次数 SSH

该脚本的作用是监控IP登录失败次数,如果某个IP的登录失败次数超过设定的最大次数,则阻止该IP的进一步登录尝试。

通过iptables防火墙阻止连接,当一个IP尝试登录次数超过5次时,iptables会阻止来自该IP的所有连接。

#!/bin/bash

function secrity(){
# 设置要监控的登录失败次数,超过该次数则会被阻止
MAX_ATTEMPTS=5

# 获取所有登录失败的IP并计数
IP_COUNT=$(lastb | awk '{print $3}' | sort | uniq -c | awk '$1 >= '$MAX_ATTEMPTS' {print $2}')


# 遍历所有登录失败次数超过阈值的IP并将其阻止
for IP in ${IP_COUNT}
do
    # 检查IP是否已经在iptables策略中
    if ! iptables -C INPUT -s $IP -j DROP &> /dev/null; then
        echo "`date +"%F %H:%M:%S"`  Blocking $IP ..."
        iptables -A INPUT -s $IP -j DROP
    else
        echo "$IP is already blocked." > /dev/null 2>&1
    fi
done
}

效果展示:

图片

SSH暴力破解防护手册

 

在Linux系统中,SSH是一种常用的远程登录协议,但也存在被暴力破解的风险。为了加强SSH的安全防护,可以采取以下措施:

  1. 修改SSH默认端口:默认情况下,SSH使用22端口进行通信。为了防止被攻击者扫描和尝试破解,可以将SSH端口修改为其他非默认端口号。可以使用SSH的Port配置选项进行设置。例如,在/etc/ssh/sshd_config文件中,将Port选项修改为其他端口号,然后重启SSH服务。

  2. 禁用root登录:默认情况下,root账户可以通过SSH登录系统。为了提高安全性,可以禁用root账户的SSH登录权限,而是创建一个普通用户用于远程登录。然后,在需要执行管理员任务时,使用sudo命令以root权限执行。

  3. 限制登录IP地址:通过限制SSH登录的IP地址范围,可以防止未授权的远程访问。在/etc/ssh/sshd_config文件中,使用AllowUsers或DenyUsers选项来指定允许或拒绝登录的IP地址范围。

  4. 使用公钥身份验证:公钥身份验证是一种更安全的SSH登录方式。它使用一对加密密钥进行身份验证,其中一个是公钥,另一个是私钥。公钥用于加密数据,而私钥用于解密数据。通过配置SSH服务器和客户端使用公钥身份验证,可以确保只有拥有相应私钥的用户才能成功登录系统。

  5. 定期更新和打补丁:保持系统和SSH软件的最新版本可以确保您获得最新的安全修复和漏洞补丁。及时更新系统和软件可以减少被攻击的风险。

  6. 使用防火墙限制访问:防火墙可以限制对SSH端口的访问,只允许特定的IP地址或网络范围访问SSH端口。通过配置防火墙规则,可以增加对SSH服务器的安全保护。

  7. 监控和日志记录:启用SSH日志记录功能,记录所有SSH登录尝试和操作。通过对日志进行分析,可以检测到任何异常行为或潜在的攻击活动。同时,监控系统中的登录活动可以帮助及时发现潜在的安全威胁。

     

招贤纳士

欢迎

标签:脚本,iptables,公钥,登录,------------------,IP,次数,SSH
From: https://www.cnblogs.com/cherishthepresent/p/17975132

相关文章

  • Spark SQL的运行原理
    DataFrame、DataSet和SparkSQL的实际执行流程都是相同的:1.进行DataFrame/Dataset/SQL编程;2.如果是有效的代码,即代码没有编译错误,Spark会将其转换为一个逻辑计划;3.Spark将此逻辑计划转换为物理计划,同时进行代码优化;4.Spark然后在集群上执行这个物理计划(基于RDD操作)......
  • Prime factorization of a number【1月19日学习笔记】
    点击查看代码//Primefactorizationofanumber#include<iostream>#include<cmath>usingnamespacestd;voidprimefactorization(intn){ for(inti=2;i<=sqrt(n);i++){//质因数(除去本身)只可能在根号n及其左侧 if(n%i==0){//i从2开始,短除法 intcou......
  • 竹永康在科锐待岗第3天工作总结
    今日研读了《高性能MySQL》一书中的第7.10章节:MySQL高级特性之全文索引,从中学习到了一些专业技能知识。总结如下。@目录全文索引MyISAM全文索引自然语言的全文索引布尔全文索引全文索引的限制和替代方案全文索引的配置和优化全文索引全文索引是为"通过关键字的匹配来进行相......
  • dremio opentelemetry监控试用
    标准的系统监控应该包含metrics,trace,log这个三大类,metrics部分,包含了一个promethues的扩展,当然官方也支持jmx以及slf4j的opentelemetry是一个直接内置的trace功能,很不错,以下是一个简单的测试环境准备dremio默认就支持opentelemetrytrace,对于opentelemetrycollector......
  • Vue - 组件通信(父子单向传递、父子相互传递、祖孙隔代传递)
    父组件向子组件单向传递父组件:引入子组件后,通过属性绑定的形式,将值传入子组件;``子组件:子组件通过props接收父组件传入的值;`{{sonGetParam}}`子组件向父组件单向传递父组件:引入子组件后,自定义一个用来处理自定义事件的方法,接收子组件传递的值;``子......
  • 经纬恒润4D成像毫米波雷达亮相 CES 2024
        在刚刚结束的CES2024上,经纬恒润联合以色列ArbeRobotics公司展出了基于Arbe芯片组方案的4D成像毫米波雷达LRR610。      经纬恒润自主研发的4D成像毫米波雷达LRR610,具备48发48收通道,在方位和俯仰向均具有高分辨能力,可以形成丰富的点云信息,甚至可以对目标......
  • 像 Google SRE 一样 OnCall
    在GoogleSRE的著作《Google运维解密》(原作名:SiteReliabilityEngineering:HowGoogleRunsProductionSystems)中,GoogleSRE的关键成员们几乎不惜用了三个章节的篇幅描述了在Google他们是如何OnCall的。GoogleSRE实践中,有一个广为人知的理念:减少琐事,用软件工程的方......
  • 【零基础数模系列】模糊分析法、层次分析法和方差分析法
    前言作为数模小白,看了很多讲解新概念新模型的文章,这些文章往往要么讲的很浅不讲原理只讲应用,让人知其然不知其所以然。要么讲的很深小白看不懂,同时总是忽略关键部分,经常性引入陌生概念让初学者疑惑,因此有了本文,任何能熟练掌握线性代数知识且逻辑思维能力尚可的人都可以理解,而无需......
  • toMap - bug
    原因:AttachmentInfoRespnse::getAssociateKeyId作为键重复了,代码没有指定如何处理//Duplicatekey:错误代码finalMap<Long,String>keyIdWithPathMap=attachmentInfoResponse.stream().collect(Collections.toMap(AttachmentInfoRespnse::getAssociateKeyId,item->Optional......
  • Adobe InDesign 2024 v19.1 (macOS, Windows) - 版面设计和桌面出版软件
    AdobeInDesign2024v19.1(macOS,Windows)-版面设计和桌面出版软件Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、Adob......