树莓派3显示服务器SSH拒绝了密码,脚本封杀尝试树莓派SSH密码的来源IP

树莓派整天开着,如果用缺省SSH端口对外开放,就会经常遇到扫描SSH密码的肉鸡。虽然密码不是很简单,但还是感觉很不安全的。

系统的ssh登录日志文件在:/var/log/auth.log,登录失败时会记录以下格式的日志:

Mar 7 10:31:51 raspberrypi sshd[24510]: Failed password for root from 221.8.19.129 port 4066 ssh2

Mar 7 10:31:55 raspberrypi sshd[24514]: Failed password for root from 221.8.19.129 port 4079 ssh2

Mar 7 10:31:56 raspberrypi sshd[24518]: Failed password for sshd from 221.8.19.129 port 4080 ssh2

Mar 7 10:32:26 raspberrypi sshd[24522]: Failed password for sshd from 221.8.19.129 port 4149 ssh2

用最简单的Shell脚本来解决这个问题:

guard.sh

#!/bin/bash

last_ip=""

tail -f /var/log/auth | while read LINE; do

{

if [[ "${LINE}" =~ "Failed" ]]; then

ip="$(echo ${LINE} | awk '{print $(NF-3)}')"

if [[ "$last_ip" == "$ip" ]]; then

echo "block $ip"

#curl -s --data-ascii "uuid=" --data "body=${LINE}" http://raspberrypi/pushme

iptables -A INPUT -s "$ip" -j DROP

fi

last_ip=$ip

echo $LINE

fi

}

done

用root用户执行以下命令,也可以放到启动脚本里:/etc/rc.local

nohup /root/bin/guard.sh > /var/logs/guard.log 2>&1 &

如果连续两次输错密码,那ip就会被封,我另外加了一个报警,会通知到我的手机,这下感觉安全了些。

登录Pi用 iptables -L 可以看到被封杀的IP列表,如果需要解封这些IP,可以用命令 iptables -F ,也可以用crontjob每天定时运行一次 iptables -F 来清除。

脚本还很简单,还可以有不少改进,可以在评论里讨论。

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

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

相关文章

6-1 数组函数练习

