首页 > 系统相关 >linux/centos使用fail2ban实现计次登录失败封禁其ip

linux/centos使用fail2ban实现计次登录失败封禁其ip

时间:2023-12-03 15:13:11浏览次数:32  
标签:计次 配置文件 centos ip sudo jail Fail2Ban local fail2ban

问题背景

使用命令 cat /var/log/secure 查询服务器登录记录,发现有ip在进行暴力破解

所以使用fail2ban进行ip限制,如果登录失败五次,则永久封禁其ip。

安装并配置fail2ban(来自ChatGPT)

下面是一份完整的Fail2Ban安装和配置,用于监视SSH服务并在登录失败5次时永久封锁相关IP的配置。

  1. 安装Fail2Ban:

    sudo yum install epel-release
    sudo yum install fail2ban
    
  2. 配置Fail2Ban:

    复制Fail2Ban的主配置文件:

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    

    编辑jail.local文件:

    sudo nano /etc/fail2ban/jail.local
    

    在文件末尾添加以下内容:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/secure
    maxretry = 5
    findtime = 86400
    bantime = -1
    

    这里的意思是:

    • enabled = true 启用这个规则。
    • port = ssh 监视SSH服务的端口。
    • filter = sshd 使用内置的sshd过滤器。
    • logpath = /var/log/secure 监视的日志文件路径。
    • maxretry = 5 登录失败的最大尝试次数。
    • findtime = 86400 封锁一个IP的时间窗口,单位是秒(这里是24小时)。
    • bantime = -1 表示永久封锁。
  3. 启动并启用Fail2Ban服务:

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    
  4. 检查Fail2Ban状态:

    sudo fail2ban-client status
    

封禁结果

或者查看Fail2Ban的日志文件:

sudo journalctl -u fail2ban

现在,Fail2Ban已经配置成在SSH登录失败5次时永久封锁相关的IP。请确保你的SSH服务监听的确切端口和日志路径与配置一致。配置文件中的参数根据实际需求进行调整。

为什么不能直接修改配置文件,而要复制一份

复制配置文件的目的是为了避免直接修改主配置文件,从而确保在将来系统或Fail2Ban软件包升级时不会覆盖你的自定义配置。当你升级软件包时,可能会替换掉默认的配置文件,但不会影响你自己创建的本地配置文件。

在Fail2Ban的配置中,主配置文件是jail.conf,而我们复制一份为jail.local,是因为jail.local中的配置会覆盖jail.conf中的相应配置。这就允许你在jail.local中定义自己的规则,而不必更改主配置文件。

如果直接在主配置文件上进行修改,那么在软件包升级时,你的修改可能会被覆盖,导致你的自定义配置丢失。通过使用jail.local,你可以确保你的自定义配置不会轻易丢失,因为它们存在于单独的文件中。

总的来说,复制配置文件的做法是为了更好地管理配置,避免在软件升级时出现问题。

标签:计次,配置文件,centos,ip,sudo,jail,Fail2Ban,local,fail2ban
From: https://www.cnblogs.com/obuw/p/17873215.html

相关文章

  • Docker运行centos7
    Docker安装centos7:步骤:1.使用Docker创建虚拟网络:#创建一个网段为192.168.0.0/24的虚拟网络,名字为centosNetdockernetworkcreate--subnet=192.168.0.0/24centosNet#查看dockernetworkls2.创建容器;#"--privileged=true"参数使得容器具有对主机系统设备和内......
  • CentOS7 无法执行systemctl status ntpd的原因及解决方法
    在CentOS7中,NTP的服务名为ntpd.service,如果出现Unitntpd.servicecouldnotbefound的错误,可能是由于NTP没有安装或未正确启动所致。你可以尝试以下步骤来解决此问题:首先,检查系统是否已经安装NTP。可以运行以下命令:rpm-qntp如果返回packagentpisnotinstall......
  • 检测判断IP合法性API接口
    一、检测判断IP合法性API接口一款免费的帮助你检测判断IP合法性API接口二、使用步骤1、接口重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议请求方式:POSThttps://luckycola.com.cn/weather/ipValidate2、请求参数序号参数是否必须说明......
  • java获取multipartfile的编码
    Java获取MultipartFile的编码在Java开发中,我们经常需要处理文件上传功能。Spring框架提供了MultipartFile接口来处理文件上传,它是对文件上传的封装,提供了一系列的方法来处理文件的内容、类型、大小等。在某些情况下,我们可能需要获取MultipartFile的编码信息,比如判断上传文件的编......
  • Javascript实现快速排序Quicksort
    "快速排序"的思想很简单,整个排序过程只需要三步:(1)在数据集之中,选择一个元素作为"基准"(pivot)。(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。代码实现......
  • Centos查看开放端口及端口号命令
    查看已开放的端口; firewall-cmd--list-ports查看端口是否被占用; netstat-tunpl|grep"端口"开放单个端口(开放后需要要重启防火墙才生效);firewall-cmd--zone=public--add-port=8080/tcp--permanent#(--permanent为永久生效,不加为单次有效(重启失效))开放......
  • 【游记】HE CSP-S&NOIP 游寄
    CSP-S\NOIP游寄我放假了,我马上就走,但是我先写个游寄(CSP-S只有复赛的,原因:再往前忘了(10.xx.23把锅巴惹了,然后他不让我训练了(悲我们实验二是这样的10.20.23落地qhd,终于回家力,特别开心我妈请TH的老师和学长学姐吃了螃蟹,但是全桌只有她自己会剥(?10.21.23没报J组,上午在......
  • 苹果iPhone因没有存储空间而死机和不断重启,重启白苹果黑底,恢复模式更新系统报错1110,解
    参考自:https://www.bilibili.com/video/BV1Mr4y1X7cT/?spm_id_from=333.337.search-card.all.click&vd_source=869b36c3961d4a89a184a469bc7589bb手机苹果iPhone,存储满,提示重启后白苹果,无法进入系统。操作方法:1、mac雷电接手机后,进入DFU,短按一下音量加键并松开,立刻再短按音量减......
  • [Codeforces] CF1659B Bit Flipping
    题面给定一个长为\(n\)的01串,你可以进行\(k\)次操作。每次操作中,你可以选择任意一位,并将除了这一位以外的其它位翻转(\(1\)变\(0\),\(0\)变\(1\)),输出\(k\)次操作后能获得的字典序最大的字符串,并输出每一位在操作中被选择的次数。若有多解输出任意一解。思路可以发现......
  • BUUCTF-pwn-rip(第一个栈溢出)
    这两天在学习pwn,在ctfwiki学习了典型的栈溢出,参考:https://ctf-wiki.org/pwn/linux/user-mode/stackoverflow/x86/stackoverflow-basic/在做题目的时候发现buuctf的rip和ctfwiki的示例题目一样,考的都是gets()方法的不限制输入首先,根据ctfwiki的描述,总结栈相关的知识:栈在......