Wer sein System zusätzlich gegen Angriffe schützen möchte, kann auf das pam_abl Modul zurückgreifen. Die Lösung arbeitet mit sogenannter Black- und Whitelists. Dabei kann eine maximale Anzahl erfolgloser Anmeldeversuche innerhalb eines bestimmten Zeitraums festgelegt werden, nach der ein Host und/oder Benutzer gesperrt wird. Erst wenn von diesem Host und/oder Benutzer in einer bestimmten Zeit keine weiteren Anmeldeversuche ausgehen, erfolgt eine erneute Freigabe.
pam_abl installiert man unter einem Debian GNU/Linux basierten System wie folgt:
sudo apt install libpam-abl
Zur Einbindung wird das Modul in der gewünschten PAM Konfiguration eingebunden. Möchte man beispielsweise, dass alle Loginversuche geschützt werden, unabhängig davon, ob diese lokal oder beispielsweise über SSH erfolgen, kann dazu in der /etc/pam.d/common-auth zu Beginn folgende Konfiguration hinzugefügt werden:
sudo vi /etc/pam.d/common-auth
# here are the per-package modules (the "Primary" block)
auth required pam_abl.so config=/etc/security/pam_abl.conf
Die eigentliche Konfiguration von pam_alb erfolgt in der angegebenen Konfigurationsdatei /etc/security/pam_abl.conf
Ein Beispiel kann dabei wie folgt aussehen:
db_home=/var/lib/abl
host_db=/var/lib/abl/hosts.db
host_purge=1d
host_rule=*:30/1h
user_db=/var/lib/abl/users.db
user_purge=1d
user_rule=*/sshd:5/1h
host_clear_cmd=[logger] [clear] [host] [%h]
host_block_cmd=[logger] [block] [host] [%h]
user_clear_cmd=[logger] [clear] [user] [%u]
user_block_cmd=[logger] [block] [user] [%u]
limits=1000-1200
host_whitelist=localhost;192.168.1.0/24
user_whitelist=admin
Über Whitelist-Einträge lassen sich Hosts oder Netzwerke sowie Benutzerkonten dauerhaft freischalten.
Alle blockierten Benutzer kann man sich über folgenden Befehl ausgeben lassen:
sudo pam_abl
Um einen Eintrag von der Blacklist zu entfernen, kann wie folgt vorgegangen werden:
# Benutzereintrag entfernen:
sudo pam_abl -w -U <Benutzername>
# Hosteintrag entfernen:
sudo pam_abl -w -H <Hostname>
Analog dazu können mithilfe von pam_abl -f -U (für Benutzer) und pam_abl -f -H (für Hosts) Einträge zur Blacklist hinzugefügt werden.
Weitere Informationen finden sich in der Man-Page zu pam_abl.
Hallo Lioh,
vielenDank fürdie Kurzvorstellung von pam_abl. Von diesem Tool habe ich bisher noch nichts gehört. Allerdings frage ich mich, was hier der Unterschied zu fail2ban ist, ob es Vor- bzw. Nachteile gibt? Die Tools erscheinen mir ziemlich von den Aufgaben sehr deckungsgleich.
Beste Grüße
Joe
Beide Anwendungen ergänzen sich gut und kommen beispielsweise in Kombination auf der Freedombox zum Einsatz. pam_abl klinkt sich wie beschrieben direkt in PAM ein, wohingegen fail2ban ein vorhandenes Paketfiltersystem wie nftables beeinflusst.