1. denyhost 简介及ssh安全
对外提供的服务器,每天都会被恶意扫描,试图暴力穷举密码,达到入侵的目的。从而控***务器,占用资源、网页挂马、垃圾广告、更会影响我们业务的正常使用和数据的安全。
所以:
第一 设置一个强密码是很有必要的(基于字典和纯数字是十分不理智的)
第二当有人恶意扫描是使用denyhost此类软件拒绝服务;
第三 使用其他技术手段,如虚拟IP等;
第四 有些硬件防火墙也有此类功能;
第五 关闭不必要的服务和端口
denyhost是python写的一个开源程序,当发现重复攻击时会被自动记录到/etc/hosts.deny中,达到自动屏蔽IP的功能(忘记密码多次登陆,也会被拒绝登陆。在此登陆只能确定密码,更换IP)。目前只支持支持tcp wrapper的协议
dengyhost官网:http://denyhosts.sourceforge.net/
下载地址:
http://nchc.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz
2. 安装denyhost并配置开机启动
2.1环境介绍:centos 6.4 x64_86 python 2.6.6 denyhost-2.6
2.2 下载denyhost
#wget http://nchc.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz
2.3 解压安装
#tar zxvf DenyHosts-2.6.tar.gz #cd DenyHosts-2.6 #pythonsetup.py install |
2.4 配置开机启动
#cd /usr/share/denyhosts/ #cp daemon-control-dist daemon-control –a #chown root daemon-control #chmod 755daemon-control #ln –s /usr/share/denyhosts/daemon-control /etc/init.d/denyhost #chkconfig denyhost on |
3 配置及启动
denyhost的配置还是比较简单的,参数在配置文档中也有详细的说明。官方提供的REDME,也不错
#cd /usr/share/denyhosts/ #cp denyhosts.cfg-dist denyhosts.cfg -a #cat denyhosts.cfg |
SECURE_LOG = /var/log/secure 系统登陆日志,BSD和suse不要用默认
HOSTS_DENY = /etc/hosts.deny 拒绝IP登陆配置文件,所以这个工具只支持 支持tcp wrapper的协议
PURGE_DENY = 5d 拒绝时间,当一个ip地址被认定为恶意IP时,拒绝再次登陆的时间
PURGE_THRESHOLD = 5 主机被清除的次数既当一个主机被拒绝登陆后,系统清除,再次恶意攻击,在此拒绝登陆。如初反复拒绝后,不在清除此IP的次数
BLOCK_SERVICE = sshd 协议类型,默认SSHD
DENY_THRESHOLD_INVALID = 5 允许无效用户登录的次数
DENY_THRESHOLD_VALID = 10 允许其他用户登陆的次数
DENY_THRESHOLD_root = 6 允许其他ROOT用户登录的次数
DENY_THRESHOLD_RESTRICTED = 20 拒绝主机的次数
HOSTNAME_LOOKUP=YES 是否做域名解析
配置完成后,启动服务
# service denyhost restart