Sorry, habe gesucht, aber nichts gefunden ....
Gibt es über die Login-Versuche von zu PHPmyAdmin eine LOG-Datei?
Ich möchte gerne mögliche Angreifer, welche mehrfach einen fehlerhaften Login-Versuch vornehmen, über fail2ban sperren.
Sorry, habe gesucht, aber nichts gefunden ....
Gibt es über die Login-Versuche von zu PHPmyAdmin eine LOG-Datei?
Ich möchte gerne mögliche Angreifer, welche mehrfach einen fehlerhaften Login-Versuch vornehmen, über fail2ban sperren.
Den Zugriff auf PHPMyAdmin kann man unter /var/log/apache2/access.log nach sehen.
Allerdings sieht man dort nicht ob der Login erfolgreich oder nicht erfolgreich war, sondern nur den Zugriff mit IP Adresse.
Ich würde *immer* den Zugriff auf PMA auf bestimmte IP-Bereiche sowie per ".htaccess" (bzw. HTTP-AUTH) sichern. Dann bekommst du automatisch Logfiles über den Apache.
Ähnlich habe ich das auch mit einer Guacamole Installation gemacht. Einfach einen Nginx davor geschaltet, dem Nginx noch ein SSL Zertifikat und Basic Auth spendiert und dann mit Fail2Ban das error.log geprüft. Funktioniert soweit sehr zuverlässig und ich muss mir auch weniger Gedanken um Sicherheitslücken in der eigentlichen Software machen.
Sollte man besser mit htdigest arbeiten? Oder reicht ein .htaccess?
Habe jetzt mal .htdigest aktiviert und verwendet. Dabei habe ich ja die Möglichkeit, entweder in dem entsprechenden Pfad eine .htaccess zu erstellen (dann muss ich in der entsprechenden Apache-Config in dem zugehörigen Directory-Eintrag für den zu schützenden Pfad bei dem AllowOverride das "None" auf "AuthConfig" stellen), oder ich kann die Einträge der .htaccess direkt in der Config des Apache vornehmen (<Directory>...</Directory>).
Welche Einstellung ist zu empfehlen? Direktes Eintragen in dem Directory-Eintrag in der Apache-Config, oder nur AllowOverride umstellen und eine .htaccess verwenden?
Ich verwende easySCP, welches nur einen Directoy-Eintrag für den Pfad zu dem Panel, zu PHPmyAdmin, zum Filemanager und für WebMail in der Apache-Config eingerichtet hat. Wenn ich also AllowOverride verändere, so gilt dies für 4 Pfade. Trage ich den Schutz direkt in die Apache-Config ein, dann müsste ich das ja eigentlich auf einen Pfad begrenzen können.
Btw.: hat jemand einen fertigen Filter für das Error-Log vom Apache um die fehlerhaften Logins zu finden? Für meinen letzten Filte habe ich Ewigkeiten benötigt bis der endlich richtig funktioniert hat.
Hab mal die apache-auth.conf für meine Zwecke angepasst :
# Fail2Ban configuration file
#
# Author:
#
# $Revision: $
#
[Definition]
# Option: failregex
# Notes.: regex to match the password failure messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>[\w\-.^_]+)
# Values: TEXT
#
failregex = [[]client <HOST>[]] Digest: user .* authentication failure
[[]client <HOST>[]] Digest: user .* not found
[[]client <HOST>[]] Digest: user .* password mismatch
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
Alles anzeigen
Scheint zu funktionieren.