From c989d5e1ac66991707a0f3f1e335a310320c652c Mon Sep 17 00:00:00 2001 From: denis Date: Tue, 24 Sep 2024 14:03:00 +0200 Subject: [PATCH] first commit --- .gitattributes | 223 ++++++++++++++++++ README.md | 19 ++ fail2ban/action.d/f2b-iptables-allports.conf | 71 ++++++ fail2ban/action.d/f2b-iptables-multiport.conf | 82 +++++++ .../action.d/f2b-mqtt-action-publisher.conf | 14 ++ .../action.d/f2b_mqtt_action_publisher.py | 59 +++++ fail2ban/filters.d/ban.conf | 17 ++ fail2ban/filters.d/multiban.conf | 16 ++ fail2ban/filters.d/portscan.conf | 26 ++ fail2ban/jail-example.local | 29 +++ requirement.txt | 2 + 11 files changed, 558 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 fail2ban/action.d/f2b-iptables-allports.conf create mode 100644 fail2ban/action.d/f2b-iptables-multiport.conf create mode 100644 fail2ban/action.d/f2b-mqtt-action-publisher.conf create mode 100644 fail2ban/action.d/f2b_mqtt_action_publisher.py create mode 100644 fail2ban/filters.d/ban.conf create mode 100644 fail2ban/filters.d/multiban.conf create mode 100644 fail2ban/filters.d/portscan.conf create mode 100644 fail2ban/jail-example.local create mode 100644 requirement.txt diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1516e0b --- /dev/null +++ b/.gitattributes @@ -0,0 +1,223 @@ +## GITATTRIBUTES FOR WEB PROJECTS +# +# These settings are for any web project. +# +# Details per file setting: +# text These files should be normalized (i.e. convert CRLF to LF). +# binary These files are binary and should be left untouched. +# +# Note that binary is a macro for -text -diff. +###################################################################### + +# Auto detect +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto + +# Source code +*.bash text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf +*.coffee text +*.css text diff=css +*.htm text diff=html +*.html text diff=html +*.inc text +*.ini text +*.js text +*.mjs text +*.cjs text +*.json text +*.jsx text +*.less text +*.ls text +*.map text -diff +*.od text +*.onlydata text +*.php text diff=php +*.pl text +*.ps1 text eol=crlf +*.py text diff=python +*.rb text diff=ruby +*.sass text +*.scm text +*.scss text diff=css +*.sh text eol=lf +.husky/* text eol=lf +*.sql text +*.styl text +*.tag text +*.ts text +*.tsx text +*.xml text +*.xhtml text diff=html + +# Docker +Dockerfile text + +# Documentation +*.ipynb text eol=lf +*.markdown text diff=markdown +*.md text diff=markdown +*.mdwn text diff=markdown +*.mdown text diff=markdown +*.mkd text diff=markdown +*.mkdn text diff=markdown +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text + +# Templates +*.dot text +*.ejs text +*.erb text +*.haml text +*.handlebars text +*.hbs text +*.hbt text +*.jade text +*.latte text +*.mustache text +*.njk text +*.phtml text +*.svelte text +*.tmpl text +*.tpl text +*.twig text +*.vue text + +# Configs +*.cnf text +*.conf text +*.config text +.editorconfig text +.env text +.gitattributes text +.gitconfig text +.htaccess text +*.lock text -diff +package.json text eol=lf +package-lock.json text eol=lf -diff +pnpm-lock.yaml text eol=lf -diff +.prettierrc text +yarn.lock text -diff +*.toml text +*.yaml text +*.yml text +browserslist text +Makefile text +makefile text +# Fixes syntax highlighting on GitHub to allow comments +tsconfig.json linguist-language=JSON-with-Comments + +# Heroku +Procfile text + +# Graphics +*.ai binary +*.bmp binary +*.eps binary +*.gif binary +*.gifv binary +*.ico binary +*.jng binary +*.jp2 binary +*.jpg binary +*.jpeg binary +*.jpx binary +*.jxr binary +*.pdf binary +*.png binary +*.psb binary +*.psd binary +# SVG treated as an asset (binary) by default. +*.svg text +# If you want to treat it as binary, +# use the following line instead. +# *.svg binary +*.svgz binary +*.tif binary +*.tiff binary +*.wbmp binary +*.webp binary + +# Audio +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 binary +*.ogg binary +*.ra binary + +# Video +*.3gpp binary +*.3gp binary +*.as binary +*.asf binary +*.asx binary +*.avi binary +*.fla binary +*.flv binary +*.m4v binary +*.mng binary +*.mov binary +*.mp4 binary +*.mpeg binary +*.mpg binary +*.ogv binary +*.swc binary +*.swf binary +*.webm binary + +# Archives +*.7z binary +*.gz binary +*.jar binary +*.rar binary +*.tar binary +*.zip binary + +# Fonts +*.ttf binary +*.eot binary +*.otf binary +*.woff binary +*.woff2 binary + +# Executables +*.exe binary +*.pyc binary +# Prevents massive diffs caused by vendored, minified files +**/.yarn/releases/** binary +**/.yarn/plugins/** binary + +# RC files (like .babelrc or .eslintrc) +*.*rc text + +# Ignore files (like .npmignore or .gitignore) +*.*ignore text + +# Prevents massive diffs from built files +dist/* binary + +*.py linguist-detectable=true +*.html linguist-detectable=true +*.css linguist-detectable=false +*.js linguist-detectable=false + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cfd7487 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# Fail2banMqttActionublisher +Fail2ban action: publish all server banished + +### Actions in action.d + +### Configuration mqtt broker or local mosquitto +action.d/f2b_mqtt_action_publisher.py + + + + +### Usage +Add action as jail-example.local + + systemctl restart fail2ban.service + +### Control + + tail -f /var/log/mosquitto/mosqitto.log diff --git a/fail2ban/action.d/f2b-iptables-allports.conf b/fail2ban/action.d/f2b-iptables-allports.conf new file mode 100644 index 0000000..7853d5c --- /dev/null +++ b/fail2ban/action.d/f2b-iptables-allports.conf @@ -0,0 +1,71 @@ +# Fail2Ban configuration file +# +# Author: Cyril Jaquier +# Modified: Yaroslav O. Halchenko +# made active on all ports from original iptables.conf +# +# $Revision$ +# + +[Definition] + +# Option: actionstart +# Notes.: command executed once at the start of Fail2Ban. +# Values: CMD +# +actionstart = iptables -N fail2ban- + iptables -A fail2ban- -j RETURN + iptables -I -p -j fail2ban- + +# Option: actionstop +# Notes.: command executed once at the end of Fail2Ban +# Values: CMD +# +actionstop = iptables -D -p -j fail2ban- + iptables -F fail2ban- + iptables -X fail2ban- + +# Option: actioncheck +# Notes.: command executed once before each actionban command +# Values: CMD +# +actioncheck = iptables -n -L | grep -q fail2ban- + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: IP address +# number of failures +#