[root@miner—k ~]# cp denyhosts.cfg-dist denyhosts.cf #denyhosts.cfg为配置文件
[root@miner—k ~]# cp daemon-control-dist daemon-control #daemon-control为启动程序
[root@miner—k ~]# chown root daemon-control #添加root权限
[root@miner—k ~]# chmod 700 daemon-control #修改为可执行文件
[root@miner—k ~]# ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts #对daemon-control进行软连接,方便管理
安装到这一步就完成了。
[root@miner—k ~]# /etc/init.d/denyhosts start #启动denyhosts
[root@miner—k ~]# chkconfig --add denyhosts
[root@miner—k ~]# chkconfig denyhosts on #将denghosts设成开机启动
设置配置文件
[root@miner—k ~]#vim /usr/share/denyhosts/denyhosts.cfg
############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure #ssh 日志文件 #redhat系列根据/var/log/secure文件来判断;
#Mandrake、FreeBSD根据 /var/log/auth.log来判断;
#SUSE则是用/var/log/messages来判断,这些在配置文件里面都有很详细的解释。
HOSTS_DENY = /etc/hosts.deny #控制用户登录的文件
PURGE_DENY = 30m #过多久后清除已经禁止的,设置为30分钟;
‘m’ = minutes
‘h’ = hours
‘d’ = days
‘w’ = weeks
‘y’ = years
BLOCK_SERVICE = sshd #禁止的服务名,当然DenyHost不仅仅用于SSH服务
DENY_THRESHOLD_INVALID = 1 #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 3 #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 3 #允许root登陆失败的次数
DENY_THRESHOLD_RESTRICTED = 1 #设定 deny host 写入到该资料夹
WORK_DIR = /usr/share/denyhosts/data #将deny的host或ip记录到work_dir中
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES #是否做域名反解
LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHost启动的pid记录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务
############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = #管理员邮箱
SMTP_HOST =
SMTP_PORT =
SMTP_FROM =
SMTP_SUBJECT = DenyHosts Report #邮件主题
AGE_RESET_VALID=5m #有效用户登录失败计数归零的时间
AGE_RESET_ROOT=10m #root用户登录失败计数归零的时间
AGE_RESET_RESTRICTED=10m #用户的失败登录计数重置为0的时间(/usr/share/denyhosts/data/restricted-usernames)
AGE_RESET_INVALID=5m #无效用户登录失败计数归零的时间
######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE ##########
DAEMON_LOG = /var/log/denyhosts #DenyHosts日志文件存放的路径,默认
DAEMON_SLEEP = 30s #当以后台方式运行时,每读一次日志文件的时间间隔。
DAEMON_PURGE = 10m #当以后台方式运行时,清除机制在 HOSTS_DENY 中终止旧条目的时间间隔,这个会影响PURGE_DENY的间隔。
RESET_ON_SUCCESS = yes #如果一个ip登陆成功后,失败的登陆计数是否重置为0
更改DenyHosts的默认配置之后,重启DenyHosts服务即可生效:
[root@miner-k denyhosts]# pwd
/usr/share/denyhosts
[root@miner-k denyhosts]# ./daemon-control start #重启denyhosts
控制用户登录
hosts.deny和hosts.allow
- 如果在hosts.allow中的条目能匹配上,访问将被允许。
- 如果在hosts.deny中的条目能匹配上,访问将被拒绝。
- 其他的都允许通过。
文件中的书写规则
以 “/” 和“#”开头的或者是空行都会被过滤掉。
daemon_list : client_list [ : shell_command ]
名称 | 简介 |
---|---|
daemo | 要监控的服务,如telent、ftpd、sshd |
client | 主机名、IP地址/IP范围、或域名 |
选项名称 | 简介 |
---|---|
allow | 对客户端的访问 |
deny | 对客户端的访问 |
except | 会匹配第一个列表中所有项,除非匹配第二个列表。例如,允许 domainA 中所有项,除了 hostX.domainA 和 hostY.domanA。 |
- 当一行有多个守护进程或客户端时,用逗号分隔开来。
- 可以用 ALL 关键字来表示所有守护进程或所有客户端。
- LOCAL 关键字表示匹配所有不包含点号(“.”)的主机;这表示所有与域不相关的主机。
实例
hosts.deny 可以拒绝所有客户端访问所有守护进程
ALL:ALL
hosts.allow 为了能让所有守护进程从本地主机(即,与域名不相关的主机)访问
ALL:LOCAL : allow
假设仅仅允许属于 mydomain.com 域的主机使用 telnet 或 ssh
以下的 hosts.allow 条目能完成此任务:
telnetd,sshd:.mydomain.com :allow
注意:本例中 mydomain.com 之前的点号(“.”)。这是个通配符,表示所有主机以 mydomain.com 结尾。我们还在规则结尾指定这是一条允许规则。尽管这不是严格限制,但如前所述,这样做是一种好的做法。
允许指定的IP地址或者网段登录服务器
现在进一步假设我们允许使用以下 IP 地址远程登录 ssh 和 telnet:192.168.4.10 和所有以 192.168.6 开头的 IP 地址
telnetd,sshd:192.168.4.10 , 192.168.6.: allow
注意:在部分 IP 地址后使用点号”.”这相当于 192.168.6.*.,或者更精确一点,以 192.168.6 开头的所有 IP 地址。另一种看待 192.168.6. 范围内 IP 地址的方法是等于 192.168.6.0/24 或所有 192.168.6.1 与 192.168.6.254 之间的 IP 地址。
一个域中除了某一个主机名之外的其他主机都允许访问
允许从 mydomain.com 域中的所有主机上进行 ftp 访问,除了 mydomain.com 中的两个主机:uktrip1 和 uktrip2 。
ftpd:.mydomain.com except uktrip1.mydomain.com, uktrip2.mydomain.com : allow
被denyhost服务禁止的现象
telnet 检查sshd服务,被denyhost服务禁止没有显示版本号
telnet 检查sshd服务,正常情况下的显示:
清除一个禁止的IP
删除一个已经禁止的主机IP,并加入到允许主机例表,只在 /etc/hosts.deny 删除是没用的。需要进入工作 目录(WORK_DIR),进入以下操作:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-JJSm11iZ-1712865656738)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!