Red Hat/Centos安装Denyhosts阻止SSH攻击/黑客攻击

时间:2020-01-09 10:43:25  来源:igfitidea点击:

如何在CentOS Linux或者Red Hat Enterprise Linux服务器5.x下阻止和阻止对SSH服务器的攻击?
您可以使用denyhosts软件轻松阻止SSH服务器攻击,包括基于字典的攻击和蛮力攻击。

这是一个基于Python的脚本,该脚本分析sshd服务器日志消息以确定哪些主机试图入侵您的系统。

步骤1:启用Rpmforge Repo

首先,启用rpoforge repo。
对于32位CentOS/RHEL Linux,执行:

# rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

对于64位CentOS/RHEL 5 Linux,执行:

# rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

步骤2:安装Denyhosts

执行以下命令:

# yum -y install denyhosts

步骤3:配置Denyhosts

缺省配置文件位于/etc/denyhosts/denyhosts.cfg。

允许您的计算机访问sshd

您需要设置一个白名单,以便您永远都不想使用此脚本阻止自己。
编辑/etc/hosts.allow,执行:

# vi /etc/hosts.allow

允许使用192.54.1.2和203.51.2.3中的sshd:

sshd: 192.54.1.2 203.51.2.3

保存并关闭文件。

设置警报电子邮件ID

编辑/etc/denyhosts/denyhosts.cfg,执行:

# vi /etc/denyhosts/denyhosts.cfg

如果您想接收有关新限制主机和可疑登录的电子邮件,请设置此地址以与您的电子邮件地址匹配。
如果您不想接收这些报告,请将此字段留空(或者使用noemail选项运行)。
多个电子邮件地址可以用逗号分隔,例如:ADMIN_EMAIL = [email protected][email protected]

ADMIN_EMAIL = [email protected]

保存并关闭文件。
这是我自己的RHEL/CentOS 5.x服务器/vps盒配置文件示例,文件配置非常好,只需打开并阅读即可:

############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 7d
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /usr/share/denyhosts/data
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/lock/subsys/denyhosts
       ############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = [email protected]
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
   ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts
 
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
   #########   THESE SETTINGS ARE SPECIFIC TO     ##########
   #########       DAEMON SYNCHRONIZATION         ##########

打开拒绝主机

执行以下命令:

# chkconfig denyhosts on
# service denyhosts start

如何查看Denyhosts日志?

输入命令:

# tail -f /var/log/denyhosts
# tail -f /var/log/secure