Nginx服务器下阻止SSH暴力破解,DenyHosts安装及配置说明

DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。

如果你在SSH下看到好多SSH进程,说明有人破解SSH,那么可以用这个阻止
1、下载和安装EPEL RPM

cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uhv epel-release-5-3.noarch.rpm

(小草针对epel-release-5-3的补充说明:这个文件可以理解为一个桥梁插件,安装好后你要yum安装别的软件比如下面的denyhosts那么它会自动给你挑选适合你物理地址最快的站点来下载并且安装软件,具体我再转贴另外篇文章来加深理解http://hi.baidu.com/uuok/blog/item/5ec1906299e8fad1e7113a88.html

CentOS x86_64 输入如下命令
rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm)

2、使用yum命令安装denyhosts

yum install denyhosts
主要配置文件/etc/denyhosts.conf ,您可以看看,确保配置合适你的环境
3、添加系统启动自动运行
chkconfig –add denyhosts

(小草:这条命令好像可以忽略,因为我这边测试安装完后denyhosts就已经是添加到系统服务里了)
chkconfig denyhosts on
4启动
service denyhosts start

(小草:关于chkconfig,service命令的解释总结见下面文章http://hi.baidu.com/uuok/blog/item/5613fc1295fee3c2c3fd7875.html)

DenyHosts官方网站为:http://denyhosts.sourceforge.net

配置:
vi /etc/denyhosts.conf
# 用户登录的日志文件
SECURE_LOG = /var/log/auth.log

# 禁止登陆的主机文件
HOSTS_DENY = /etc/hosts.deny

# 清除已禁止主机的时间
PURGE_DENY = 5d

# 禁止的服务名
BLOCK_SERVICE = sshd

# 允许无效用户登录失败的次数
DENY_THRESHOLD_INVALID = 1

# 允许普通用户登陆失败的次数
DENY_THRESHOLD_VALID = 3

# 允许 root 用户登陆失败的次数
DENY_THRESHOLD_ROOT = 3

# 是否做域名反解
HOSTNAME_LOOKUP=NO

# 管理员邮件地址
ADMIN_EMAIL = admin@domain.com

# SMTP 的相关设置
SMTP_HOST = mail.domain.com
SMTP_PORT = 25
SMTP_USERNAME=denyhosts@domain.com
SMTP_PASSWORD=password
SMTP_FROM = DenyHosts
SMTP_SUBJECT = DenyHosts Report from domain.com

# DenyHosts 的日志文件
DAEMON_LOG = /var/log/denyhosts

from:http://hi.baidu.com/uuok/blog/item/214d601fd870cec4a78669ad.html

发表评论

电子邮件地址不会被公开。

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>