Wer einen Proxmox VE Host im Internet betreibt und die Loginoberfläche so für alle offen hat, sollte sich vor fehlerhaften “Login Versuchen” schützen. Doch Fail2ban muss erstmal lernen wie ein fehlerhafter Loginversuch bei Proxmox aussieht. Dafür erstellen wir bei der Einrichtung eine kleine Konfigurationsdatei die dabei fail2ban unterstützt.

Wer noch kein fail2ban auf dem Proxmox Host installiert hat, der sollte dies nun tun mit folgendem Befehl.

apt install fail2ban

Als nächstes aktivieren / erstellen wir die Funktion damit fail2ban “Proxmox” als Aufgabe akzeptiert.
Dafür fügen wir in der Datei “/etc/fail2ban/jail.local” ein paar Zeilen hinzu.

Wer es genau wissen möchte. In dieser Konfiguration wird rückwirkend 6 Stunden in die Vergangenheit geschaut und bei 3 Fehlversuchen für wird 6 Stunden gesperrt. Diese Werte könnt Ihr natürlich auf eure Anforderung anpassen.

nano /etc/fail2ban/jail.local

[proxmox]
enabled = true
port = https,http,8006
filter = proxmox
logpath = /var/log/daemon.log
maxretry = 3
# 6 ban time
bantime = 21600
# 6 Stunden Rückwärts
findtime = 21600

Jetzt müssen wir Fail2Ban noch beibringen wie man fehlerhafte Logins erkennt. Sowas macht sich in der Regel bemerkbar mit Einträgen in eine Logdatei. Wir lesen also die Datei aus und werten die dort enthaltenen Informationen aus.

Protectli Vault FW4C – 4 Port, Firewall Micro Appliance/Mini PC – Intel J3710, 2.5G Ports, AES-NI, 4GB DDR3 RAM, 32GB SSD
  • CPU: Intel J3710 Celeron Quad Core / 4 Thread bei 1,6 GHz (Burst auf 2,6 GHz), Intel AES-NI Hardwareunterstützung
  • Anschlüsse: 4 Intel 2.5 Gigabit Ethernet NIC Ports, 2x USB 3.0, 2x HDMI, 1x RJ45 COM-Port
  • Komponenten: 4 GB RAM, 32 GB SSD

Wir legen eine neue Datei an mit folgenden Pfad. /etc/fail2ban/filter.d/proxmox.conf

nano /etc/fail2ban/filter.d/proxmox.conf

[Definition]
failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*
ignoreregex =

Abschließend einmal alles zu Fail2ban Neustarten. Und wer möchte kann das sofort auch testen mit dem unten stehenden Befehl.

systemctl restart fail2ban

#####

fail2ban-regex /var/log/daemon.log /etc/fail2ban/filter.d/proxmox.conf