ubuntu安装配置fail2ban

Fail2Ban概述

Fail2Ban是一种用于防止暴力破解攻击的安全工具,它通过监控系统的日志文件(如 /var/log/auth.log)来检测异常的登录尝试,并自动将可疑的IP地址加入黑名单,从而阻止其进一步的访问请求。

Fail2Ban的工作原理

  1. 日志监控:Fail2Ban持续监控指定的日志文件,寻找失败的登录尝试记录。
  2. 规则匹配:根据预设的规则(如连续失败的次数和时间间隔),Fail2Ban识别出潜在的恶意IP地址。
  3. 自动封禁:一旦某个IP地址被判定为可疑,Fail2Ban会更新防火墙规则,暂时禁止该IP地址的访问。
  4. 解封机制:封禁通常是有时限的,过了设定时间后,Fail2Ban会自动解除对该IP的封禁。

Fail2Ban的配置灵活性

  • 支持多种服务:Fail2Ban默认支持多种常见服务的日志分析,如SSH、Apache、FTP等。
  • 自定义规则:用户可以根据需要自定义监控的日志文件和封禁规则,以适应特定的安全需求。

安装

  • 更新软件源(可选步骤)

     sudo apt update && apt upgrade
    
  • 安装

    sudo apt install fail2ban
    
  • 启动服务并设置开机自动启动

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

配置

Fail2Ban的主要配置文件位于 /etc/fail2ban 目录下。关键的配置文件包括:

  • jail.confjail.local文件:这个是主要的配置文件,用于定义各种jail的设置,如SSHApachNginx等,并包含该服务的监控规则、封禁时间等参数。
  • action.d/:该目录包含各种定义的action,这写action定义了在遇到攻击时需要采取的措施。如更新防火墙规则等。
  • filter.d/:该目录包含各种过滤器的定义文件,这些过滤器用于从日志文件中提取出攻击模式。

配置示例

  • 复制配置文件,避免直接修改默认配置文件jail.conf

    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    sudo vim /etc/fail2ban/jail.local
    
  • 找到对应的 [sshd] 部分,修改配置为如下内容

    [sshd]
    enable  = true
    port    = 22
    maxretry= 5				# 在指定过滤时间内最大重试次数
    findtime= 600			# 间隔时间,单位为 s
    bantime = 43200			# 封禁时间,单位为 s
    logpath = %(auth_log)s  # 日志路径(Ubuntu 默认为 /var/log/auth.log)
    backend = %(sshd_backend)s
    

重启并验证服务

  • 重新加载配置

    sudo systemctl reload fail2ban
    
  • 通过 fail2ban-client 查看服务状态

    sudo fail2ban-client status sshd
    
  • 监控日志位置 /var/log/fail2ban.log

fail2ban-client 常用指令

  • 查看 Fail2Ban 状态

    sudo fail2ban-client status
    
  • 查看指定 jail 状态:

    sudo fail2ban-client status <jail-name>
    
  • 启动/停止/重启指定 jail

    sudo fail2ban-client start <jail-name>
    sudo fail2ban-client stop <jail-name>
    sudo fail2ban-client restart <jail-name>
    
  • 添加/移除指定IP地址

    sudo fail2ban-client set <jail-name> banip <ip-address>
    sudo fail2ban-client set <jail-name> unbanip <ip-address>
    

你可能感兴趣的:(Linux,ubuntu,linux,运维)