欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

linux服务器下通过iptables+Denyhost抵御暴力破解的配置方法

程序员文章站 2023-10-27 22:19:34
使用iptables 现在每分钟连接ssh的次数 #允许本地环回接口访问 iptables -a input -i lo -j accept #对已经建立的所有链...

使用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

使用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

转自:http://www.zhengdazhi.com/?p=563