文末的相关文章可以看一下
上网被扫描是经常的事,为了避免 ssh 帐号和密码被暴力破解,可以利用 denyhosts 来加强系统安全性。
1.安装 sudo apt-get install denyhosts 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 = DenyHosts Report 如果在指定的时间内没有失败的登录尝试,将导致此主机的失败计数重置为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/denyhosts restart |