防止服务器被暴力破解使用DenyHosts
公司有台服务器被坏人盯上了,通过日志可以看到一直在做暴力破解ssh。
防止服务器被暴力破解使用DenyHosts
参考链接:
如何检查服务器的工具集是否被替换
浅谈Linux被入侵后,如何检查后门
参考链接
浅谈Linux被入侵后,如何检查后门
防止ssh破解,Ubuntu安装denyhosts的一些问题 (2013-04-11 10:26:46)转载▼
DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。
使用root的安装,普通用户添加sudo,要不权限不够
(1)下载软件安装包
wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz
(2)解压
tar -zxvf DenyHosts-2.6.tar.gz
(3)安装
cd DenyHosts-2.6
python setup.py install
(会输出一堆信息,留意一下denyhosts.py的路径,后面启动的时候或许会用上)
(4)为了能开机自动启动,在系统中做一个名为“denyhosts”的符号链接,然后添加到启动项中:
ln -s /usr/share/denyhosts/daemon-control-dist /etc/init.d/denyhosts
chkconfig –add denyhosts
(5)
到 /usr/share/denyhosts/ 目录下,将配置文件denyhosts.cfg-dist复制为一个新的配置文件
cd /usr/share/denyhosts
cp denyhosts.cfg-dist denyhosts.cfg
修改配置文件:
vim /usr/share/denyhosts/denyhosts.cfg
sshd 登录日志文件。不同系统的不一样
SECURE_LOG = /var/log/auth.log
限制主机访问的文件
HOSTS_DENY = /etc/hosts.deny
移除 HOSTS_DENY 中超过以下时间的旧条目
PURGE_DENY = 1w
ps:过多久后清除已经禁止的,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟
阻止的服务。默认是 sshd ,可以设置为其他或全部。
BLOCK_SERVICE = sshd
当该主机利用无效用户进行登录尝试失败超过以下的次数时,阻止该主机
DENY_THRESHOLD_INVALID = 3
针对有效用户的
DENY_THRESHOLD_VALID = 4
最多允许root登录失败多少次
DENY_THRESHOLD_ROOT = 3
DenyHosts 用于写数据用的。在里面可以看到 hosts,hosts-root,offset,users-hosts,users-valid,hosts-restricted,hosts-valid,suspicious-logins,users-invalid 这些记录。
WORK_DIR = /var/lib/denyhosts
邮箱设置
是否做域名反解析
HOSTNAME_LOOKUP=NO
用来接收报警信息的邮箱
ADMIN_EMAIL = xxx@163.com
smtp服务器地址,当你需要DenyHosts发邮件给你报警的时候,要设置这个参数
SMTP_HOST = smtp.163.com
smtp服务器端口
SMTP_PORT = 25
登录邮箱帐户的用户名
SMTP_USERNAME=usr
登录邮箱帐户的密码
SMTP_PASSWORD=pas
邮件中的发件人信息
SMTP_FROM = DenyHosts
报警邮件的标题
SMTP_SUBJECT = DenyHosts Report
其他的基本上不用改了
(6)启动服务
/etc/init.d/denyhosts start
(从输出的信息来看,这种启动方法实际上是调用了如下的命令:
/usr/bin/denyhosts.py –daemon –config=/usr/share/denyhosts/denyhosts.cfg
可见,它使用的配置文件是/usr/share/denyhosts/denyhosts.cfg ,这也是为什么我们在上面的步骤中要把默认的配置文件复制为一个新的配置文件“denyhosts.cfg”的原因了。)
启动时若显示:python: can't open file '/usr/bin/denyhosts.py': [Errno 2] No such file or directory
解决方法:拷贝/usr/local/bin/denyhosts.py 到/usr/bin下
cp /usr/local/bin/denyhosts.py /usr/bin
或许修改启动文件 /usr/share/denyhosts/daemon-control-dist 的DENYHOSTS_BIN值
DENYHOSTS_BIN = "/usr/local/bin/denyhosts.py"
(7)测试:
从另一台服务器上,以一个不存在的用户名和密码来ssh登录部署了的DenyHosts服务器,如果你在DenyHosts的配置文件中设置的是错误地尝试一次就被block,那么你就会发现你这台登录的客户端服务器被block了。并且,在部署了DenyHosts的服务器上,查看文件/etc/hosts.deny 的内容,会发现多了一条记录,正是屏蔽了登录者的那一条记录,这就说明生效了
(8)备注:
如果一台服务器被误block了,可以在部署DenyHosts的服务器上,将文件 /etc/hosts.deny 中相应的条目删掉,再重启DenyHosts服务(/etc/init.d/denyhosts restart),就可以解除block了
防止服务器被暴力破解使用DenyHosts的更多相关文章
- 使用 fail2ban 防御 SSH 服务器的暴力破解攻击
对于SSH服务的常见的攻击就是暴力破解攻击——远程攻击者通过不同的密码来无限次地进行登录尝试.当然SSH可以设置使用非密码验证验证方式来对抗这种攻击,例如公钥验证或者双重验证.将不同的验证方法的优劣处 ...
- 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由SQL GM发表于云+社区专栏 介绍 对于SSH服务的常见的攻击就是暴力破解攻击--远程攻击者通过不同的密码来无限次地进行登录尝试.当 ...
- 【Linux笔记】阿里云服务器被暴力破解
一.关于暴力破解 前几天新购进了一台阿里云服务器,使用过程中时常会收到“主机被暴力破解”的警告,警告信息如下: 云盾用户您好!您的主机:... 正在被暴力破解,系统已自动启动破解保护.详情请登录htt ...
- fail2ban[防止linux服务器被暴力破解]
一 介绍fail2ban fail2ban 可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH. SMTP.FTP密 ...
- Linux 利用hosts.deny 防止暴力破解ssh
一.ssh暴力破解 利用专业的破解程序,配合密码字典.登陆用户名,尝试登陆服务器,来进行破解密码,此方法,虽慢,但却很有效果. 二.暴力破解演示 2.1.基础环境:2台linux主机(centos 7 ...
- 暴力破解FTP服务器技术探讨与防范措施
暴力破解FTP服务器技术探讨与防范措施 随着Internet的发展出现了由于大量傻瓜化黑客工具任何一种黑客攻击手段的门槛都降低了很多但是暴力破解法的工具制作都已经非常容易大家通常会认为暴力破解攻击只是 ...
- Linux应急响应(一):SSH暴力破解
0x00 前言 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...
- 13.DoS防御----BeEF浏览器渗透----暴力破解之美杜莎---DNS指南
DoS防御 启用ICMP,UDP,TCP泛洪过滤 登录路由器管理后台 高级-安全部分 BeEF浏览器渗透 用kali进行客户端攻击 钓鱼攻击 打开beef 浏览器打开beef cd /usr/shar ...
- sshd服务器搭建管理和防止暴力破解
1.1 Linux服务前期环境准备,搭建一个RHEL7环境 1.2 sshd服务安装-ssh命令使用方法 1.3 sshd服务配置和管理 1.4 防止SSHD服务暴力破解的几种方式 1.1 Linux ...
随机推荐
- Codeforces Gym 100231G Voracious Steve 记忆化搜索
Voracious Steve 题目连接: http://codeforces.com/gym/100231/attachments Description 有两个人在玩一个游戏 有一个盆子里面有n个 ...
- Codeforces Round #180 (Div. 2) C. Parity Game 数学
C. Parity Game 题目连接: http://www.codeforces.com/contest/298/problem/C Description You are fishing wit ...
- Java学习笔记(4)——JavaSE
一.HashMap HashMap以键值对的形式存储对象,关键字Key是唯一的,不重复的 1,key可以是任何对象,Value可以任何对象 2,重复的key算一个,重复添加是替换操作(会覆盖原来的元素 ...
- Map生成器 map适配器如今能够使用各种不同的Generator,iterator和常量值的组合来填充Map初始化对象
Map生成器 map适配器如今能够使用各种不同的Generator,iterator和常量值的组合来填充Map初始化对象 package org.rui.collection2.map; /** * ...
- php内核探索
http://www.nowamagic.net/librarys/veda/special/PHP%E5%86%85%E6%A0%B8%E6%8E%A2%E7%B4%A2 关注PHP 源代码 Zen ...
- 异常处理之namespace找不到
最近在做控件的时候遇到了这么一个异常 就是说类库中明明就有命名空间,但是在winForm中引用的时候也能正常显示, 可是编译的时候却报 找不到指定的命名空间 这样的异常,头痛了好久,结果看到了winF ...
- mybaits 学习
mybaits 学习(一) 注意:如果建的是web项目,run as java application 参考http://www.cnblogs.com/xdp-gacl/p/4261895.htm ...
- [转]SVN:This client is too old to work with working copy 的解决方案
前一段时间,我在Eclipse碰到一个SVN错误,出现的原因是我的Eclipse的SVN插件是1.6,服务器的SVN版本是1.5.4,然后我在工程目录下做了一次提交操作(不是Eclipse里),到最后 ...
- 《Cortex-M0权威指南》之体系结构---系统模型
转载请注明来源:cuixiaolei的技术博客 Cortex-M0体系结构包括:系统模型.存储器映射.异常中断.这篇文章主要讲解Cortex-M0的系统模型. 操作模式和状态 如上图所示,Cortex ...
- 《算法导论》习题解答 Chapter 22.1-3(转置图)
一.邻接表实现 思路:一边遍历,一边倒置边,并添加到新的图中 邻接表实现伪代码: for each u 属于 Vertex for v 属于 Adj[u] Adj1[v].insert(u); 复杂度 ...