[网络实践] 将恶意ip加入ssh黑名单的自动化shell脚本实现
作者:精品下载站 日期:2021-08-02 04:22:57 浏览:45 分类:web
背景
之前写的AutoBan 1.0脚本在写好后的很长一段时间里都没什么人来爆破我的8022端口,以至于我觉得这种情况将一直持续下去。直到昨天晚上0点的时候,那时候我正在看奥运会回放,苏炳添的9.83创造了历史让我振奋不已,振奋之余 我向往常一样查看了一下frp的日志文件,让我吃惊的事情发生了。
有两个ip从9点半开始一直不间断地发起ssh请求,已经整整爆破了两个半小时了。
为什么我的autoban.sh没有ban掉它们? 我看了一下我的autoban.log。
我发现了我的AutoBan的重大问题,那个脚本是如何判断的呢?就是从frp日志文件里取出后三条记录,如果它们都是ssh请求,且它们都是同一个ip发起的,并且相互间隔不超过5s种,那就ban掉这个ip,条件太过严苛,在昨天晚上的情景中,首先每次请求的时间间隔大于5s,还是两个ip几乎交叉请求,我的自动ban脚本一代无能为力,同时还有一个不利因素,就是我之前因为没人来扫我,我就把脚本自动运行时间设置成了5分钟,也大大降低了脚本的威力。
解决办法
由于一代脚本写的过于蹩脚,判断条件也过于拉跨,遂决定重构。
2代脚本的判断条件:
筛选出最近一分钟的所有ssh记录。对其ip种类、个数进行统计。
大于3条请求的ip将被直接封禁。
以下是花了一个中午写出来的Autoban 2.0
time=`date '+%Y/%m/%d %H:'``date -d '1 minute ago' '+%M'`':[00-59]'
num=`grep "$time" /root/frp_0.37.0_linux_386/nohup.out | grep -c 'ssh'`
echo "`date '+%Y/%m/%d %H:%M:%S'` 过去一分钟的ssh请求个数为: $num" >> /root/frp_0.37.0_linux_386/autoban2.log
if [ $num -ge 3 ]
then
echo "`date '+%Y/%m/%d %H:%M:%S'` 过去一分钟的ssh请求个数大于3,开始反击!" >> /root/frp_0.37.0_linux_386/autoban2.log
ips=(`grep "$time" /root/frp_0.37.0_linux_386/nohup.out | grep 'ssh' | awk '{print substr($NF, 2, index($NF, ":")-2 )}'`)
declare -A ipinfo
for ip in ${ips[@]}
do
let ipinfo[$ip]++
done
for ip in ${!ipinfo[@]} #数组前面加叹号表示取下标,而不是取值
do
num=${ipinfo[${ip}]}
echo "`date '+%Y/%m/%d %H:%M:%S'` $ip 访问次数: $num" >> /root/frp_0.37.0_linux_386/autoban2.log
if [ $num -ge 3 ]
then
echo "`date '+%Y/%m/%d %H:%M:%S'` 该ip在1分钟内访问超过三次,已经锁定,准备开ban!" >> /root/frp_0.37.0_linux_386/autoban2.log
iptables -I INPUT -p tcp -s $ip --dport 8022 -j DROP
echo "`date '+%Y/%m/%d %H:%M:%S'` 已经成功ban掉恶意ip $ip" >> /root/frp_0.37.0_linux_386/autoban2.log
fi
done
fi
成果演示
ps:麻烦这两位老哥看到后不要再扫我了2333
战术总结
这次我脚本比一代精简了很多,代码行数是是一代的一半,但是却实现了更好的好恶意ip判断。
了解到了类似
grep '2021/08/02 15:10:[00-59]'
的筛选用法和grep -c
的对结果的行数统计功能了解到了
date -d '1 minute ago' '+%M
这种返回一分钟前的分钟数这种看似不可思议的究极智能的用法。了解到了grep 配合上管道符
|
,实现在将前一个grep的结果作为后一个grep的输入,实现多关键字匹配的问题。了解到了awk命令里强大的内置函数,熟悉的substr, index,梦回c++。
初次见到了declare申明变量的关键字和let关键字,let关键字让丑陋的
(())
消失了。了解了shell中遍历数组的两种方法
for ip in ${ips[@]}
表示便利数组里的值,而for ip in ${!ipinfo[@]}
即在数组名前加上叹号,则表示遍历下标。
猜你还喜欢
- 04-29 [玩转网络] 稀有电影:记录一次完整的资源搜索过程
- 04-29 [web] 2025年世界上最好的13个种子(bt)下载站点推荐
- 04-03 [涨姿势] 一文读懂Bt种子、磁力链接、直链、p2p这些下载的区别
- 03-12 [玩转网络] 破解网页不可点击的按钮方法
- 03-12 [web] 为什么总是卡在验证真人这里无法通过验证?
- 03-12 [科学上网] x-ui面板搭建节点
- 03-12 [科学上网] 搭建链式代理
- 10-30 [网络线报] 城通网盘福利线报解析器 - 获取直连下载地址
- 08-30 [web] 目前国内可用Docker镜像加速器(2024-08)
- 06-04 [网络技术] 获取免费 .edu 邮箱&教育邮箱优惠汇总
- 06-04 [web] 5分钟快速申请一个EDU教育邮箱
- 04-01 [科学上网] 直连、中转、专线机场有什么区别|良心高效专线机场推荐|hy2机场推荐
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[短剧合集] 2025年06月2日 精选+付费短剧推荐39部
[软件合集] 25年6月2日 精选软件18个
[软件合集] 25年6月1日 精选软件15个
[短剧合集] 2025年06月1日 精选+付费短剧推荐59部
[短剧] 2025年05月31日 精选+付费短剧推荐58部
[软件合集] 25年5月31日 精选软件66个
[电影] 黄沙漫天(2025) 4K.EDRMAX.杜比全景声 / 4K杜比视界/杜比全景声
[风口福利] 短视频红利新风口!炬焰创作者平台重磅激励来袭
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag