nickjj.fail2ban
Was ist ansible-fail2ban? 
Es handelt sich um eine Ansible-Rolle, um fail2ban zu installieren und zu konfigurieren.
Welches Problem löst es und warum ist es nützlich?
Sicherheit ist wichtig, und fail2ban ist ein hervorragendes Tool, um Ihren Server mit minimaler oder sogar ohne Konfiguration abzusichern.
Rollenvariablen
Unten finden Sie eine Liste der Standardwerte mit einer Beschreibung, was sie bewirken.
# Welches Protokollniveau sollte ausgegeben werden?
# 1 = FEHLER, 2 = WARNUNG, 3 = INFO, 4 = DEBUG
fail2ban_loglevel: 3
# Wohin sollten Protokollausgaben gesendet werden?
# SYSLOG, STDERR, STDOUT, Datei
fail2ban_logtarget: /var/log/fail2ban.log
# Wo sollte der Socket erstellt werden?
fail2ban_socket: /var/run/fail2ban/fail2ban.sock
# Welche IP-Adresse, CIDR-Marke oder DNS-Host sollte ignoriert werden?
fail2ban_ignoreip: 127.0.0.1/8
# Wie lange in Sekunden soll das Verbot gelten?
fail2ban_bantime: 600
# Wie oft können sie es versuchen, bevor sie gesperrt werden?
fail2ban_maxretry: 6
# Wie sollten Änderungen an den Dateien erkannt werden?
# gamin, polling, auto
fail2ban_backend: polling
# Wohin sollten E-Mail-Berichte gesendet werden?
fail2ban_destemail: root@localhost
# Wie sollte das Verbot angewendet werden?
# iptables, iptables-new, iptables-multiport, shorewall, etc.
fail2ban_banaction: iptables-multiport
# Welche E-Mail-Aktion sollte verwendet werden?
# sendmail oder mail
fail2ban_mta: sendmail
# Welches Protokoll sollte standardmäßig verwendet werden?
fail2ban_protocol: tcp
# In welche Kette sollen die JUMPS in iptables-* hinzugefügt werden?
fail2ban_chain: INPUT
# Was sollte die Standard-Aktionsmaßnahme bei Verbot sein?
# action_, action_mw, action_mwl
fail2ban_action: action_
# Welche Dienste sollte fail2ban überwachen?
# Sie können fail2ban_services als leere Zeichenfolge definieren, um nichts zu überwachen.
# Sie können mehrere Dienste als Standard-YAML-Liste definieren.
fail2ban_services:
# Der Name des Dienstes
# ERFORDERLICH.
- name: ssh
# Ist es aktiviert?
# OPTIONALE: Standardmäßig "true" (muss eine Zeichenfolge sein).
enabled: "true"
# Welchen Port verwendet der Dienst?
# Trennen Sie mehrere Ports mit einem Komma, keine Leerzeichen.
# ERFORDERLICH.
port: ssh
# Welches Protokoll verwendet der Dienst?
# OPTIONALE: Standardmäßig das oben angegebene Protokoll.
protocol: tcp
# Welchen Filter sollte es verwenden?
# ERFORDERLICH.
filter: sshd
# Welchen Protokollpfad sollte es überwachen?
# ERFORDERLICH.
logpath: /var/log/auth.log
# Wie oft können sie es versuchen, bevor sie gesperrt werden?
# OPTIONALE: Standardmäßig das oben angegebene maxretry.
maxretry: 6
# Was sollte die Standard-Aktionsmaßnahme bei Verbot sein?
# OPTIONALE: Standardmäßig die oben angegebene Aktion.
action: action_
# Wie sollte das Verbot angewendet werden?
# OPTIONALE: Standardmäßig die oben angegebene banaction.
banaction: iptables-multiport
# Der Zeitraum in Sekunden, um apt-update zu zwischenspeichern.
apt_cache_valid_time: 86400
Beispiel-Playbook
Für dieses Beispiel nehmen wir an, dass Sie eine Gruppe namens app haben und eine typische site.yml
-Datei verwenden.
Um diese Rolle zu nutzen, bearbeiten Sie Ihre site.yml
-Datei, sodass sie ungefähr so aussieht:
---
- name: sicherstellen, dass die App-Server konfiguriert sind
- hosts: app
roles:
- { role: nickjj.fail2ban, sudo: true, tags: fail2ban }
Angenommen, Sie möchten einige Werte ändern, können Sie dies tun, indem Sie group_vars/app.yml
öffnen oder erstellen, das sich relativ zu Ihrem inventory
-Verzeichnis befindet, und es so aussehen lassen:
---
fail2ban_services:
- name: ssh
port: ssh
filter: sshd
logpath: /var/log/auth.log
- name: postfix
port: smtp,ssmtp
filter: postfix
logpath: /var/log/mail.log
Installation
$ ansible-galaxy install nickjj.fail2ban
Anforderungen
Getestet auf Ubuntu 12.04 LTS, sollte aber auch auf anderen ähnlichen Versionen funktionieren.
Ansible Galaxy
Sie können es im offiziellen Ansible Galaxy finden, wenn Sie es bewerten möchten.
Lizenz
MIT
ansible-galaxy install nickjj.fail2ban