ブロックリスト自動生成その3(素人のサーバー管理)

自動生成プログラムの機能はオプション‘-h’を付けると確認することが出来る。この辺は普通のコマンドラインプログラムっぽく作ってみました。

root@xxx:~# blockset.py -h
usage: blockset.py [-h] [-n] [-f] [-d] [-u] [-o MASK,COUNT] [-c COUNT] [-a ADDRESS] [logfile]

blockset.py collection of unauthorized access list and restart firewall(ufw)

positional arguments:
  logfile               input log file default:/var/log/mail.log

optional arguments:
  -h, --help            show this help message and exit
  -n, --none            Check only mode.
  -f, --force           bloclist force update, unless new record.
  -d, --debug           debug print mode
  -u, --update          blocklist update and restart firewall(ufw)
  -o MASK,COUNT, --orderck MASK,COUNT
                        ipset order ckeck
  -c COUNT, --count COUNT
                        abuse count
  -a ADDRESS, --address ADDRESS
                        individually address entry to blacklist
root@xxx:~#

  • -h(–help)
    ヘルプの表示、引数やコマンドラインオプション説明
  • -n(–none)
    ログファイルの検査のみで何もしない
  • -f(–foce)
    ログの検査で不正アクセスが無かった場合でも、ファイヤーウォール設定ファイルへのブロックリスト追加を続行する(ネットマスクによるリスト整理時に使用する)
  • -u(–upadte)
    ファイヤーウォール設定ファイルの更新とプロセスリスタートを行う
  • -o MASK,COUNT (–oderck MASK,COUNT)
    ブロックリストを再検査し、指定したマスクビットにてグループ化して、一定数以上のものをリストアップする。-fオプションで該当アドレスをマスクビットでまとめてファイヤーウォール設定ファイルを更新する、ファイヤーウォールの再起動には-uオプションを併用する
  • -c N(–count N)
    検査対象ログにて不正アクセスがN回以上あった場合にリストアップする
  • -a ADDRESS(–address ADDRESS)
    IPアドレスを直接指定して登録する、ログ検査と併用する仕様上、便宜的に100回不正アクセスがあったことにしている
続きを読む…