Ubuntu安装denyhosts防止暴力破解远程SSH

上网被扫描是经常的事,为了避免 ssh 帐号和密码被暴力破解,Ubuntu下可以利用安装 denyhosts 来加强系统安全性。

1.安装

sudoapt-getinstalldenyhosts

2.配置/etc/denyhosts.conf。内容参考:

sshd登录日志文件。不同系统的不一样。

SECURE_LOG=/var/log/auth.log

限制主机访问的文件

HOSTS_DENY=/etc/hosts.deny

移除HOSTS_DENY中超过以下时间的旧条目

PURGE_DENY=1w

阻止的服务。默认是sshd,可以设置为其他或全部。

BLOCK_SERVICE=sshd

当该主机利用无效用户进行登录尝试失败超过以下的次数时,阻止该主机

DENY_THRESHOLD_INVALID=3

针对有效用户的

DENY_THRESHOLD_VALID=4

针对root用户的

DENY_THRESHOLD_ROOT=1

针对有限制的用户的

DENY_THRESHOLD_RESTRICTED=1

DenyHosts用于写数据用的。在里面可以看到hosts,hosts-root,offset,users-hosts,users-valid,hosts-restricted,hosts-valid,suspicious-logins,users-invalid这些记录。

WORK_DIR=/var/lib/denyhosts

当为YES时,如果允许的主机在登录时被认为可疑,则对该主机进行记录。当为NO时,如果允许的主机在登录时被认为可疑也不对该主机进行记录。在允许的主机范围外的主机的可疑登录全部会被记录。

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES

反向域名解释

HOSTNAME_LOOKUP=NO

这个文件存在表示Denyhosts正在运行。用于保证每次只有一个实例在运行。

LOCK_FILE=/var/run/denyhosts.pid

管理员EMail

ADMIN_EMAIL=root@localhost

SMTP主机设置。如果有SMTP服务支持,可以给管理员发邮件。

SMTP_HOST=localhost

SMTP_PORT=25

SMTP_FROM=DenyHosts<nobody@localhost>

SMTP_SUBJECT=DenyHostsReport

如果在指定的时间内没有失败的登录尝试,将导致此主机的失败计数重置为0。此值适用于除了root之外,所有有效用户(在/etc/passwd中的)的登录尝试。如果没有定义,这个计数将永远不会重置。

AGE_RESET_VALID=5d

针对root用户的

AGE_RESET_ROOT=25d

针对有限制的用户的

AGE_RESET_RESTRICTED=25d

针对无效用户(不在/etc/passwd中的)

AGE_RESET_INVALID=1w

当登录成功时,把登录成功的失败计数重置为0。默认是NO。

#RESET_ON_SUCCESS=yes

当以后台方式运行时,Denyhosts的日志文件,留空不记录日志。

#DAEMON_LOG=/var/log/denyhosts

当以后台方式运行时,每读一次日志文件的时间间隔。

DAEMON_SLEEP=30s

当以后台方式运行时,清除机制在HOSTS_DENY中终止旧条目的时间间隔。

DAEMON_PURGE=1h

3.重启Denyhosts

sudo/etc/init.d/denyhostsrestart

相关推荐