因为,如果有恶意或者各种工具对我们账户进行尝试登录,也就是所谓的破解,即便不能知道密码,但势必频率较大的尝试对于我们服务器也是有影响的,也就我们所谓的攻击VPS行为。对于大范围、强度的攻击,我们基础的软防护是没有多大效果的,只能采用硬防措施。但是,我们无冤无仇的,也没有多少恶意的被攻击,我们采用简单的软防护应该可以了,有些时候的攻击是因为有软件自动扫描过来的。
如果您的VPS基础安全还没有设置,可以参考下面的文章:
Linux VPS安全设置 - 修改端口,禁止ROOT用户登陆以及使用SSH密钥登陆
XSHELL等SSH工具启用密钥登陆让Linux VPS主机用户更安全
在这篇文章中,老蒋继续分享采用设置Fail2ban与DDoS Deflate工具,可以简单的防止暴力破解。
第一、Fail2ban安装与设置
A - 安装Fail2ban
因为可能非人为主动的行为,而是有些时候被软件自动扫描我们的SSH入口、FTP尝试破解等行为,我们可以采用Fail2ban进行频率限制,如果登录尝试多少次的IP地址,然后给予限制。
> #CentOS
> yum install epel-release
> yum install fail2ban
> #Debian/Ubuntu
> apt-get install fail2ban
安装完毕之后,我们看看说明,配置目录为/etc/fail2ban
> /etc/fail2ban/action.d #动作文件夹,内含默认文件。iptables以及mail等动作配置
> /etc/fail2ban/fail2ban.conf #定义了fai2ban日志级别、日志位置及sock文件位置
> /etc/fail2ban/filter.d #条件文件夹,内含默认文件,过滤日志关键内容设置
> /etc/fail2ban/jail.conf #主要配置文件,模块化,主要设置启用ban动作的服务及动作阀值
> /etc/rc.d/init.d/fail2ban #启动脚本文件
B- 配置Fail2ban
在/etc/fail2ban/jail.conf文件中,我们可以配置文件。

> [DEFAULT] #全局设置
> ignoreip = 127.0.0.1 #忽略的IP列表,不受设置限制(白名单)
> bantime = 600 #屏蔽时间,单位:秒
> findtime = 600 #这个时间段内超过规定次数会被ban掉
> maxretry = 3 #最大尝试次数
> backend = auto #日志修改检测机制(gamin、polling和auto这三种)
> [ssh-iptables] #针对各服务的检查配置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置
> enabled = true #是否激活此项(true/false)
> filter = sshd #过滤规则filter的名字,对应filter.d目录下的sshd.conf
> action = iptables[name=SSH, port=ssh, protocol=tcp] #动作的相关参数
> sendmail-whois[name=SSH, dest=root, [email protected]] #触发报警的收件人
> logpath = /var/log/secure #检测的系统的登陆日志文件
> maxretry = 5 #最大尝试次数
启动的时候需要把前面#去掉,然后对应参数的设置。使用service fail2ban start启动服务。
第二、DDoS Deflate安装与配置
A - DDoS Deflate安装
> wget http://www.inetbase.com/scripts/ddos/install.sh
> chmod +x install.sh
> ./install.sh
> #如果需要卸载卸载
> wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
> chmod +x uninstall.ddos
> ./uninstall.ddos
B - DDoS Deflate配置应用
设置文件在 /usr/local/ddos/ddos.conf ,我们就编辑里面的设置。

我们可以根据上面的配置备注修改自己需要的参数。
总结,当前文章老蒋有整理和分享到Fail2ban与DDoS Deflate两款软防护的利用。在一定程度上可以减轻服务器的负担。如果有遇到大量的攻击还是需要使用硬防的,基本上我们不结仇是没有问题的,一般的人也不会这么无聊。