技术知识库

帮助中心 >  产品文档 >  云服务器 >  iptables+Denyhost抵御暴力破解

iptables+Denyhost抵御暴力破解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://www.landui.com/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


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: