防止服务器被暴力破解使用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 ...
随机推荐
- Gmail POP3设置
好几个同事在问我怎样使用ThunderBird和OE收取IT CHT的邮箱,因为IT CHT就是用Gmail的功能,因此收发邮件是跟Gmail一样,下面是Gmail的POP&SMTP的设置方法 ...
- C# 程序员最常犯的 10 个错误
关于C# C#是达成微软公共语言运行库(CLR)的少数语言中的一种.达成CLR的语言可以受益于其带来的特性,如跨语言集成.异常处理.安全性增强.部件组合的简易模型以及调试和分析服务.作为现代的CLR语 ...
- Android ListView标题置顶效果实现
一. 有图有真相 二.实现: 1. 基于ListView分类效果 2. TitleView即标题的处理(创建) 3. 处理TitleView的三种状态 三.源码: 例子下载 实现可以看代码,具 ...
- 利用FluorineFX录制音频与视频
要做一个完整的录制程序,处理RPC请求的类不仅要继承ApplicationAdapter,还要继承IStreamService接口,该接口定义了play(),pause(),publish(),cre ...
- iOS开发——UI篇Swift篇&UIActivityIndicatorView
UIActivityIndicatorView override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleStr ...
- Quartz表达式
“*”字符代表所有可能的值 因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天 “/”字符用来指定数值的增量 例如:在子表达式(分钟)里的“0/15”表示从 ...
- 如何编写自己的Linux安全检查脚本?
因为本人工作中要涉及到很多东西,审计(日志.数据神马的).源代码审计.渗透测试.开发一大堆东西,有些东西,越是深入去做,越会发现,没有工具或脚本,工作起来是有多么的坑. 工作的这段时间,自己写了几个工 ...
- c++ 设计模式5 (Observer / Event 观察者模式)
3.3 观察者模式 (Observer)/发布-订阅模式 动机: 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都能得 ...
- spring WebServiceTemplate 调用 axis1.4 发布的webservice
前言: 最近在开发中需要调用对方的 webservice服务,按照现有的技术,本应该是一件很简单的事情,只需要拿到wsdl文件,生成客户端代码即可,但是,对方的webservice服务是06年用ax ...
- C# 递归程序 获取某个节点下的全部子节点
/// <summary> /// 获取组织结构树 /// </summary> /// <param name="list"></par ...