Shell脚本实现sshd黑名单
云主机开启sshd一般都会遭到各种IP的暴力破解
自己编写脚本即可实现sshd黑名单的功能
#!/bin/bash
cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort | uniq -c | awk '{print $2"="$1;}' > /root/black.txt
DEFINE="10"
for i in `cat /root/black.txt`
doIP=`echo | awk '{split("'${i}'", array, "=");print array[1]}'`NUM=`echo | awk '{split("'${i}'", array, "=");print array[2]}'`if [ $NUM -gt $DEFINE ];thengrep $IP /etc/hosts.deny > /dev/nullif [ $? -gt 0 ];thenecho "sshd:$IP:deny" >> /etc/hosts.denyfifi
done
脚本原理
- 读取
/var/log/secure
里面的sshd失败记录, 通过awk将其转存成IP=次数
的文本格式 - 从文本中读取失败次数大于指定数值的IP, 如果不在sshd黑名单则加入
定期执行
crontab -e
加入如下计划任务即可
1 */3 * * * /usr/bin/bash /usr/src/jb/sshd_autoban.sh >/dev/null 2>&1
Shell脚本实现sshd黑名单相关推荐
- Shell脚本详解---一篇搞定
有道云分享链接 1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应用软件的核心大都 ...
- Shell脚本编程案例集(持续更新)
1.端口占用 检测端口占用情况,如果被占用则随机分配指定范围内端口. 脚本 #!/bin/bash # # 检测端口占用,如果占用则随机分配指定范围内端口# 端口范围 min=10800 max=12 ...
- 【shell脚本里的命令】
目录 一.sort命令 1.1.命令演示 二.unip命令 1.命令演示 1.列题: 2.使用脚本来查看用户有没有被恶意登录,查看登录用户的对应ip地址 三.tr命令 1.1.命令演示 1.2.使用t ...
- Linux Shell 脚本限制ssh最大用户登录数
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1670233 我撰 ...
- iOS使用shell脚本批量修改属性
背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,除了我在上一篇文章中说道的在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝.还有另一种 ...
- Linux基础:Shell脚本学习
一.shell简介 Shell是用户和Unix/Linux内核沟通的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行 ...
- Shell脚本入门基础
Shell脚本 DKing~共享 1.1 脚本概念 将多个命令先放入到一个文件中,方便一次性执行的一个程序文件 统一脚本存放目录:/server/scripts 推荐使用vim编辑脚本 查看脚本执行过 ...
- java 远程shell脚本_java通过ssh连接服务器执行shell命令详解及实例
java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转 ...
- linux脚本编程有参函数,shell脚本编程进阶:函数
一.函数介绍 函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程: 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一 ...
最新文章
- iOS 设置View阴影
- PyTorch | (4)神经网络模型搭建和参数优化
- svn的使用(转载)
- SQL学习笔记:库和表的创建
- scala中的构造方法和伴生对象
- boost::inplace_merge相关的测试程序
- 自制vue组件通信插件:教你如何用mixin写插件
- 优秀 Java 程序员写代码的风格
- JAVA之private修饰成员方法默认是final型的?
- 网站导航(站点地图)
- WMI 脚本入门:第二部分 (MSDN)
- 一个故事讲完 CPU 的工作原理
- 程序员面试题精选100题:51-63解题报告
- Unity3D学习历程之Rect函数
- 查看欧拉系统服务器ip,EulerOS 系统配置
- Qlikview脚本生成日历表
- 数据中心服务器硬盘,PCI-E固态硬盘在数据中心的机会_希捷硬盘_服务器评测与技术-中关村在线...
- c语言 乱码转化为16进制_C语言版的16进制与字符串互转函数
- 雷电2接口_“雷电3”接口知识大科普
- C#免费教程(bili网站搜罗VSTO免费视频资源)
热门文章
- 网易我的世界java怎么开光追_《我的世界》如何开启光线追踪?
- MySQL:账户管理
- 《后浪》:B站该为自己敲响的警钟
- ArcGIS Enterprise部署介绍
- 【读书笔记】《红玫瑰与白玫瑰》
- 【BZOJ】2277: [Poi2011]Strongbox
- 【数学一本通 第一章】SEJ-Strongbox [LUOGU] [POI2011]
- 华为的系统鸿蒙怎么样,华为鸿蒙2.0来了,这些功能比安卓iOS好用!
- nova3安装android10系统,一招搞定安卓机“久用必卡”顽疾:华为nova3i配备6GB超大运存...
- 数据挖掘之聚类分析(Cluster Analysis)