Tag: fail2ban

目次

関連ページ

参考情報

概要

  • 不正なアクセスを自動で弾くサーバー用設定。
  • 不正な条件に合致したタイミングでiptablesやufwに除外ルールを追加することで実現。

インストール

  • Ubuntu 20.04の場合
    sudo apt install fail2ban
  • インストールで自動起動が有効になる(?)

設定

基本設定

  • 設定ファイルの上書きを防ぐため「jail.local」を作成 する。
  • デフォルトのbanactionを変更。
    #banaction = iptables-multiport
    banaction = ufw
    

apacheで403/404アクセスを除外する

jail.localの編集

  • jail.localの末尾に追加。
    [apache-403]
    enabled = true
    filter = apache-403
    logpath = /var/log/apache2/access.log
    action = ufw
    maxretry = 10
    findtime = 30
    bantime = 1800
    
    [apache-404]
    enabled = true
    filter = apache-404
    logpath = /var/log/apache2/access.log
    action = ufw
    maxretry = 10
    findtime = 30
    bantime = 1800
    

フィルターの作成

  • failregexに合致する文字列がlogに含まれているかどうか。
  • /etc/fail2ban/filter.d/apache-403.confを作成
    [Definition]
    failregex =  ^<HOST>.*"(GET|POST).*" 403 .*$                      # フィルター
    ignoreregex = 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 # ホワイトリスト
    
  • /etc/fail2ban/filter.d/apache-404.confを作成
    [Definition]
    failregex =  ^<HOST>.*"(GET|POST).*" 403 .*$                      # フィルター
    ignoreregex = 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 # ホワイトリスト
    

apache-badbots: 悪いロボットを除外する

jail.localの編集

  • jail.localを編集する。
    [apache-badbots]
    ## Ban hosts which agent identifies spammer robots crawling the web
    ## for email addresses. The mail outputs are buffered.
    enabled = true
    filter = apache-badbots
    port     = http,https
    logpath  = /var/log/apache2/access.log
    action = ufw
    bantime  = 48h
    maxretry = 1
    

フィルターの変更

  • /etc/fail2ban/filter.d/apache-badbots.confを編集。failregexは初期状態だと最後のUserAgentに完全一致になっている。".*"を前後に追加して部分一致で良くする(そのかわり過剰にマッチしないか気にしないとイケない)。
    [Definition]
    #failregex = ^<HOST>.*"(GET|POST|HEAD).*HTTP.*"(?:%(badbots)s|%(badbotscustom)s).*"$
    failregex = ^<HOST>.*"(GET|POST|HEAD).*HTTP.*".*(?:%(badbots)s|%(badbotscustom)s).*"$
    
    ignoreregex =
    
    datepattern = ^[^\[]*\[({DATE})
                  {^LN-BEG}
    

ログローテーション

  • ubuntuだと一応デフォルトでログローテーションが有効になっている。
  • そのままにしておく。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-07-16 (金) 15:15:30