使用Denyhost减少ssh暴力破解
2011-11-18 11:44
399 查看
1. 下载Denyhosts安装包
http://denyhosts.sourceforge.net/下载DenyHosts-x.x.tar.gz安装包
2. 解压安装
我下载的包为:DenyHosts-2.6.tar.gz
阅读README文件。
3. 生成配置文件denyhosts.cfg,并进行配置
进行基本的配置
3. 将denyhosts添加为启动服务
4. 启动denyhosts
初始化时会测试你设置的邮箱是否可连接(我就把密码设错了,连不上),根据你的/var/log/secure文件并加入一些被禁止的IP,如下:
Added the following hosts to /etc/hosts.deny:
173.203.117.166
125.67.234.32
202.28.247.246
218.95.37.171
140.113.144.8
86.101.140.2
59.18.3.119
124.42.3.51
5. 可以查看日志文件
6. 选项说明选项说明
设置安全日志的存放文件,公司使用的大部分系统都是CentOS,所以日志的位置为/var/log/secure,如果为其他系统需要进行相应的调整
允许主机访问的文件
去除HOST_DENY中超过指定时间的记录
HOST_DENY中阻止的服务
当主机利用无效用户登录进行登录失败次数超过以下次数时,阻止这个主机
有效用户
root用户
限制用户
denyhosts用于写数据的目录,里面有hosts,hosts-root,offset ,sync-hosts ,users-invalid,hosts-restricted,hosts-valid,suspicious-logins,users-hosts,users-valid这些文件
当设置为YES时,如果允许登录时被认为可以,则对该主机进行记录。设置为NO时,如果允许的主机在登录时被认为可疑也不对该主机进行记录。在允许的主机范围外的主机可以登录全部会被记录。
是否对主机进行反向域名解析
设置锁文件的位置,文件存在表示Denyhosts正在运行,保证每次只有一个实例运行
管理员的邮箱,可设置多个,用逗号分隔
指定STMP服务器
指定SMTP服务器端口
指定登录SMTP服务器的用户名
指定登录SMTP服务器的密码
指定来源者,注意指定的邮箱要和前面SMTP服务器配置的认证的用户名相同
指定邮件的主题
如果在指定的时间内没有失败的登录尝试,此主机的失败计数重置为0。适用于除了root之外,所有有效用户(在/etc/passwd中)的登录尝试。如果没有定义,这个计数将永远不会重置
root用户的
限制用户的
无效用户的
denyhost服务日志
后台方式运行,每读取一次日志文件的时间间隔
以后台方式运行时,清除机制HOSTS_DENY中终止旧条目的时间间隔
本文出自 “linuxjcq” 博客,请务必保留此出处http://linuxjcq.blog.51cto.com/3042600/717909
http://denyhosts.sourceforge.net/下载DenyHosts-x.x.tar.gz安装包
2. 解压安装
我下载的包为:DenyHosts-2.6.tar.gz
tar zxvf DenyHosts-2.6.tar.gz cd DenyHosts-2.6 python setup.py install
阅读README文件。
3. 生成配置文件denyhosts.cfg,并进行配置
cp denyhosts.cfg-dist denyhosts.cfg
进行基本的配置
vi denyhosts.cfg # 系统用户登录的日志文件路径 SECURE_LOG = /var/log/secure # 系统禁止登录主机文件 HOSTS_DENY = /etc/hosts.deny # 被禁止的主机多长时间后可继续登录 PURGE_DENY = 1h # 你所要监控的服务 BLOCK_SERVICE = sshd # 允许无效用户登录失败的次数 DENY_THRESHOLD_INVALID = 5 # 允许普通用户登录失败的次数 DENY_THRESHOLD_VALID = 10 # 允许root用户登录失败的次数 DENY_THRESHOLD_ROOT = 1 # 是否进行反向域名解析 HOSTNAME_LOOKUP=NO # 管理员邮件地址,我使用的是qq邮箱 ADMIN_EMAIL = qq邮箱 # SMTP服务器配置,使用qq的smtp服务 SMTP_HOST = smtp.qq.com SMTP_PORT = 25 # SMTP用户名和密码 SMTP_USERNAME=qq邮箱 SMTP_PASSWORD=qq邮箱的密码 # 开启SYNC_SERVER SYNC_SERVER = http://xmlrpc.denyhosts.net:9911 # denyhosts日志文件,默认值 DAEMON_LOG = /var/log/denyhosts
3. 将denyhosts添加为启动服务
cp /usr/share/denyhosts/daemon-control-dist /etc/rc.d/init.d/denyhosts # 之后可以编辑该配置文件,修改以下三个路径,由于默认的已经正确了,不需要修改,你可以根据自己的喜好将配置文件放在别处 # DENYHOSTS_BIN = "/usr/bin/denyhosts.py" # DENYHOSTS_LOCK = "/var/lock/subsys/denyhosts" # DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg" chown root:root /etc/rc.d/init.d/denyhosts chmod a+x /etc/rc.d/init.d/denyhosts chkconfig –add denyhosts chkconfig denyhosts on
4. 启动denyhosts
service denyhosts start # 可以用过以下命令确认是否运行 ps -ef | grep "denyhosts" | grep -v "grep" root 13025 1 0 17:35 ? 00:00:00 python /usr/bin/denyhosts.py –daemon –config=/usr/share/denyhosts/denyhosts.cfg
初始化时会测试你设置的邮箱是否可连接(我就把密码设错了,连不上),根据你的/var/log/secure文件并加入一些被禁止的IP,如下:
Added the following hosts to /etc/hosts.deny:
173.203.117.166
125.67.234.32
202.28.247.246
218.95.37.171
140.113.144.8
86.101.140.2
59.18.3.119
124.42.3.51
5. 可以查看日志文件
tail -f /var/log/denyhosts
6. 选项说明选项说明
SECURE_LOG = /var/log/secure # Mandrake, FreeBSD or OpenBSD: #SECURE_LOG = /var/log/auth.log # # SuSE: #SECURE_LOG = /var/log/messages # # Mac OS X (v10.4 or greater - # also refer to: http://www.denyhosts.net/faq.html#macos #SECURE_LOG = /private/var/log/asl.log # # Mac OS X (v10.3 or earlier): #SECURE_LOG=/private/var/log/system.log
设置安全日志的存放文件,公司使用的大部分系统都是CentOS,所以日志的位置为/var/log/secure,如果为其他系统需要进行相应的调整
# Most operating systems: HOSTS_DENY = /etc/hosts.deny # # Some BSD (FreeBSD) Unixes: #HOSTS_DENY = /etc/hosts.allow # # Another possibility (also see the next option): #HOSTS_DENY = /etc/hosts.evil
允许主机访问的文件
PURGE_DENY = 1h
去除HOST_DENY中超过指定时间的记录
BLOCK_SERVICE = sshd
HOST_DENY中阻止的服务
DENY_THRESHOLD_INVALID = 5
当主机利用无效用户登录进行登录失败次数超过以下次数时,阻止这个主机
DENY_THRESHOLD_VALID = 10
有效用户
DENY_THRESHOLD_ROOT = 1
root用户
DENY_THRESHOLD_RESTRICTED = 1
限制用户
WORK_DIR = /usr/share/denyhosts/data
denyhosts用于写数据的目录,里面有hosts,hosts-root,offset ,sync-hosts ,users-invalid,hosts-restricted,hosts-valid,suspicious-logins,users-hosts,users-valid这些文件
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
当设置为YES时,如果允许登录时被认为可以,则对该主机进行记录。设置为NO时,如果允许的主机在登录时被认为可疑也不对该主机进行记录。在允许的主机范围外的主机可以登录全部会被记录。
HOSTNAME_LOOKUP=NO
是否对主机进行反向域名解析
LOCK_FILE = /var/lock/subsys/denyhosts
设置锁文件的位置,文件存在表示Denyhosts正在运行,保证每次只有一个实例运行
ADMIN_EMAIL =
管理员的邮箱,可设置多个,用逗号分隔
SMTP_HOST = stmp.qq.com
指定STMP服务器
SMTP_PORT = 25
指定SMTP服务器端口
SMTP_USERNAME=
指定登录SMTP服务器的用户名
SMTP_PASSWORD=
指定登录SMTP服务器的密码
SMTP_FROM = DenyHosts username@xxx.com
指定来源者,注意指定的邮箱要和前面SMTP服务器配置的认证的用户名相同
SMTP_SUBJECT = DenyHosts Report
指定邮件的主题
AGE_RESET_VALID=5d
如果在指定的时间内没有失败的登录尝试,此主机的失败计数重置为0。适用于除了root之外,所有有效用户(在/etc/passwd中)的登录尝试。如果没有定义,这个计数将永远不会重置
AGE_RESET_ROOT=25d
root用户的
AGE_RESET_RESTRICTED=25d
限制用户的
AGE_RESET_INVALID=10d
无效用户的
DAEMON_LOG = /var/log/denyhosts
denyhost服务日志
DAEMON_SLEEP = 30s
后台方式运行,每读取一次日志文件的时间间隔
DAEMON_PURGE = 1h
以后台方式运行时,清除机制HOSTS_DENY中终止旧条目的时间间隔
本文出自 “linuxjcq” 博客,请务必保留此出处http://linuxjcq.blog.51cto.com/3042600/717909
相关文章推荐
- 使用denyhost防止SSH暴力破解,保护你的linux
- 使用denyhost来防止ssh暴力破解
- 使用DenyHost工具有效阻止ssh暴力破解 推荐
- Linux 安装DenyHost防止ssh被暴力破解
- Linux 安装DenyHost防止ssh被暴力破解
- Linux 安装DenyHost防止ssh被暴力破解
- DenyHost防止SSH暴力破解
- linux下使用denyhosts防止ssh暴力破解
- 如何使用 fail2ban 防御 SSH 服务器的暴力破解攻击
- linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法
- Linux 利用hosts.deny 防止暴力破解ssh(转)
- Linux 利用hosts.deny 防止暴力破解ssh
- 使用Denyhost来阻止恶意连接SSH的IP
- 如何使用 fail2ban 防御 SSH 服务器的暴力破解攻击
- 如何使用 fail2ban 防御 SSH 服务器的暴力破解攻击
- 开源服务专题之------ssh防止暴力破解及fail2ban的使用方法
- Denyhost 安装配置,抵御暴力破解
- 使用DenyHosts 阻止SSH暴力破解
- 示使用relaxscan暴力破解SSH
- Linux----利用hosts.deny 防止暴力破解ssh