【转】iptables + Denyhost抵御暴力破解

转自:http://www.zhengdazhi.com/archives/563

1、使用iptables 现在每分钟连接ssh的次数

允许本地环回接口访问

iptables -A INPUT -i lo -j ACCEPT

对已经建立的所有链接都放行

iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT

每分钟对ssh的新连接只允许两个,已建立的连接不限制

iptables -A INPUT -p tcp –dport 22 -m limit –limit 2/minute –limit-burst 2 -m state –state NEW -j ACCEPT

添加默认策略拒绝所有

iptables -P INPUT DROP

 

2、使用Denyhost 对错误的ssh密码的ip进行拒绝访问

下载denyhost http://sourceforge.net/projects/denyhosts/files/

安装denyhost

tar -zxvf DenyHosts-2.6.tar.gz   
cd DenyHosts-2.6
python setup.py install                                                    #安装DenyHosts
cd /usr/share/denyhosts/                                                #默认安装路径
cp denyhosts.cfg-dist denyhosts.cfg                                #denyhosts.cfg为配置文件
cp daemon-control-dist daemon-control                        #daemon-control为启动程序
chown root daemon-control                                           #添加root权限
chmod 700 daemon-control                                            #修改为可执行文件
ln -s /usr/share/denyhosts/daemon-control /etc/init.d     #对daemon-control进行软连接,方便管理
/etc/init.d/daemon-control start          #启动denyhosts
chkconfig daemon-control on             #将denghosts设成开机启动

配置denyhost

vim /usr/share/denyhosts/denyhosts.cfg
HOSTS_DENY = /etc/hosts.deny                 #控制用户登陆的文件
PURGE_DENY = 30m                                  #过多久后清除已经禁止的,设置为30分钟;
BLOCK_SERVICE = sshd                           #禁止的服务名,当然DenyHost不仅仅用于SSH服务
DENY_THRESHOLD_INVALID = 1             #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 5                 #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 5                 #允许root登陆失败的次数
DAEMON_LOG = /var/log/denyhosts      #DenyHosts日志文件存放的路径,默认

更改DenyHosts的默认配置之后,重启DenyHosts服务即可生效: 

/etc/init.d/daemon-control restart         #重启denyhosts

 

posted on 2016-05-12 10:18  kenk  阅读(258)  评论(0编辑  收藏  举报

导航