denyhosts centos?centos镜像

大家好,今天小编来为大家解答denyhosts centos这个问题,centos镜像很多人还不知道,现在让我们一起来看看吧!

DenyHosts——对抗ssh暴力破解

DenyHosts是一个旨在防止暴力破解攻击的工具。其核心功能是通过分析服务日志(如sshd)来识别并记录频繁尝试非法登录的主机,从而阻止这些主机的访问。配置文件允许用户设定屏蔽时长、永久封锁条件等参数。DenyHosts以Python2编写,必要时可通过提供的转换脚本来兼容Python3。本文基于denyhosts-3.0版本在centos 7环境下的配置与使用指南。安装时,DenyHosts会在/etc/目录下放置配置文件denyhosts.conf,若需修改,可直接编辑此文件。安装完成后,DenyHosts将被部署至/usr/lib/python2.7/site-packages/DenyHosts下,随后需确保启动脚本/usr/sbin/denyhosts正确运行。

安装完成并配置denyhosts.conf后,DenyHosts将自动后台运行。可通过denyhosts.service配置其开机启动。DenyHosts支持设置白名单,允许特定IP或域名在不受限制的情况下访问服务,优先级高于黑名单。白名单定义格式包括服务名、IP或域名范围、访问权限(deny或allow)。在配置文件中,需注意避免使用冲突的规则,以免产生混淆。

在运行环境中,DenyHosts通过日志文件监控非法登录尝试,根据配置规则识别并屏蔽攻击者。其关键功能和操作流程被封装在denyhosts.py中,这个脚本负责定时轮询日志文件,检测异常登录行为并实施相应措施。通过此脚本,用户可以启动、停止、检查DenyHosts状态或获取进程PID。

DenyHosts的实现依赖于多个子模块,如prefs.py、sync.py、denyfileutil.py和deny_hosts.py。其中,prefs.py负责读取配置属性,sync.py用于实现多台机器间的同步功能,denyfileutil.py提供对hosts.deny文件的基本操作,而deny_hosts.py作为核心模块,处理日志文件分析和主机屏蔽逻辑。DenyHosts的运行流程包括读取日志文件、识别可疑登录行为、更新黑名单、生成报告以及处理同步功能。

为了验证DenyHosts的有效性,进行了一次实验。在虚拟机上安装了DenyHosts并配置了正确的日志路径。使用物理机尝试SSH登录虚拟机,通过连续输入错误密码15次,但最终仍以正确密码成功登录。这一结果表明配置文件中日志路径的错误设置未被修正。修正denyhosts.conf文件后,重启DenyHosts,日志中记录了非法登录尝试,并且物理机也无法再通过SSH访问虚拟机,实验验证了DenyHosts的功能。

DenyHosts为防止暴力破解提供了一种有效手段,通过合理配置和使用,可以显著提高系统的安全性。了解其工作原理、安装步骤、配置细节以及实验验证过程,有助于在实际应用中发挥其最佳效能。

CentOs web服务器安全防范经验总结

1.禁用ROOT权限登录。(重要)

2.安全组收缩不使用的端口,建议除443/80以及ssh登录等必要端口外全部关闭。

3.防火墙收缩不使用的端口,建议除443/80以及ssh登录端口外全部关闭。

4.更改ssh默认端口22

5.除登录USER,禁止其他用户su到root进程,并且ssh开启秘钥及密码双层验证登录。(重要)

6.限制除登录USER外的其他用户登录。

7.安装DenyHosts,防止ddos攻击。

8.禁止系统响应任何从外部/内部来的ping请求。

9.保持每天自动检测更新。

10.禁止除root之外的用户进程安装软件及服务,如有需要则root安装,chown给到用户。

11.定时给服务器做快照。

12.更改下列文件权限:

13.限制普通用户使用特殊命令,比如wget,curl等命令更改使用权限,一般的挖矿程序主要使用这几种命令操作。

1.nginx进程运行在最小权限的子用户中,禁止使用root用户启动nginx。(重要)

2.配置nginx.conf,防范常见漏洞:

1.禁止root权限启动apache服务!禁止root权限启动apache服务!禁止root权限启动apache服务!重要的事情说三遍!因为这个问题被搞了两次。

2.改掉默认端口。

3.清空webapps下除自己服务外的其他文件,删除用户管理文件,防止给木马留下后门。

4.限制apache启动进程su到root进程以及ssh登录,限制启动进程访问除/home/xx自身目录外的其他文件。

5.限制apache启动进程操作删除以及编辑文件,一般a+x即可。

1.关闭外网连接,与java/php服务使用内网连接。

2.在满足java/php服务的基础上,新建最小权限USER给到服务使用,禁止USER权限访问其他项目的库。

3.root密码不要与普通USER相同。

4.建议使用云库,云库具备实时备份,动态扩容,数据回退等功能,减少操作风险。

1.关闭外网连接,只允许内网交互,基本这个做了之后就已经稳了。

2.禁止root权限启动,运行在普通用户进程里。

3.更改默认端口。

4.添加登录密码。

以上是自己做的防范手段,不成熟见解,有一些方案待验证,不定时更新,欢迎大佬补充!

阅读剩余
THE END