linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法
使用iptables现在每分钟连接ssh的次数
#允许本地环回接口访问
iptables-AINPUT-ilo-jACCEPT
#对已经建立的所有链接都放行
iptables-AINPUT-mstate–stateESTABLISHED-jACCEPT
#每分钟对ssh的新连接只允许两个,已建立的连接不限制
iptables-AINPUT-ptcp–dport22-mlimit–limit2/minute–limit-burst2-mstate–stateNEW-jACCEPT
#添加默认策略拒绝所有
iptables-PINPUTDROP
使用Denyhost对错误的ssh密码的ip进行拒绝访问
下载denyhosthttp://sourceforge.net/projects/denyhosts/files/
安装denyhost
tar-zxvfDenyHosts-2.6.tar.gz cdDenyHosts-2.6 pythonsetup.pyinstall#安装DenyHosts cd/usr/share/denyhosts/#默认安装路径 cpdenyhosts.cfg-distdenyhosts.cfg#denyhosts.cfg为配置文件 cpdaemon-control-distdaemon-control#daemon-control为启动程序 chownrootdaemon-control#添加root权限 chmod700daemon-control#修改为可执行文件 ln-s/usr/share/denyhosts/daemon-control/etc/init.d#对daemon-control进行软连接,方便管理 /etc/init.d/daemon-controlstart#启动denyhosts chkconfigdaemon-controlon#将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-controlrestart#重启denyhosts
转自:http://www.zhengdazhi.com/?p=563