1、引用 /* var num 10;function show(num){num ;alert(num);}alert(num); //10show(num); //11 num numalert(num); //10*//*引用*//*var arr [1, 2, 3, 4];function show(arr){arr.push("hello");alert(arr);}alert(arr); //[1, 2, 3, 4]show(arr)…

整理任务

昨晚帮师姐整理测试,没有时间写日志,今天一大早补上。 十一长假之后的第一个工作日,老师回来了。详细汇报了整个假期的学习之后,老师整理了以后我的学习任务。本来觉得没多少事情,可是细数了一下,竟然光论文…

Hive:使用Apache Hive查询客户最喜欢的搜索查询和产品视图计数

这篇文章涵盖了使用Apache Hive查询存储在Hadoop下的搜索点击数据。 我们将以示例的方式生成有关总产品浏览量的客户排名靠前的搜索查询和统计信息。 继续之前的文章 使用大数据分析客户产品搜索点击次数 , Flume:使用Apache Flume收集客户产品搜索点…

expdp错误案例

转自:https://www.cnblogs.com/kerrycode/p/3960328.html Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法。都是在使用过程中遇到的问题,以后陆续遇到数据…

HashSet源码分析:JDK源码系列

1.简介 继续分析源码,上一篇文章把HashMap的分析完毕。本文开始分析HashSet简单的介绍一下。 HashSet是一个无重复元素集合,内部使用HashMap实现,所以HashMap的特征耶继承了下来。存储的元素是无序的并且HashSet允许使用空的元素。 HashSet是…

修改左侧导航显示样式(转载自Sunmoonfire's artistic matrix)

这是一片非常好的文章,修改下CSS就可以改变左侧导航栏的样式,在网上找了一些都是要写代码的。怕连接失效,所以直接将文章考了过来,希望作者原谅,如有不妥,请通知一声,我会将文章删掉&#xff01…

tf.argmax()以及axis

tf.argmax()表示返回最大值的索引号,axis为0 ,表示返回每列最大值索引号。axis为1 ,表示返回每行最大值索引号 结果为 转载于:https://www.cnblogs.com/san333/p/10507402.html

jquery ajax 上传文件 demo,Jquery+AJAX上传文件,无刷新上传并重命名文件

index.htmlAjax上传图片Ajax上传图片function upload(){var form new FormData(document.getElementById("form"));$.ajax({url:"upload.php",type:"post",data:form,cache: false,processData: false,contentType: false,success:function(dat…

Meet Fabric8:基于Camel和ActiveMQ的开源集成平台

面料8 Fabric8是Red Hat的JBoss Fuse产品的Apache 2.0许可上游社区。 这是一个基于Apache ActiveMQ , Camel , CXF , Karaf , HawtIO等的集成平台。 它提供了自动化的配置和部署管理,以帮助使部署变得容易&#xff0…

Django之web框架的本质

web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响应,按照http协议的请求…

5:CSS元素类型

* { margin: 0; padding: 0 } body { padding: 30px; padding-top: 10px; line-height: 35px; font-family: "微软雅黑" } h1,h2 { padding: 20px 0 } h3 { background: #00AA88; color: #FFFCF4; font-size: 20px; font-weight: 700; margin: 10px 0; padding: 5px …

c#中的interface abstract 与 virtual(转)

interface用来声明接口 1.只提供一些方法规约,不提供方法主体. 如:public interface IPerson { void getName();//不包含方法主体 } 2.方法不能用public abstract等修饰,无字段变量,无构造函数。 3.方法可包含参数。 如 public interface IPers…

Springboot 系列(十三)使用邮件服务

在我们这个时代,邮件服务不管是对于工作上的交流,还是平时的各种邮件通知,都是一个十分重要的存在。Java 从很早时候就可以通过 Java mail 支持邮件服务。Spring 更是对 Java mail 进行了进一步的封装,抽象出了 JavaMailSender. 后…

服务器能否只做c盘系统,我的云服务器只有一个c盘

我的云服务器只有一个c盘 内容精选换一换检查Pkey是否一致。查看弹性云服务器内部分配到的Pkey:cat /sys/class/infiniband/mlx5_0/ports/1/pkeys/* | grep -v "0x0000"检查Pkey是否一致如果环境中查出来的Pkey只有一个,请联系技术支持人员。如…

单例模式(C++实现)

RAII运用 只能在栈上创建对象 只能在堆上创建的对象 单例模式 设计模式 懒汉模式 解决线程安全 优化 饿汉模式 饿汉和懒汉的区别

Flume:使用Apache Flume收集客户产品搜索点击数据

这篇文章涵盖了使用Apache flume收集客户产品搜索点击并使用hadoop和elasticsearch接收器存储信息。 数据可能包含不同的产品搜索事件,例如基于不同方面的过滤,排序信息,分页信息,以及进一步查看的产品以及某些被客户标记为喜欢的…

vue-cli使用swiper4在ie以及safari报错

vue-cli项目中,通过npm run swiper --save-dev安装的是swiper4版本的插件,这样安装以后在谷歌火狐等浏览器都可以正常运行,但是在safari浏览器(可能是版本太低)还有ie(9,10,11)打开会报错&#…

express框架

Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。 Express 框架核心特性: 可以设置中间件来响应 HTTP 请求。 定义了路由表用于执…

电脑内部,小贴士:电脑内部连接标准

小贴士:电脑内部连接标准在介绍电脑内部连接标准之前,首先应该了解一下电脑内部接线的种类,以便分类处置。电脑内部尽管五颜六色的导线,其中导线的种类可以分为3 类,即电源线、信号线和控制线,而控制线又常…

window media player出现内部应用程序错误

相信很多人都会遇到过window media player出现“内部应用程序错误”,卸载了重装还是老样子。或者升级window media player到最新版本等等,却还是解决不了!现在介绍一种方法,跟大家一起分享: 点左下角开始&#xff…