nickjj.fail2ban

Was ist ansible-fail2ban? Build-Status

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

Über das Projekt

Install and configure fail2ban.

Installieren
ansible-galaxy install nickjj.fail2ban
Lizenz
mit
Downloads
50.7k
Besitzer
Currently a self employed freelance developer & teacher. I mainly work with Flask, Rails, Bash, Docker, Kubernetes, Ansible & Terraform. Also a @docker captain.