ubuntu部署fail2ban防止ssh暴力破解
ubuntu部署fail2ban防止ssh暴力破解
冰糖呼噜AI摘要
正在生成中……
安装 fail2ban
1 | sudo apt update |
配置 fail2ban
创建一个本地配置文件: 复制默认配置文件并创建本地配置文件:
1
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑本地配置文件: 编辑
/etc/fail2ban/jail.local
文件:1
sudo vim /etc/fail2ban/jail.local
在您的配置文件280行左右找到 [sshd] 的内容:
1
2
3
4
5
6
7
8[sshd]
enabled = true
port = ssh
filter = sshd
logpath = %(sshd_log)s
maxretry = 5
findtime = 10m
bantime = 24h
enabled
: 确保此项设为true
来启用对SSH服务的防护。port
: 默认应该是22,即SSH服务端口。filter
: 应该已经指向了用于分析SSH日志的过滤器,通常是sshd
。logpath
: 设置SSH日志文件路径,通常为/var/log/auth.log
或/var/log/secure
。maxretry
: 设置允许的最大失败登录尝试次数,默认可能为6次,可以根据需要减少。findtime
: 在指定的时间内达到最大尝试次数才会触发禁止,例如findtime = 10m
表示10分钟内。bantime
: IP被禁止访问的持续时间,例如bantime = 24h
将阻止IP地址24小时。
启动并设置开机自动启动Fail2ban
1
2
3sudo systemctl start fail2ban
sudo systemctl enable fail2ban
sudo systemctl status fail2ban
查看暴力破解尝试
通过日志查看:
您可以使用以下命令查看
/var/log/auth.log
日志文件中的暴力破解尝试:1
sudo grep "Failed password" /var/log/auth.log
这将显示所有登录失败的记录。
查看
fail2ban
日志:您可以通过查看
fail2ban
日志了解哪些IP被封禁:1
sudo cat /var/log/fail2ban.log
查看已屏蔽的IP地址列表
1
sudo fail2ban-client status sshd
设置密钥登录, 禁止密码登录
1. 制作秘钥对
首先登录到服务器后,在命令行输入命令:
出现提示一路回车到底即可,会生成2个文件,id_rsa(私钥) 和 id_rsa.pub(公钥)
1 | ssh-keygen |
2. 在服务器上安装公钥
在命令行输入一下命令确保公钥能够成功安装:
1 | cd ~/.ssh |
如此便完成了公钥的安装。
此外,为了确保连接成功,输入如下指令以保证以下文件权限正确:
1 | chmod 600 authorized_keys |
3. 配置SSH,打开秘钥登录功能
使用vim 编辑 /etc/ssh/sshd_config 文件
1 | sudo vim /etc/ssh/sshd_config |
然后按i
进入编辑模式,在空白位置输入:
1 | RSAAuthentication yes |
注意此处需要留意root 用户能否通过 SSH 登录, 如果需要进行如下设置:
1 | PermitRootLogin yes |
此处便已经设置好了使用秘钥登录了,但是如果需要禁用密码登录可以进行如下设置:
1 | PasswordAuthentication no |
这一步最好是在完成前面的全部设置,然后能够用秘钥登录的前提下设置,不然又不能用密码登录,秘钥又没法登录就尴尬了。 编辑完文本后按ESC
,:wq
保存文件并退出。
最后,输入如下指令重启 SSH 服务:
1 | service sshd restart |
将私钥导出,导入到本地windows下的ssh工具如finalshell使用即可。
评论
匿名评论隐私政策
TwikooWaline
✅ 你无需删除空行,直接评论以获取最佳展示效果