Page 1 of 1

Globales Access Log | fail2ban

Posted: Wed 20. Feb 2019, 11:09
by Padaru
Servus,

ich würde gerne mit fail2ban die fail logins bei einem verzeichnisschutz überwachen -> die accesslogs der einzelnen hosts werden ja im /home/users/host/logs verwaltet -> nun möchte ich ungern jede v-host config um einen neuen log pfad erweitern noch jeden einzelnen access-log pfad der hosts in meine jail config übernehmen.

-> kann ich keyhelp irgendwo sagen, dass es jedem neuen vhost beim anlegen noch einen zusätzlichen accesslog pfad gibt
oder
kann ich meinem apache irgendwo sagen, dass er zu den einstellungen in den vhosts noch ein zusätzliches globales accesslog führt?

Danke :)

Re: Globales Access Log | fail2ban

Posted: Wed 20. Feb 2019, 19:28
by OlliTheDarkness
Wieso das rad neu erfinden , erstell doch eine entsprechende F2B config. ;)

Re: Globales Access Log | fail2ban

Posted: Thu 21. Feb 2019, 19:10
by Padaru
naja so wie ich das verstanden habe, sucht fail2ban doch nur in den logs, den ich den einzelnen jails gebe, nach fehlverhalten und sperrt dann die ip oder?
Das heißt ja jetzt, dass ich jedes /home/users/log in meine jail config packen muss also so in etwa:

jail.local
[mySuperAccessJail]
bla bla
logpath=/home/users/user1/log/access.log
logpath=/home/users/user2/log/access.log
logpath=/home/users/user3/log/access.log

und dass muss ich dann immer neu erweitern, wenn ich einen neuen user habe - wenn ich mich nicht irre.

Und einfach umgehen könnte ich das doch mit einem globalen log, so dass ich mein jail so definieren kann;

jail.local
[mySuperAccessJail]
bla bla
logpath=globalAccess.log

-> so kann er dann von jedem vhost die fail logins sehen und sperren oder? :?

Re: Globales Access Log | fail2ban

Posted: Thu 21. Feb 2019, 20:37
by Jolinar
Padaru wrote: Thu 21. Feb 2019, 19:10 logpath=/home/users/user1/log/access.log
logpath=/home/users/user2/log/access.log
logpath=/home/users/user3/log/access.log
Probier mal:

Code: Select all

logpath=/home/users/*/log/access.log

Re: Globales Access Log | fail2ban

Posted: Thu 21. Feb 2019, 20:44
by OlliTheDarkness
Jolinar wrote: Thu 21. Feb 2019, 20:37
Padaru wrote: Thu 21. Feb 2019, 19:10 logpath=/home/users/user1/log/access.log
logpath=/home/users/user2/log/access.log
logpath=/home/users/user3/log/access.log
Probier mal:

Code: Select all

logpath=/home/users/*/log/access.log
Genau so dachte ich es mir mit Platzhalter arbeiten ggf in die F2B Doku schauen

Re: Globales Access Log | fail2ban

Posted: Thu 21. Feb 2019, 21:03
by Jolinar
Jolinar wrote: Thu 21. Feb 2019, 20:37

Code: Select all

