博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Denyhost来阻止恶意连接SSH的IP
阅读量:5990 次
发布时间:2019-06-20

本文共 1816 字,大约阅读时间需要 6 分钟。

DenyHosts
是用
Python2.3
写的一个程序,它会分析
/var/log/secure
redhat
Fedora Core,Centos
)等日志文件,当发现同一
IP
在进行多次
SSH
码尝试时就会记录
IP
/etc/hosts.deny
文件,从而达到自动屏蔽该
IP
的目的。
DenyHosts
官方网站为:

 
:
检查安装要求

首选检查
Sshd
是否支持
Tcpwrap
,只有支持
Tcpwrap
才可以安装
Denyhost

   50   ldd /usr/sbin/sshd |grep wrap
再检查Python
的版本,
Python2.3
以上版本可以直接安装
   51   python –V

 

:
安装Denyhost

先从Sourceforge.net
上下载
wget 

进行解压,再进入到源目录

   49   tar -xzvf DenyHosts-2.6.tar.gz
   52   cd DenyHosts-2.6
执行Python
脚本进行安装,
   53   python setup.py install
   
程序脚本自动安装到
/usr/share/denyhosts
   
库文件自动安装到
/usr/lib/python2.3/site-packages/DenyHosts
   denyhosts.py
自动安装到
/usr/bin

 
设置启动脚

   54   cd /usr/share/denyhosts/
拷贝模板文件
   55   cp daemon-control-dist daemon-control
设置好启动脚本的所属用户和权限
   56   chown root daemon-control
   57   chmod 700 daemon-control
生成Denyhost
的主配置文件,(将模板文件中开头是#
的过滤后再导入到Denyhost.cfg
   58   grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
编辑Denyhost.cfg
文件
   59   vi denyhosts.cfg
根据自己需要进行相应的修改
----------------denyhosts.cfg------------------------
SECURE_LOG = /var/log/secure 
#RedHat/Fedora Core
分析该日志文件
#
其它版本
linux
根据
denyhosts.cfg-dist
内提示选择。
PURGE_DENY = 30m
#
过多久后清除
DENY_THRESHOLD_INVALID = 1
#
允许无效用户(
/etc/passwd
未列出)登录失败的次数
DENY_THRESHOLD_VALID = 5
#
允许有效(普通)用户登录失败的次数
DENY_THRESHOLD_ROOT = 3
#
允许
root
登录失败的次数
HOSTNAME_LOOKUP=NO
#
是否做域名反解
----------------denyhosts.cfg------------------------

Denyhost
启动脚本添加到自动启动中
   60   echo '/usr/share/denyhosts/daemon-control start'>>/etc/rc.d/rc.local
启动Denyhost
的进程
   61   /usr/share/denyhosts/daemon-control start
可以查看到Denyhost
在运行中
   62   ps -ef |grep deny
在另外一台机器上使用Ssh
进行连接,当在连续几次输入错误的密码后,会被自动阻止掉,在一定时内不可以再连接
Ssh
连接记录的日志文件

   66   tail /var/log/secure –f
Denyhost
日志文件

   67   tail /var/log/denyhosts –f
Denyhost
将恶意连接的
IP
记录到
Hosts.deny
文件中,过一定时间后再从该文件中清除(
Denyhost.cfg
中设定的时间)

   68   vi /etc/hosts.deny
     本文转自fine102 51CTO博客,原文链接:http://blog.51cto.com/gzmaster/79370,如需转载请自行联系原作者
你可能感兴趣的文章
Hadoop分布式文件系统:架构和设计要点 - 转
查看>>
4.EGit基本用法
查看>>
Android FrameWork——Binder机制详解(2)
查看>>
74HC165级联
查看>>
面向对象的Shell脚本
查看>>
那一抹秋色!漂亮的秋天风景壁纸【组图】
查看>>
解密gzip压缩的网页数据流(转)
查看>>
手工建库
查看>>
Vue beforeRouteEnter 的next执行时机
查看>>
下班后这9件事,决定不同的人生
查看>>
dubbo的服务发现和注册如何实现
查看>>
JavaScript 基础
查看>>
Kafka与Flink集成
查看>>
浅谈Redis分布式锁实现
查看>>
scikit-learn系列之如何存储和导入机器学习模型
查看>>
java:Eclipse插件springsource-tool-suite的下载和安装
查看>>
H5前端框架推荐合集 (转)
查看>>
追踪掠食者:地下灰产如何撸死创业公司?
查看>>
WPF路径动画(动态逆向动画)
查看>>
计算型属性 vs 懒加载
查看>>