当我们准备和已经开始使用VPS/服务器存储网站项目的时候,必须要会做的两件事情就是数据的安全需要定时的备份数据以防止数据丢失,其次就需要维护VPS/服务器的安全,检查和确保不被有无缘无疑的攻击行为。因为大部分时候的攻击导致VPS不稳定或者宕机,不是同行的恶意行为,而是我们的VPS设置的不够安全且没有防护措施,有些软件的自动扫描也会导致VPS被攻击。
我们可以在VPS初始搭建环境的时候直接设置做好防护措施,也可以检测到异常的时候再去解决问题。在部落之前的文章中,也有分享过不少的关于VPS的安全问题。
Linux VPS安全设置 – 设置Fail2ban与DDoS Deflate防止暴力破解
Linux VPS安全设置 – 修改端口,禁止ROOT用户登陆以及使用SSH密钥登陆
XSHELL等SSH工具启用密钥登陆让Linux VPS主机用户更安全
最为基础的就是我们设置的SSH端口和密码不能用默认的且需要经常的修改和使用较为复杂的密码。因为有些SSH端口扫描软件会自动的进行扫描,如果我们的端口和口令比较弱,可能就直接被中标。在解决这些问题的时候,我们可以用到一些监控软件进行控制,如果有来自某个可疑IP的扫描,我们可以手工进行屏蔽。
但是,最好的方法肯定是用到DenyHosts进行自动屏蔽。在这篇文章中,将会整理与大家一起学习如何安装DenyHosts设置自动的可疑IP扫描SSH端自动屏蔽。
第一、DenyHosts安装以及工作原理
wget https://soft.itbulu.com/tools/DenyHosts-2.6.tar.gz
tar -zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
登录当前VPS主机SSH之后,我们进行上述的下载和进入DenyHosts配置目录。其实DenyHosts工具的功能就是自动的将分析日志可疑的重复的IP地址,然后进行自动添加到/etc/hosts.deny进行屏蔽。
第二、配置和安装DenyHosts
echo “” > /var/log/secure && service rsyslog restart
在执行安装之前,我们需要先清空/var/log/secure文件,重启日志,这样确保后面的文件是新的。
#安装
python setup.py install
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control
#启动
chown root daemon-control
chmod 700 daemon-control
./daemon-control start
#自动启动设置
ln -sf /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
chkconfig –add denyhosts
chkconfig –level 2345 denyhosts on
#我们也可以设置开机启动
echo “/usr/share/denyhosts/daemon-control start” >> /etc/rc.local
第三、DenyHosts配置说明
我们在设置DenyHosts的时候,如果我们看不明白那就自动系统设置,如果想自定义设置/usr/share/denyhosts/denyhosts.cfg。
以上的截图只是部分界面,我们需要看里面的配置参数。
#多久接触禁止5M(分钟)
PURGE_DENY = 5m
#禁止的服务名
BLOCK_SERVICE = sshd
#允许无效用户登录失败次数
DENY_THRESHOLD_INVALID = 5
#允许普通用户登陆失败次数
DENY_THRESHOLD_VALID = 10
#允许root登陆失败的次数
DENY_THRESHOLD_ROOT = 5
第四、白名单设置
因为有些时候我们本地自己的登录次数激发屏蔽,我们自己也被限制,那如何设置自己的白名单和解除限制呢?
echo “我们自己的IP” >> /usr/share/denyhosts/allowed-hosts
这样进行设置白名单。设置之后我们再执行/etc/init.d/denyhosts重启生效。
总之,DenyHosts使用的前提是我们自己的VPS/服务器的端口和密码要进行加强修改,基础的保障之后这些再用上会更加安全一点。有些时候我们端口和密码设置复杂且经常变化,都不需要使用这些工具。