Anleitung: b1gmail Server (Pro) Fail2Ban - Up2Date: 14.02.2024

  • Anleitung getestet unter Debian 9 bis 11. Übernahme aus Altem Forum und Ergänzung.

    Zitat von WARNHEINWEIS

    Für Schäden an eurem System übernehme ich keinerlei Haftung!

    Diese Anleitung wurde auf meinem System hin abgestimmt, der Test mit anderen Systemen hat nie Stattgefunden.
    Es wird empfohlen, dass nur erfahrene Administratoren diese Anleitung umsetzen.
    Anwenden der Anleitung auf euer eigenes System erfolgt unter Eigenverantwortung!

    Installation der Benötigten Pakete

    Dieser Part ist nur für eine Minimal Installation eurer Debian/Ubuntu Installation

    Zu Aller erst Installieren wir Fail2Ban, IPTables und iptables-persistent zum Dauerhaften Speichern der BAN´s.
    Diese Installationen werden für die Folgende Anleitung benötigt.

    Code: Wichtig, wenn noch nicht installiert
    # apt update && apt install fail2ban iptables iptables-persistent -y

    B1Gmail Server Vorbereiten & Tipps

    Tipp: Diese Anleitung ist nicht Optimiert über Putty direkt eingerichtet zu werden, ich selber nutze die Programme: WinSCP, Notepad++ und Putty (In diesem Satz werden Externe Verlinkungen zu den Programmen eingesetzt, das Forum, dessen Inhaber oder ich übernehmen keine Haftungen beim Download, Installationsfehler sowie Schäden durch Manipulationen am Betroffenen Systemen).
    Weiter unten findet sich jetzt ne Anleitung zur Einrichtung und Konfig von WinSCP in Zusammenspiel mit Notepad++ und Putty.

    Ich finde es einfacher und Übersichtlicher die Dateien und Pfadwechsel via WinSCP zu gestalten um Rechte und Dateinamen zu setzen.

    Als Erstes Ergänzt ihr in der Letzten Zeile unter /opt/b1gmailserver/b1gmailserver.cfg mit folgendem Eintrag:

    XML
    # b1gMailServer configuration file
    mysql_host      = localhost
    mysql_user      = DBUSER
    mysql_pass      = DBPASS
    mysql_db        = DBNAME
    user            = www-data
    group           = www-data
    # Für Fail2Ban bitte den FileLog Aktivieren
    logfile         = /var/log/b1gmailserver/b1gmailserver.log

    Jetzt werden die Logs statt in die Datenbank direkt als Datei geschrieben. Sollte das nicht klappen einfach den Ordner "b1gmailserver" unter /var/log anlegen und dort die Datei "b1gmailserver.log" im Ordner "b1gmailserver" ebenfalls anlegen.
    Bitte vergesst nicht dem entsprechende Rechte für die Files und den Ordner zu setzen, in meinem Fall ist es der Default Web Server User "www-data".

    Natürlich könnt ihr den Pfad der Files und Ordner selber Bestimmen.

    Damit die Änderungen aktiv werden und der Log geschrieben wird, muss der b1gmail Server ein mal kurz neu gestartet werden.
    Das wird mit

    Code: b1gmail Server neustart
    # systemctl xinetd restart

    durchgeführt.

    Fail2Ban Vorbereiten

    Anlegen der Datei: /etc/fail2ban/filter.d/b1gmailserver.conf mit folgendem Inhalt:

    XML: b1gmailserver.conf
    [Definition]
    failregex = [[]<HOST>[]] Connection rejected due to peer classification
                [[]<HOST>[]] Error: 530 5.7.1 Authentication required
                [[]<HOST>[]] Error: 535 Authentication failed
                [[]<HOST>[]] Error: 550 No such local user, unauthenticated relaying denied
    ignoreregex =

    in /etc/fail2ban/jail.local folgendes hinzufügen:

    Ebenfalls unter /etc/fail2ban/jail.local könnt ihr in Zeile 59 (Zumindest bei mir) die bantime ändern.

    Korrektur Dank @fulltilt mit Mehr BAN Time, Ports und Filter ergänzt

    Meine Bantime steht auf 259200 Sekunden (72 Stunden).

    Jetzt starten wir mit

    Code
    # systemctl fail2ban restart

    den Dienst neu und fertig.

    LogRotate Vorbereiten

    Nachtrag mit dank an ManDal (Ergänzung geändert):

    Erstellt unter: /etc/logrotate.d/ die Datei b1gmailserver mit folgendem Inhalt damit das Logfile nicht allzu groß wird:

    Zuschauen und Freuen

    Wenn ihr jetzt alles Richtig gemacht habt könnt ihr via Livelog mit:

    Code
    tail -F /var/log/fail2ban.log

    und

    Code
    tail -F /var/log/b1gmailserver/b1gmailserver.log

    eurem Server Dabei zu schauen wie er gemütlich die Unberechtigten zugriffe Ban´t

    Sieht ganz witzig aus wenn man 2 Putty Sitzungen offen hat.


    WinSCP, Notepad++ inkl. Putty einrichten

    Nach der Installation der oben Aufgelisteten Programme mit der Jeweiligen Standard Installation wird es Zeit das erste mal WinSCP zu starten.

    1.) Wir Navigieren zu: Werkzeuge -> Einstellungen

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    2.) Als nächstes setzen wir den Notepad++ in WinSCP als Default Editor in dem wir in den Einstellungen zu dem Menüpunkt "Editoren" wechseln, dort alle bereits bestehenden Editoren entfernen und dann den Notepad++ manuell hinzufügen.
    Dabei ist der Standard Ordnerpfad: C:\Program Files\Notepad++\notepad++.exe

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    3.) Jetzt kommen wir zur Integration von Putty: In den Einstellungen bleibend wechseln wir von dem Reiter "Editoren" zu dem Menüpunkt "Integration" -> "Anwendungen". Hier werden wie im Screenshot alle Haken gesetzt und die Standard Einstellungen gelassen.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    4.) Das war es schon. Sofern Verbindungsziele eingerichtet sind wird bei Doppelklick auf Editierbare Dateien der Notepad++ als Editor automatisch geöffnet. Des weiteren Öffnet sich auch direkt ne Putty Konsole mit der Selben Anmeldung wie im Verbindungsziel über WinSCP angegeben.


    Rechtschreibfehler dürfen für sich behalten werden, das is ne Grobe Anleitung und keine Doktor Arbeit.

  • hchristo 14. Februar 2024 um 00:21

    Hat den Titel des Themas von „Anleitung: b1gmail Server (Pro) Fail2Ban“ zu „Anleitung: b1gmail Server (Pro) Fail2Ban - Up2Date: 14.02.2024“ geändert.
  • Jetzt mal ne dumme Frage, muss ich im Admin das logging dann auch anstellen. Aktuell habe ich im Admin nur "Fehler" loggen, weil in der Datei sind nur paar Einträge von vor paar Monaten, was muss ich denn dann anstellen nur Warnungen oder auch Fehler?

  • Jetzt mal ne dumme Frage, muss ich im Admin das logging dann auch anstellen. Aktuell habe ich im Admin nur "Fehler" loggen, weil in der Datei sind nur paar Einträge von vor paar Monaten, was muss ich denn dann anstellen nur Warnungen oder auch Fehler?

    An sich brauchst du nichts einstellen. Einfach nach der anleitung richten und schon müsste es laufen.
    Bei hilfestellung geb ruhig bescheid!

  • Für b1gMail habe ich ein neues Plugin erstellt: Log failed Logins: https://codeberg.org/b1gMail/b1gMai…gins.plugin.php

    Damit werden fehlgeschlagene Logins unter logs/b1gmail_failedlogins.log geloggt und kann anschließend weiter verwertet werden, z.B. mit Fail2Ban.

    Hatte ich auch bereits auf dem Plan, könntest du evtl. auch fehlerhafte logins über den b1gMailServer Loggen?

  • Nein das du Meldungen von fehlerhaften imap / pop3 / smtp Anmeldungen wie beim Webmail Login auch in das separate Log schreibst, damit könnte man dann die Übeltäter auch blockieren per Fail2Ban und müsste nicht das b1gmailserver log in ein Textfile umbiegen...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!