Ich wollte nur [...] und dann ist das Universum explodiert.

Projects
Books
Archive
About









    Permalink
  1. FTP | vsftpd mit MySQL-Userauth und fail2ban

    Ein Kollege aus dem lokal vertretenen Eishockey-Hobbyverein hatte eine kleine Page mit HTML gebastelt und wollte diese irgendwo hosten.  Hier würde sich von den Mitgliedern um den Informationsfluss gekümmert und da ich selbst öfters an den Spielen teilnehme, half ich natürlich gerne. Ich benutzte bis dato allerdings nie FTP und hatte auch keinen FTP-Server installiert. “Wenn dann schon richtig” war meine Intention. Über ein How-To auf HowtoForge.com richtete ich einen vsftpd mit mysql-userauth ein. Das war innerhalb 15 Minuten geschafft. FTP-Server lief wunderbar und die (noch dürftige) Site ist auch fast online. Mir gefiel die Auth-Möglichkeit über MySQL.

    Nichtsahnend durchforstete ich heute Morgen die Logfiles meiner Zwetschge. vsftpd-Logfiles innerhalb 15 Stunden relativ voll. Irgendwas war faul. Nachdem ich die fehlerhafte Konfiguration des logrotated ausschliessen konnte sah ich mir die Logs mal an.

    CONNECT: Client "xxx"
    [Administrator] FAIL LOGIN: Client "xxx"
    [Administrator] FAIL LOGIN: Client "xxx"
    [Administrator] FAIL LOGIN: Client "xxx"
    CONNECT: Client "xxx"
    [Administrator] FAIL LOGIN: Client "xxx"
    [Administrator] FAIL LOGIN: Client "xxx"
    [Administrator] FAIL LOGIN: Client "xxx"

    Ich zählte nicht, wie oft genau. Jedenfalls zu oft um von fehlerfreier Konfiguration meines fail2ban ausgehen zu können. Außerdem ist es beachtlich wie schnell Bots einen existierenden FTP-Server ausmachen können. Was solls. Zur Erinnerung: Fail2ban verbietet (anhand Logfileanalyse) Clients die Verbindung, wenn sie  zu oft abgewiesene Verbindungsversuche gestartet haben. Sprich: Zu viele falsche Passwörter. Stichwort Bruteforce-Attacke

    Dies veranstaltet fail2ban mit einem Configfile (/etc/fail2ban/jail.local) und Filtern (/etc/fail2ban/filters.d/*). Ich habe länger überlegt, Config erneuert, fail2ban-server neu gestartet bis mir kam warum die übermäßig vorhandenen failed-logins meines FTP-servers nicht geblockt wurden. Die Ausgabe im Loggingfile hatte sich durch die Umstellung auf MySQL geändert und fail2ban greift nicht mehr:

    auth.log(Standard): Jan 23 14:04:14 vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=Administrator rhost=xxx
    ---
    auth.log(mysqlauth): Feb 24 12:33:29 zwetschge vsftpd: pam_mysql - SELECT returned no result.

    Nach etwas erfolglosen herumgegoogle und anderem, beschloss ich die RegExp für den neuen Filter selbst zu konfigurieren. Der neue Filter basiert nichtmehr auf dem auth.log sondern auf dem vsftpd.log(im jail.local-File vermerken!). fail2ban bietet eine wunderschöne Möglichkeit selbstgecodete Filter auszuprobieren. Via fail2ban-regexp wird ein zu filternder Logeintrag auf ein regexp geprüft.

    fail2ban-regexp 'logeintrag' 'regexp zum logeintrag'
    http://zwetschge.org/paste/011

    In filters.d: die die Regular-Expression des Zugriffs für das StandardLogfile ersetzen:

    alt:auth.log(stdregexp): failregex = vsftpd: \(pam_unix\) authentication failure; .* rhost=<HOST>(?:\s+user=\S*)?\s*$
    ---
    neut:vsftpd.log(mysqlregexp): failregex = .* FAIL LOGIN: Client \"<HOST>\"$

    Fail2ban neu starten, glücklich sein.
    Um zukünftigen Usern diesen Schritt zu erleichtern habe ich natürlich die Änderungen unter das How-To kommentiert. Awating Moderation btw.


  2. Permalink
  3. Ubuntuusers.de-Planet

    Gestern ist mein Blog in den Ubuntuusers-Planet aufgenommen worden! Ich wollte mich mit diesem Post ganz kurz vorstellen(auch wenns ein wenig Offtopic ist^^):
    Flo – 20 – Fachinformatiker – LPIC 1 – CiscoCNA Modul 1 – Ubuntuuser seit 3 Jahren

    Werde mein möglichstes tun um auch einen Beitrag zur Community zu leisten :)

    Freut sich hier sein zu dürfen,
    Flo


  4. Permalink
  5. WordPress | Feed bestimmter Kategorie generieren

    ubuntuusers-logoÜberlege zur Zeit, ob ich mich nicht mal anfrage den Blog in den ubuntuusers.de Planet aufzunehmen. Ob meine Postings die Qualität des Planeten erreichen können lass ich jetzt mal dahingestellt. Ohnehin kann ich nicht den ganzen Feed in den Planet laufen lassen. Ich bräuchte eine Art extra Output-Lösung.

    Aufgrund dessen habe ich überlegt wie ich sowas realisieren könnte. Eine Option die ich anklicke um den Post auch weiter an den Planet zu geben oder ähnliches. Eine Kategorie vergeben die sich weiterschickt. Nach kurzem herumprobieren mit dem RSS-Feed von WordPress hab ich (während einer sehr langweiligen C++ Programmierstunde in der Schule) herausgefunden das sich der RSS-Feed eine zusätzliche Kategorie-Variable mitübergeben lässt um nur Artikel der definierten Kategorie auszuspucken.

    http://noqqe.de/?feed=rss&cat=ID_364

    Das ist recht nice, weil ich Postings für den Planeten wahlweise nur in den Kategorien ankreuze und automatisch beim Planeten nur eben diese Artikel ankommen.

    WordPress bewundernd,
    Flo