解决云服务器被尝试登陆问题:There were 938 failed login attempts since the last successful login.

解决云服务器被尝试登陆问题

问题:云服务器被扫描和攻击

登陆时发现会出现有别的ip尝试登陆服务器

Last failed login: Thu Nov  3 07:02:33 CST 2022 from 117.156.64.16 on ssh:notty
There were 938 failed login attempts since the last successful login.
Last login: Mon Oct 31 09:13:57 2022 from xxx.xxx.xxx.xxx

网上搜了一下大佬们的处理方法有几种:

  1. 禁用密码登陆改用ssh登陆生成公钥和密钥(参考
  2. 使用fail2ban
  3. 修改安全组做、ip白名单、改端口(很简单去云服务器改一下就行了)

我这里选择用fail2ban试试,没接触过,所以接触一下新事物

fail2ban

软件简介

Fail2ban 扫描系统日志文件,例如 /var/log/pwdfail or /var/log/apache/error_log 并从中找出多次尝试登录失败的 IP 地址,并将该 IP 地址加入防火墙的拒绝访问列表中。它通过更新系统的防火墙规则,拒绝来自这些 IP 地址的新连接。Fail2Ban 开箱即用,可以读取许多标准的日志文件,如 sshd 和 Apache 的日志文件,也可以轻松配置为读取任何你选择的日志文件。

使用

安装

yum -y install fail2ban

开机启动

sudo systemctl enable fail2ban

fail2ban安装后有两个程序,fail2ban-serverfail2ban-client,对应的主配置文件是fail2ban.confjail.conf。本次主要是修改 fail2ban-client配置。

fail2ban的.conf配置文件都是可以被.local覆盖,所以配置方式建议是添加.local文件,不修改原来的配置文件。

修改配置
  1. cd /etc/fail2ban

  2. sudo cp fail2ban.conf fail2ban.local

  3. sudo cp jail.conf jail.local

  4. sudo vim jail.local

  5. 在 sshd 加上 enabled = true

    img

  6. sudo vim fail2ban.local

  7. 定位到最后一行,添加如下内容

    [sshd]
    enable = ture
    port = 22   # 注意改成自己对应的ssh端口
    filter =sshd
    
    # CentOS
    
    logpath = /var/log/secure
    
    maxretry = 5   # 最大尝试次数
    bantime = 60 #封禁时间,单位s。-1为永久封禁
    
保存配置
sudo systemctl restart fail2ban  #重启
sudo fail2ban-client status #查看状态
sudo fail2ban-client status sshd #查看sshd的详细状态
测试

没什么好说的,测完把自己给封了

在这里插入图片描述

在这里插入图片描述

好在我设置的是60s

如果真的把自己封了,去控制台免密登录一下查看是不是真的被封了

// 解鎖 
# fail2ban-client set sshd unbanip 要解鎖的 IP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清尘丿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值