我们可以下载 Github 存储库或下载最新的 DenyHosts 源分发,并从这些源包编译它。让我们看看如何从 Github 存储库安装拒绝主机。
# yum install git # git clone https://github.com/denyhosts/denyhosts Cloning into 'denyhosts'... remote: Counting objects: 1353, done. remote: Total 1353 (delta 0), reused 0 (delta 0), pack-reused 1353 Receiving objects: 100% (1353/1353), 263.93 KiB | 0 bytes/s, done. Resolving deltas: 100% (899/899), done.
从 Github 下载文件后,我们需要安装它。您可以通过从拒绝主机文件夹中发出此命令来安装它,如下所示:
#cd denyhosts #python setup.py install
这将把 DenyHosts 模块安装到 python 的站点包目录中。
同样,从源分发中,您可以下载最新的 Denyhosts 并安装它,如上文所述。在这两种情况下,其余的配置步骤都相同。
配置Denyhosts
安装后,您可以将在包含大多数可能设置的安装文件夹下创建的示例配置文件“denyhosts.conf”复制到 /etc 文件夹中。配置文件包含各种设置及其说明,这些设置应有助于您快速配置DenyHosts。编辑配置文件后,保存它。
# cp -rp denyhosts.conf /etc/
接下来,我们需要将示例daemon-control.dist脚本复制到daemon-control,并根据您的配置文件位置修改建议的部分。
#cp daemon-control-dist daemon-control #chmod 700 daemon-control
现在,我们可以编辑守护程序控制文件。您只需要编辑顶部附近的此部分,如下所示。我将本节编辑为配置路径。
###############################################
###############################################
#### Edit these to suit your configuration ####
###############################################
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK = "/var/run/denyhosts.pid"
DENYHOSTS_CFG = "/etc/denyhosts.conf"
PYTHON_BIN = "/usr/bin/env python"
#########################################
对于大多数系统,这些默认值应该是合理的。但是我建议您自定义这些设置以匹配您的特定系统。编辑完配置和守护程序控制文件后,请确保将守护程序控制脚本的执行限制为root。
手动启动DenyHosts
在使用我们的守护程序控制脚本将Denyhosts设置为作为守护程序运行之后,您可以从那里手动启动它,只需在安装文件夹中运行此命令即可。
# ./daemon-control start starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/etc/denyhosts.conf
您可以参考守护程序日志(/var/log/denyhosts)以确保DenyHosts成功运行。有关此软件的任何问题和疑问,您可以参考此FAQ链接。 另外,您可以手动启动DenyHosts,就是使用Python从命令行运行它,就像上面提到的常见参数一样,例如其二进制文件位置和配置文件。
# python /usr/bin/denyhosts.py --config /etc/denyhosts.conf --daemon # ps aux | grep denyhosts root 25650 0.0 1.0 216116 10740 ? S 09:44 0:00 python /usr/bin/denyhosts.py --config /etc/denyhosts.conf --daemon root 25656 0.0 0.2 112668 2200 pts/0 S+ 09:44 0:00 grep --color=auto denyhosts
上面的命令启动DenyHosts并在后台运行。
自动启动Denyhosts
我们可以将cronjobs设置为在启动时自动启动Denyhosts。或者我们可以从/etc/init.d创建一个符号链接,如下所示:
# cd /etc/init.d # ln -s /root/denyhosts/daemon-control denyhosts # ll | grep denyhosts lrwxrwxrwx 1 root root 30 Jan 10 04:48 denyhosts -> /root/denyhosts/daemon-control # chkconfig --add denyhosts
现在我们可以通过常规的systemctl命令管理此服务。
# systemctl enable denyhosts denyhosts.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig denyhosts on # systemctl start denyhosts # systemctl status denyhosts ● denyhosts.service - SYSV: Activates/Deactivates the Loaded: loaded (/etc/rc.d/init.d/denyhosts; bad; vendor preset: disabled) Active: active (exited) since Thu 2018-01-11 09:57:53 UTC; 2s ago Docs: man:systemd-sysv-generator(8) Process: 25876 ExecStart=/etc/rc.d/init.d/denyhosts start (code=exited, status=0/SUCCESS)
最后
在本文中,讨论了如何在我们的CentOS 7服务器上安装和配置DenyHosts。该工具可以轻松配置,还支持电子邮件,SMTP和系统日志通知。该应用程序是防御SSH服务器攻击(例如基于字典的攻击和蛮力攻击)的出色解决方案。希望本文对您有所帮助。请对此发表您的宝贵意见和建议。