现在的互联网非常不安全,很多人没事就拿一些扫描机扫描ssh端口,然后试图连接ssh端口进行暴力破解(穷举扫描),所以建议vps主机的空间,尽量设置复杂的ssh登录密码。
国内排名前三的云主机安全措施还可以,已经设置了防火墙,基本不需要自行安装ssh防暴利破解的软件
如果云主机或vps服务器的安装不到位,请自行安装使用denyhosts,它会分析/var/log/secure(redhat,Fedora Core)等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。
LNMP一件安装包中自带该软件可以一键安装,工具安装脚本位置/root/lnmp1.4/tools(lnmp1.x中的x根据你安装的版本修改)
进入tools目录后,执行./denyhosts.sh 回车确认即可开始安装配置,不需要下面的步骤进行安装配置。(该tools目录下也有denyhosts相似的工具fail2ban的一键安装工具 ./fail2ban.sh 安装即可)
若你不是安装的lnmp,请至官方网站下载后安装即可,DenyHosts官方网站为:http://denyhosts.sourceforge.net/
安装、配置和启动(若是lnmp自动脚本不需要进行下面的步骤,自行安装时参考)
安装前建议执行:echo “” > /var/log/secure && service rsyslog restart 清空以前的日志并重启一下rsyslog
1 | # python setup.py install |
因为DenyHosts是基于python的,所以要已安装python,大部分Linux发行版一般都有。默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件
1 2 3 | # cd /usr/share/denyhosts/ # cp denyhosts.cfg-dist denyhosts.cfg # cp daemon-control-dist daemon-control |
默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详细的解释
接着使用下面命令启动denyhosts程序
1 2 3 | # chown root daemon-control # chmod 700 daemon-control # ./daemon-control start |
如果要使DenyHosts每次重起后自动启动还需做如下设置:
1 2 3 | # ln -sf /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts # chkconfig --add denyhosts # chkconfig --level 2345 denyhosts on |
或者执行下面的命令加入开机启动,将会修改/etc/rc.local文件:
1 | # echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local |
DenyHosts配置文件/usr/share/denyhosts/denyhosts.cfg说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | SECURE_LOG = /var/log/secure #sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。 HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件 PURGE_DENY = 5m DAEMON_PURGE = 5m #过多久后清除已经禁止的IP,如5m(5分钟)、5h(5小时)、5d(5天)、5w(5周)、1y(一年) BLOCK_SERVICE = sshd #禁止的服务名,可以只限制不允许访问ssh服务,也可以选择ALL DENY_THRESHOLD_INVALID = 5 #允许无效用户失败的次数 DENY_THRESHOLD_VALID = 10 #允许普通用户登陆失败的次数 DENY_THRESHOLD_ROOT = 5 #允许root登陆失败的次数 HOSTNAME_LOOKUP=NO #是否做域名反解 DAEMON_LOG = /var/log/denyhosts |
为防止自己的IP被屏蔽,可以:echo “你的IP” >> /usr/share/denyhosts/allowed-hosts 将你的IP加入白名单,再重启DenyHosts:/etc/init.d/denyhosts ,如果已经被封,需要先按下面的命令删除被封IP后再加白名单。
如有IP被误封,可以执行下面的命令解封:wget http://soft.vpser.net/security/denyhosts/denyhosts_removeip.sh && bash denyhost_removeip.sh 要解封的IP
更多的说明请查看自带的README文本文件,好了以后维护VPS就会省一些心了,但是各位VPSer们注意了安全都是相对的哦,没有绝对安全,将密码设置的更Strong,并请定期或不定期的检查你的VPS主机,而且要定时备份你的数据哦。
与DenyHosts类似的软件还有fail2ban,在tools目录下已有安装脚本。
评论0