互联网安全:CentOS 7安装DenyHosts阻止SSH暴力攻击

2020-05-0210:10:13服务器及运维Comments3,792 views字数 2199阅读模式

vps主机的空间,尽量设置复杂的ssh登录密码,虽然在前段时间曾经介绍过Linux VPS禁止某个IP访问使用hosts.deny禁止某些IP访问,但是功能方面欠缺,如:不能自动屏蔽,那么有什么更好的办法吗,就可以使用denyhosts这款软件了,它会分析/var/log/secure(redhat,Fedora Core)等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

DenyHosts官方网站为:http://denyhosts.sourceforge.net/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

LNMP一件安装包中自带该软件可以一键安装,命令:wget http://soft.vpser.net/lnmp/lnmp1.4beta.tar.gz && tar zxf lnmp1.4beta.tar.gz && cd lnmp1.4/tools/ && ./denyhosts.sh 回车确认即可开始安装配置,不需要下面的步骤进行安装配置。(该tools目录下也有denyhosts相似的工具fail2ban的一键安装工具 ./fail2ban.sh 安装即可)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

1、下载DenyHosts 并解压文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

# wget http://soft.vpser.net/security/denyhosts/DenyHosts-2.6.tar.gz
# tar zxvf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

2、安装、配置和启动文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

安装前建议执行:echo "" > /var/log/secure && service rsyslog restart 清空以前的日志并重启一下rsyslog文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

# python setup.py install
因为DenyHosts是基于python的,所以要已安装python,大部分Linux发行版一般都有。默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

# cd /usr/share/denyhosts/
# cp denyhosts.cfg-dist denyhosts.cfg
# cp daemon-control-dist daemon-control文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详细的解释
接着使用下面命令启动denyhosts程序
# chown root daemon-control
# chmod 700 daemon-control
# ./daemon-control start文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

如果要使DenyHosts每次重起后自动启动还需做如下设置:
# ln -sf /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
# chkconfig --add denyhosts
# chkconfig --level 2345 denyhosts on
或者执行下面的命令加入开机启动,将会修改/etc/rc.local文件:
# echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

DenyHosts配置文件/usr/share/denyhosts/denyhosts.cfg说明:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

SECURE_LOG = /var/log/secure
#sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

HOSTS_DENY = /etc/hosts.deny
#控制用户登陆的文件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

PURGE_DENY = 5m
DAEMON_PURGE = 5m
#过多久后清除已经禁止的IP,如5m(5分钟)、5h(5小时)、5d(5天)、5w(5周)、1y(一年)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

BLOCK_SERVICE  = sshd
#禁止的服务名,可以只限制不允许访问ssh服务,也可以选择ALL文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

DENY_THRESHOLD_INVALID = 5
#允许无效用户失败的次数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

DENY_THRESHOLD_VALID = 10
#允许普通用户登陆失败的次数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

DENY_THRESHOLD_ROOT = 5
#允许root登陆失败的次数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

HOSTNAME_LOOKUP=NO
#是否做域名反解文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

DAEMON_LOG = /var/log/denyhosts文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

为防止自己的IP被屏蔽,可以:echo "你的IP" >>  /usr/share/denyhosts/allowed-hosts 将你的IP加入白名单,再重启DenyHosts:/etc/init.d/denyhosts ,如果已经被封,需要先按下面的命令删除被封IP后再加白名单。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

如有IP被误封,可以执行下面的命令解封:wget http://soft.vpser.net/security/denyhosts/denyhosts_removeip.sh && bash denyhost_removeip.sh 要解封的IP文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

更多的说明请查看自带的README文本文件,好了以后维护VPS就会省一些心了,但是各位VPSer们注意了安全都是相对的哦,没有绝对安全,将密码设置的更Strong,并请定期或不定期的检查你的VPS主机,而且要定时备份你的数据哦。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

与DenyHosts类似的软件还有fail2ban功能上更多,还可以对ftp进行保护,自己可以搜索看一下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/yunwei/18488.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/yunwei/18488.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定