Debian Linux使用DenyHosts软件停止SSH用户黑客/破解攻击

时间:2020-01-09 10:37:30  来源:igfitidea点击:

我的Debian Linux VPS根服务器帐户登录失败的尝试很多。
如何停止服务器上基于自动bot的SSH攻击?
您可以使用基于Python的脚本DenyHosts来分析sshd服务器日志消息,以确定哪些主机试图入侵您的系统。
它是一个实用程序,可以帮助系统管理员阻止ssh饼干。
它还可以确定要定位的用户帐户。
它跟踪每个主机的尝试频率。
通过将条目添加到/etc/hosts.deny,它将自动阻止ssh攻击。

DenyHosts还将通知Linux管理员有关主机,攻击用户和可疑登录的信息。

步骤1:确保已安装Python

首先,确保在Debian/Ubuntu Linux下安装了python:

# dpkg --list | grep python2

找出版本(DenyHosts需要2.3或更高版本)

$ python -V

输出:

Python 2.5.1

步骤2:下载DenyHosts

访问官方项目主页以获取最新的源代码或软件包。
在Debian/Ubuntu Linux下使用apt-get命令,输入

$ sudo apt-get install denyhosts

DenyHosts配置/etc/denyhosts.conf

  • 默认的配置文件是/etc/denyhosts.conf
  • 您还需要在/etc/hosts.allow中创建/更新白名单。例如,如果您有ISP分配的静态IP,请在此文件中输入。您可以添加所有您不想阻止的重要主机。

步骤1:设置白名单

打开/etc/hosts.allow:

# vi /etc/hosts.allow

允许使用202.54.1.2中的sshd,即您永远不想阻止自己

sshd: 202.54.1.2

保存并关闭文件。
验证并检查您的tcp包装器配置文件,并报告所有潜在和实际问题:

# tcpdchk -v

步骤1:配置DenyHosts

打开默认配置文件/etc/denyhosts.conf,输入:

# vi /etc/denyhosts.conf

设置您的电子邮件ID,以便您将收到有关新限制主机和可疑登录信息的电子邮件,请将此地址设置为与您的电子邮件地址匹配。

ADMIN_EMAIL = [email protected]

保存并关闭文件。
这是我自己的Debian Linux 4.0服务器配置文件示例(配置文件记录得很好,只需打开并阅读即可):

############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/run/denyhosts.pid
############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = [email protected]
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <[email protected]>
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

重新启动守护程序:

# /etc/init.d/denyhosts restart