Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DenyHosts防止ssh爆破

DenyHosts防止ssh爆破

作者头像
TomatoCool
发布于 2023-07-30 09:32:25
发布于 2023-07-30 09:32:25
37100
代码可运行
举报
文章被收录于专栏:TomatoCoolTomatoCool
运行总次数:0
代码可运行

下载地址:https://sourceforge.net/projects/denyhosts/files/

傻瓜式安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  安装
tar xf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
#  制作配置文件
cp denyhosts.cfg-dist /etc/denyhosts.cfg
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control

将daemon-control中的

DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg"

改为

DENYHOSTS_CFG = "/etc/denyhosts.cfg"

命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  python版本报错可以在前面加上python2
#  启动DenyHosts
daemon-control start
#  查看DenyHosts启动状态
daemon-control status
#  停止
daemon-control stop

配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SECURE_LOG = /var/log/secure       #ssh日志文件
HOSTS_DENY = /etc/hosts.deny                  #控制用户登录的文件
# format is: i[dhwmy]
# Where i is an integer (eg. 7)
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#                                  #(h表示小时,d表示天,m表示月,w表示周,y表示年)       
# never purge:
HOSTS_DENY = /etc/hosts.deny        ##控制用户登陆的文件,将多次连接失败的IP添加到此文件,达到屏蔽的作用 
PURGE_DENY = 30m               ##过多久后清除已经禁止的,设置为30分钟;,我这里为空表示永远不解禁
PURGE_DENY = 50m               #过多久后清除已阻止IP
HOSTS_DENY = /etc/hosts.deny   #将阻止IP写入到hosts.deny
BLOCK_SERVICE =                #阻止服务名写在后面,如sshd
PURGE_THRESHOLD =              #定义了某一IP最多被解封多少次。某IP暴力破解SSH密码被阻止/解封达到了PURGE_THRESHOLD次,则会被永久禁止;
DENY_THRESHOLD_INVALID = 1     #允许无效用户登录失败的次数
DENY_THRESHOLD_VALID = 10      #允许普通用户登录失败的次数
DENY_THRESHOLD_ROOT = 5        #允许root登录失败的次数,可以设置为空
WORK_DIR = /usr/local/share/denyhosts/data     #将deny的host或ip纪录到Work_dir中
DENY_THRESHOLD_RESTRICTED = 1          #设定 deny host 写入到该资料夹
LOCK_FILE = /var/lock/subsys/denyhosts      #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
HOSTNAME_LOOKUP=NO             #是否做域名反解
ADMIN_EMAIL =                  #设置管理员邮件地址
DAEMON_LOG = /var/log/denyhosts      #DenyHosts日志位置

其他 :
#(h表示小时,d表示天,m表示月,w表示周,y表示年)
AGE_RESET_VALID=5d            #有效用户登录失败计数归零的时间
AGE_RESET_ROOT=25d            #root用户登录失败计数归零的时间
AGE_RESET_RESTRICTED=25d      #用户的失败登录计数重置为0的时间(/usr/share/denyhosts/data/restricted-usernames)
AGE_RESET_INVALID=10d         #无效用户登录失败计数归零的时间
#用户的登陆失败计数会在多长时间后重置为0
RESET_ON_SUCCESS = yes         ##如果一个ip登陆成功后,失败的登陆计数是否重置为0
DAEMON_SLEEP = 30s             ##当以 后台方式运行时,每读一次日志文件的时间间隔。
DAEMON_PURGE = 1h              #当以后台方式运行时,清除机制在 HOSTS_DENY 中终止旧条目的时间间隔,这个会影响PURGE_DENY的间隔。
RESET_ON_SUCCESS = yes                  #如果一个ip登陆成功后,失败的登陆计数是否重置为0

查看攻击的ip记录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /etc/hosts.deny

添加白名单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/hosts.allow
#  添加sshd: 119.45.*.*: allow

遇到的错误:

错误1:

python: can't open file '/usr/bin/denyhosts.py': [Errno 2] No such file or directory

解决办法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  找denyhosts.py
whereis denyhosts.py

发现正确位置在"/usr/local/bin/denyhosts.py",将daemon-control中的

DENYHOSTS_BIN = "/usr/bin/denyhosts.py"

改为

DENYHOSTS_BIN = "/usr/local/bin/denyhosts.py"

错误2: scode type="red" No such file or directory: '/var/log/secure'[/scode] 解决办法: 这里要打开系统的日志,因系统而异,打开/etc/denyhosts.cfg(配置文件),将

SECURE_LOG = /var/log/secure

,选择

#SECURE_LOG = /var/log/auth.log

并去掉注释

错误3:

Error deleting DenyHosts lock file: /var/lock/subsys/denyhosts [Errno 2] No such file or directory: '/var/lock/subsys/denyhosts'

解决办法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /var/lock/subsys/
touch /var/lock/subsys/denyhosts

