部署新VPS,拿到管理员帐号登录之后第一件做的事情是改密码,改端口,禁用root。因为知道网上有大量的机器人在游荡,寻找默认端口,弱口令的VPS。
今天在服务器上翻了一下登录日志发现依然有不少的登录尝试。其实并不意外,因为改端口也是防止不了端口扫描的,一旦被扫描出来,后面又是一堆暴力破解的尝试。而fail2ban就是一个防止暴力破解的一个手段。它的运作逻辑很简单:登录尝试失败超过一定数量后,会封掉尝试登录的IP一段时间,让尝试破解的黑客付出超长的时间代价,大多数黑客会因此放弃,因为划不来。
安装配置的过程很简单。
1、安装 fail2ban。
sudo apt update
sudo apt install fail2ban
2、添加配置。
2.1、如果你的端口没改过,还是默认的22的话,那么启动fail2ban服务之后应该就可以了。
sudo service fail2ban start
2.2、如果要改成自定义端口号,只需要改一下默认的配置就行。
# 复制配置配置文件,local文件的配置会覆盖默认conf文件的配置。
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
#编辑local配置文件
sudo vim /etc/fail2ban/jail.local
在配置文件里找到 [sshd] 节点,把 port属性改成需要的端口号。
[sshd]
port=1234
然后启动服务就行。
sudo service fail2ban start
在 /var/log/fail2ban.log 可以看到fail2ban的操作和屏蔽记录。
fail2ban 本质是通过分析软件的日志来判断是否登录成功和尝试次数的,内置了很多常用工具的日志的分析规则,像mysql、nginx等,在 fileter目录下,可以看一下。