树莓派保卫战--防止SSH暴力破解
自己用树莓派搭建了个小server,用了很长时间了,最近查看log发现有很多SSH登陆失败,瞬间心就碎了,一直没关心小派的安全问题,怪我咯!
马上行动,首先研究下log:/var/log/auth.log记录了SSH登陆等权限安全信息,如何知道自己被攻击了呢?
# grep sshd.\*Failed /var/log/auth.log | less Nov 16 11:26:44 raspberrypi2 sshd[4876]: Failed password for root from 61.160.222.53 port 1323 ssh2
...
Nov 17 01:14:49 raspberrypi2 sshd[8791]: Failed password for root from 222.186.15.160 port 2670 ssh2
...
Nov 16 14:31:23 raspberrypi2 sshd[9343]: Failed password for invalid user admin from 61.160.222.53 port 1782 ssh2
...
这里显示的是尝试通过SSH登陆失败的记录,描述里有IP和端口描述。一般如果遇到暴力破解的话,会尝试用root,admin等常用用户名,而且会出现很多失败记录。
另外一种失败记录一般是端口扫描。如下:
# grep sshd.*Did /var/log/auth.log | less Nov 15 12:09:49 raspberrypi2 sshd[14252]: Did not receive identification string from 198.20.69.98
Nov 16 12:28:37 raspberrypi2 sshd[6351]: Did not receive identification string from 61.160.222.53
统计了下,最近一个月有两万多条,我错了,小派:(
如何防止这类闲的蛋疼的人呢?一般来说:
- 配置sshd_config,禁用root登陆
- 使用非常规SSH服务端口
- 使用非常规登陆名
- 尽量使用key登陆
以上四条条我都注意了,但防止不了暴力破解,接下来只能通过一些工具实现了。
Googling,发现两个工具DenyHosts和Fail2Ban,两个工具的作用是监视log,发现异常,屏蔽IP(iptables),也可同时执行发邮件等操作,都是Python写的。DenyHosts是针对SSH服务的,Fail2Ban可以适用多种服务如HTTP,FTP等,我选了Fail2Ban虽然我只用到SSH。
安装很简单:
# sudo apt-get install fail2ban
修改配置(可以不修改,默认是启动SSH保护的):
# ls /etc/fail2ban/
action.d/ fail2ban.conf filter.d/ jail.conf jail.local
# jail.local是jail.conf的override配置文件
# vim /etc/fail2ban/jail.local
[ssh] enabled = true
# 设置了非标准端口,需要修改为对应端口
port = ssh
filter = sshd
action = wechat[name=SSH]
logpath = /var/log/auth.log
bantime = 1200
maxretry = 3
发现异常后,屏蔽IP时fail2ban默认使用sendmail发邮件提醒,这个action是可以自定义的,在/etc/fail2ban/action.d/目录下可以添加配置文件实现。我自己弄了个微信提醒服务,当发现异常是通过微信推送给我,就能第一时间让我知道谁欺负我小派了,哼~
树莓派保卫战--防止SSH暴力破解的更多相关文章
- SSH 暴力破解趋势——植入的恶意文件属 DDoS 类型的恶意文件最多,接近70%,包括 Ganiw、 Dofloo、Mirai、 Xarcen、 PNScan、 LuaBot、 Ddostf等家族。此外挂机、比特币等挖矿程序占5.21%
SSH 暴力破解趋势:从云平台向物联网设备迁移 | 云鼎实验室出品 from: http://www.freebuf.com/articles/paper/177473.html 导语:近日,腾讯云发 ...
- 利用iptables防止ssh暴力破解和控制网速
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --setiptables -I INPUT -p ...
- Linux应急响应(一):SSH暴力破解
0x00 前言 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...
- Linux用root强制踢掉已登录用户;用fail2ban阻止ssh暴力破解root密码
Linux用root强制踢掉已登录用户 首先使用w命令查看所有在线用户: [root@VM_152_184_centos /]# w 20:50:14 up 9 days, 5:58, 3 use ...
- 防止ssh暴力破解的小工具denyhosts
DenyHosts 简介 DenyHosts 是 Python 语言写的一个程序软件,运行于 Linux 上预防 SSH 暴力破解的,它会分析 sshd 的日志文件(/var/log/secure), ...
- Linux CentOS 防止SSH暴力破解
一. 问题的发现 昨晚苦逼加班完后,今早上班继续干活时,SSH连接服务器发现异常的提示,仔细看了一下吓一小跳,昨晚9点钟到现在,一夜之间被人尝试连接200+,慌~~~ 1. 速度查一下log [roo ...
- ssh暴力破解解决方案(Centos7更改端口)
服务器默认ssh远程连接端口为22端口,通常通过22远程连接的话,容易有ssh暴力破解的风险,给我们造成一定的损失.下面是更换ssh端口过程: 1.添加ssh端口 vim /etc/ssh/sshd_ ...
- 记录ssh暴力破解的密码字典
之前我已经在wooyun和91ri上发表了这篇文章,今天转到51cto上... 默认的ssh日志是不带密码记录功能的,现在想把登录密码记录下来,这样就可以搜集黑客的ssh爆破字典了,从而可以反扫回去. ...
- 阿里云服务器被他人通过SSH暴力破解后的安全加固
背景说明:我登录阿里云服务器控制台时,收到几条安全警告信息. 从图中可以知道,对方的IP地址是47.97.68.118,通过SSH登录方式,登录时用我服务器里的admin用户,然后用穷举法暴力破解ad ...
随机推荐
- maven 打包 xml文件
说起来手贱啊,搞了两个小时,就是因为打包的时候,maven无法把xml文件打包到正确的位置. 本来应该是打包到 com/presistence包下,结果打出来有两个包,一个是com/presisten ...
- 收缩SQL Server日志不是那么简单的(翻译)
原文地址:http://rusanu.com/2012/07/27/how-to-shrink-the-sql-server-log/ 说明:本文为了更好的说明收缩的过程,在原文翻译的基础上增加了一些 ...
- javascript跨域通信(一):利用location.hash实现跨域iframe自适应
页面域关系: a.html所属域A:www.A.comb.html所属域B:www.B.com 问题本质: js对跨域iframe访问问题,因为要控制a.html中iframe的高度和宽度就必须首先读 ...
- java 数据类型
java是一个静态类型的语言,所有的数据类型都是有类型的(强类型的语言),当一个变量名指定类型后不可再改变变量类型 数据类型包括基本数据类型和引用数据类型(除基本数据类型外的其他类型都是引用数据类型) ...
- paip.proxool连接池 :Attempt to refer to a unregistered pool by its alias 'xx'
paip.proxool连接池 :Attempt to refer to a unregistered pool by its alias 'xx' 作者Attilax 艾龙, EMAIL:146 ...
- 使用Alcatraz来管理Xcode插件
Alcatraz 是一个帮你管理 Xcode 插件.模版以及颜色配置的工具.它可以直接集成到 Xcode 的图形界面中,让你感觉就像在使用 Xcode 自带的功能一样. 安装和删除 使用如下的命令行来 ...
- 前端框架layui
可以了解下jQuery组件layer layui开始使用Layui兼容除IE6/7以外的全部浏览器,并且绝大多数结构支持响应式 弹出层如果你使用的是Layui,那么你直接在官网下载layui框架即可, ...
- React+BootStrap+ASP.NET MVC实现自适应和组件的复用
系统展示如下 1.前端采用bootstrap3进行架构 2.后端采用asp.net mvc进行开发 开发工具vs2010 mvc4需要安装sp1的补丁. 3.js组件的封装采用react 1.新建mv ...
- 连接SQL SERVER 2008需要加端口号
VC2010 ADO 连接SQL SERVER 2008,127.0.0.1,1433,要加上端口,否则连不上.注意:地址和端口之间使用逗号隔开. 连接SQL SERVER 2000可以不加端口号,使 ...
- 虚拟机评估——如何确定一个CPU核上部署的虚拟机数量?
最近研究虚拟化技术,不可避免遇到一个问题:如何评估物理主机上虚拟主机的容量?下面这篇文章的思路有一定的启发性,转发一下. 如何确定一个CPU核上部署的虚拟机数量? 摘要:本文说明一个CPU核上部署虚拟 ...