logpath=/home/users/*/log/access.log
Hier noch die zugehörige Referenz:
5-jail.conf
logpath

filename(s) of the log files to be monitored, separated by new lines. Globs -- paths containing * and ? or [0-9] -- can be used however only the files that exist at start up matching this glob pattern will be considered.

Re: Globales Access Log | fail2ban

Posted: Fri 22. Feb 2019, 10:39
by Padaru
ich danke euch, nachdem ich das richtige log /error.log angesprochen habe, funktioniert es :) ich wusste gar nicht das fail2ban wildcards zulässt, das macht es wirklich einfacher :D danke.

jetzt habe ich aber ein neues Problem, durch das kürzen der IP´s loggt das error.log nur die halbe ip z.b. 192.168.0.0 wenn ich die jetzt banne bringt mir das nicht viel.

Ich habe im KeyHelp admin bereich eingestellt, dass die IP´s erst nach einer weile anonymisiert werden, im Benutzeraccount jedoch die anonymisierung ein geschaltet, sodass die ip´s direkt gekürzt werden. Als Datenschützer finde ich das super, als admin furchtbar -> an der stelle fände ich ein globales errorlog doch wieder sinnvoll. Auf diesem Wege könnten die User Ihre eigenen Logs gerne kürzen, der Provider bzw der admin, also wir können dennoch die notwendigen Schutzmaßnahmen ergreifen und ips sperren :D

Oder wie macht ihr das? :?

Re: Globales Access Log | fail2ban

Posted: Tue 26. Feb 2019, 10:34
by Martin
Hallo,

also doppelt loggen dürfte, speziell bei gut besuchten Seiten, erheblich auf die I/O Performance gehen. Speziell wenn zudem noch die sofortige Anonymisierung aktiv ist.

Re: Globales Access Log | fail2ban

Posted: Tue 26. Feb 2019, 13:45
by Padaru
das stimmt schon. ich meine wenn man das keyhelp als admin allein bedient ist es ja kein Problem. Wenn jedoch die Endkunden selbst im Keyhelp basteln, dann die anonymisierung anschalten kann man ja als admin schlecht kommen und sagen "mach das mal bitte aus ich will bruteforcende ip´s sperren" :?

Re: Globales Access Log | fail2ban  [GELÖST]

Posted: Tue 26. Feb 2019, 15:09
by Alexander
Du müsstest in dem Fall den Button auf der Dashboard-Seite verstecken.

1.)
In den Datenschutzeinstellungen (Adminbereich -> Konfiguration -> Datenschutz) nur "Anonymisierung nach Rotation der Protokolldateien" anhaken.

2)
Folgenden JS-Code unter den Whitelabel-Einstellungen bei "Alle Sprachen" hinterlegen
(versteckt den Button)

Code: Select all

// remove anonymize ip button on user dashboard

// check, if we are on user dashboard page
if (window.location.href.indexOf('page=user_dashboard') !== -1)
{
  	// store parent container of the element we want to remove
	var $parentContainer = $('#content > div.columns > div:nth-child(1) > div.card.has-margin-top-large > div.card-content');
  
	// use reverse order to ensure that the correct items are removed
  
    // button
    $parentContainer.find('a:nth-child(7)').remove();
    // spacer div
    $parentContainer.find('div:nth-child(6)').remove();
    // description text
    $parentContainer.find('p:nth-child(5)').remove();
}
3) (optional)
Ggf. haben einige Nutzer die Option schon aktiv, dann setzt du für alle Nutzer in der Datenbank `keyhelp`.`users` die Spalte `anonymize_ips` einmalig auf den Wert "0"

Anschließend noch einmal die Webserver-Konfiguration neu schreiben lassen mit dem Aufruf des Scripts:

Code: Select all

php /home/keyhelp/www/keyhelp/bin/rewrite_user_configs.php

Re: Globales Access Log | fail2ban

Posted: Tue 26. Feb 2019, 17:45
by Enigma
Alexander wrote: Tue 26. Feb 2019, 15:09 Ggf. haben einige Nutzer die Option schon aktiv, dann setzt du für alle Nutzer in der Datenbank `keyhelp`.`users` die Spalte `anonymize_ips` einmalig auf den Wert "0"

Datenschutzeinstellungen von Kunden zu ändern, ggf. sogar ohne dass diese es mitbekommen, halte ich für ein gewagtes Unterfangen...

Gruß
Jan

Re: Globales Access Log | fail2ban

Posted: Tue 26. Feb 2019, 20:28
by Alexander
Das liegt ja an ihm, wie er es kommuniziert. Ich zeige ihm nur den Weg, gehen muss/kann er ihn selbst ;).

Re: Globales Access Log | fail2ban

Posted: Wed 27. Feb 2019, 09:30
by Padaru
danke für die Antwort und die Lösung meines Problemes :)

Dennoch möchte ich noch etwas Bohren bzw. Nachfragen.

Irgendwie bekomme ich das Gefühl, dass ich zu viel Wert auf das Sperren der IP´s lege, wenn Ihr zum Beispiel euren Usern die sofortige Anonymsierung erlaubt, so könnt Ihr ja auch nicht jeden Bruteforce abfangen, wollt Ihr das nicht? - ich Frage rein Interessehalber und möchte wirklich niemand auf die Füße treten :D

Re: Globales Access Log | fail2ban

Posted: Wed 27. Feb 2019, 09:59
by mhagge
Das bedingt, das man das mit Fail2Ban macht - dann kommt man um die IP-Adressen in Logfiles nicht rum, das ist wohl war. Ich hab Fail2Ban deaktiviert und mache das auf Firewall-Ebene. Die arbeitet im Endeffekt natürlich auch mit den IP-Adressen, aber halt bevor der Zugriff durchgereicht wird und überhaupt in irgendwelchen Logfiles auftaucht (wer sich nicht mit den Einzelheiten von IPTables rumschlagen mag - da ist leider die Oberfläche in Keyhelp selber auch nur in den "groben" Fällen - also bei sowas wie z.B. eine IP ganz blocken, aber nicht bei sowas wie ein Rate-Limit auf bestimmte Dienste setzen - hilfreich dem sei z.B. das hier empfohlen: https://configserver.com/cp/csf.html )

Re: Globales Access Log | fail2ban

Posted: Wed 27. Feb 2019, 10:14
by Padaru
der tipp ist gut, den link werde ich mir auf jeden fall mal ansehen, die Firewall hatte ich auch erst im Sinn, dachte aber, dass die Fehllogins per se ja nicht erkennt, aber das es da ne login detection gibt hätte ich nicht gedacht.. man lernt halt nie aus :D

Danke