记一次阿里云服务器被ssh爆破

news/2024/9/26 2:13:50

查看Ubuntu登录日志:
cat /var/log/auth.log
发现我的服务器被ssh爆破
image
针对这一现象 我决定构造一个脚本 来防范这种爆破式攻击
具体思路就是通过脚本判定特定IP的登录失败次数 如果多于两次 关闭进程 并且ban IP
首先就是将登录失败的ip单独拎出来
cat /var/log/auth.log.1 | grep "Failed password" | awk '{match($0,/.*from (.*?) port/,a); print a[1]}'
然后进行去重:
cat /var/log/auth.log.1 | grep "Failed password" | awk '{match($0,/.*from (.*?) port/,a); print a[1]}'|sort|uniq
image
将这些信息写入到文件中 方便读取
写一个shell脚本对登录尝试次数进行统计
image
image
安装防火墙服务:
apt install firewalld
使用富命令来ban地址:
firewall-cmd --add-rich-rule="rule family=ipv4 source address= $line drop"
最后查看 firewalld
image
以下ip所发送的包都会被丢弃
整体代码:

cat /var/log/auth.log.* | grep "Failed password" | awk '{match($0,/.*from (.*?) port/,a); print a[1]}'|sort | uniq >/ban.txt
while read line
dotry_log=$(grep $line /var/log/auth.log.* | wc -l )#$num=grep $line /var/log/auth.log.* | wc -l #echo "$line : $try_log "if [ $try_log -ge 3 ];  thenfirewall-cmd --add-rich-rule="rule family=ipv4 source address=$line drop"echo "$line 已经被封禁"fi
done < /ban.txt

最后使用 crontab 重复执行

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

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

相关文章

海康威视

1 static关键字作用 修饰局部变量 ​ static修饰局部变量时,使得被修饰的变量成为静态变量,存储在静态区。存储在静态区的数据生命周期与程序相同,在main函数之前初始化,在程序退出时销毁。(无论是局部静态还是全局静态) 修饰全局变量 ​ 全局变量本来就存储在静态区,因…

.net core 实现注册同一服务类型的多个服务实例

1. 注册服务。给 IMyDependency 注册两个不同的实现。builder.Services.AddSingleton<IMyDependency, MyDependency>(); builder.Services.AddSingleton<IMyDependency, DifferentDependency>();2. 依赖注入。通过 IEnumerable<IMyDependency> 获取两个不同的…

PWN的一些前置知识

PWN的一些前置知识点 虽然我超想打web方向,但是其实感觉每个方向都一窍不通555,算了先学学pwn和misc再说吧 大致流程 查看文件 使用checksec命令,查看是否开启PIE,ASLR等,查看是否有canary(栈保护的机制) 静态分析 使用IDA pro或者其他静态分析软件,获取软件逆向代码 动…

多版本同时维护的 Bug 修复源代码保存方案

问题描述 在日常维护系统的过程中,我们经常需要修复他人提交的 Bug(因为自己写的都是 feature 嘛)。对于单个线上版本的项目,我们可以轻松地创建一个 bug 修复分支,修复完成后再将其合并到主分支即可。 然而,当系统同时存在多个线上版本时,比如 V1.0.1、V1.0.2、V1.0.3、…

汇编(机器码)

2440常用汇编指令https://blog.csdn.net/weixin_58016534/article/details/131180529

HTTP 连接详解

概述 世界上几乎所有的 HTTP 通信都是由 TCP/IP 承载的,客户端可以打开一条TCP/IP连接,连接到任何地方的服务器。一旦连接建立,客户端和服务器之间交换的报文就永远不会丢失、受损或失序 TCP(Transmission Control Protocol)传输控制协议,是一种面向连接的、可靠的、基于…

redis之主从复制

1.基本环境(1) Lunix centos7(2) redis版本:redis7.0.0(3) gcc已经配置成功,并且默认redis7.0.0环境已经在linux中做好了 2.架构说明(1) 一个master两salve (方便期间配置好一个后,其他两个配置文件修改即可)① Master : 10.0.0.18 6379② Slave1: 10.0.0.19 6380③ Slave…

LM Studio 本地离线部署大模型

安装 LM Studio官网: https://lmstudio.ai/下载模型:Meta-Llaa-3-8B-Instruet.Q4_KM.gguf下载地址: https://cdn-lfs-us-1.huggingface.co/repos/79/f2/79f21025e377180e4ec0e3968bca4612bb9c99fa84e70cb7815186c42a858124/647a2b64cbcdbe670432d0502ebb2592b36dd364d51a9ef7a1…