错误4: scode type="red" File exists: '/var/lock/subsys/denyhosts'[/scode] 解决办法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#  删除文件
rm -f /var/lock/subsys/denyhosts

错误5:

NameError: global name 'TupleType' is not defined

解决办法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /usr/lib/python2.7/site-packages/DenyHosts/report.py
#  将'# from types import ListType, TupleType'的注释去掉
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​Docker 数据卷的管理及自动构建docker镜像
https://github.com/CentOS/CentOS-Dockerfiles
码农编程进阶笔记
2021/07/20
7340
​Docker 数据卷的管理及自动构建docker镜像
使用docker运行zabbix-server
3、启动zabbix-mysql容器使用link连接mysql与java-gateway。
码农编程进阶笔记
2021/07/20
2K0
使用docker运行zabbix-server
Docker从入门到干活,看这一篇足矣 [建议收藏]
Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。
码农编程进阶笔记
2021/07/20
4410
Docker从入门到干活,看这一篇足矣 [建议收藏]
Docker容器技术
Docker介绍 什么是容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个系统镜像运行,并由该镜像提供支持进程所需的全部文件。 容器镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。 来源:https://www.redhat.com/zh/topics/containers/whats-a-linux-container 容器就是虚拟化吗? 虚拟化使得许多操作系统可同时在单个系统上运行。 容器只能共享操作系统内核,将应用进程与系统其他部分,隔离开。
863987322
2018/03/29
3.5K0
Docker容器技术
终于有人把 Docker 讲清楚了,万字详解!
来源 | cnblogs.com/zhangxingeng/p/11236968.html
乔戈里
2019/11/08
1.1K0
001.Docker入门基础篇
1. Docker安装 1.1 安装并启动Docker # 1.准备yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo wget -O /etc/yum.repos.d/docker-ce.repo http://mirro
CoderJed
2020/11/12
4160
001.Docker入门基础篇
Docker常用命令大全(万字详解)
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
小熊学Java
2022/09/05
9.7K0
万字详解Docker架构原理、功能及使用
LXC为Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。
数据和云
2019/08/22
2.7K0
万字详解Docker架构原理、功能及使用
4-数据的持久化和共享互连
正常情况下,删除容器,容器中所有的文件也会被删除。所以需要能持久化容器中数据的方法,也就是数据卷 数据卷(Data Volume)的作用:
jackxiao
2021/11/16
7200
Docker 容器化部署实践Docker Compose
Docker compose是docker提供的一个命令行工具,实现对Docker容器集群的快速编排。
小土豆Yuki
2020/06/15
1.1K0
【docker深入浅出】一文学透Docker基础万字好文
Docker 最初是dotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并与2013年3月以Apache 2.0授权协议开源),主要项目代码在GitHub上进行维护。Docker项目后来还加入了Linux基金会,并成立推动开放容器联盟。
iOS Magician
2023/10/11
5970
【docker深入浅出】一文学透Docker基础万字好文
Docker如何搭建私有registry镜像仓库
说明:在docker01机器有registry镜像和docker-registry-web镜像,用搭建私有镜像仓库和web页面访问。
踏歌行
2020/10/15
3.2K0
Docker如何搭建私有registry镜像仓库
Docker 入门实践
张戈
2017/10/10
8.4K1
Docker 入门实践
docker知识总结
​ Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。
twelvecoder
2021/12/24
5670
docker知识总结
Docker镜像与容器的常用操作
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。国内很多云服务商都提供了国内加速器服务,例如:
踏歌行
2020/10/15
1.9K0
Docker镜像与容器的常用操作
Docker 构建容器Tomcat+Nginx+MySQL
一、构建Tomcat Tomcat是一个免费开源的轻量级web服务器,在中小型企业和并发量不高的场合普遍使用,是开发和调试JSP程序的首选。下面使用Dockerfile文件的方式来创建带有Tomcat服务的docker镜像。 下载JDK源码包 (提取码:0e3q)并放置Linux宿主机的Tomcat工作目录。
小手冰凉
2020/08/06
1.8K0
Docker 构建容器Tomcat+Nginx+MySQL
Docker快速入门总结笔记
(1)基本介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
全栈程序员站长
2022/09/07
6250
Docker和k8s的故障排除和监控利器 Weave-Scope服务
Weave-Scope服务是一个用来监控docker容器、k8s等(包括宿主机)的资源使用状况的,从根本上来说,有些类似于Zabbix等监控服务,该服务式基于容器部署的,部署简单,但功能强大,美中不足的可能就是其安全方面存在一些隐患吧! 一、部署Weave-Scope
小手冰凉
2020/08/17
7010
006.Docker网络管理
Docker使用Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。
木二
2019/07/26
1.1K0
Docker 三剑客之docker-compose
一、Compose简介 Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,可以使用YAML文件来配置应用程序的服务。然后,使用一个命令,就可以从配置中创建并启动所有服务。
小手冰凉
2020/08/13
6560
相关推荐
​Docker 数据卷的管理及自动构建docker镜像
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验