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