Besonders in kleineren Firmen ohne eigenes IT-Sicherheitsteam fällt es Administratoren schwer, mit zunehmend gehäuften und raffinierten Angriffen umzugehen. ... (mehr)

Ändern der PAM-Konfiguration

Die PAM-Konfigurationsdateien können Sie mit einem Texteditor anpassen. Wollen Sie beispielsweise zeitliche Zugangsbeschränkungen für den Login einrichten, machen Sie das in der Datei "/etc/ pam.d/login". Dort müssen Sie das Kommentarzeichen vor der Zeile

# account     requisite pam_time.so

löschen. Danach laden Sie die Datei "/etc/security/time.conf" in den Editor. In der Datei können Sie die Zugriffsrechte noch weiter einschränken. Damit werden bestimmte PAM-Services zu festgelegten Zeiten gesperrt oder freigegeben. Die Syntax der Zeilen ist:

# services;ttys;users;times

Zur Erklärung: "services" ist eine Liste mit PAM-Servicenamen, auf die die Regel angewendet wird, "ttys" ist eine Liste der Terminalnamen, "users" legt die Benutzer oder Gruppe fest, auf die diese Regel zutrifft, und "times" ist eine logische Liste von Tagen und Zeiträumen. Tage werden als Folge von zwei Zeichen dargestellt, etwa "MoTuSa" für Montag, Dienstag und Samstag; "AlFr" bedeutet "alle Tage außer Freitag". Der Zeitraum wird durch zwei 24-Stundenzeiten im Format "HHMM" angegeben, getrennt mit Bindestrich. Ist die Endzeit kleiner als die Startzeit, ist damit die Uhrzeit am nächsten Tag gemeint. Wildcards (*) gibt es ebenso wie die Operatoren "!" (logisches Nicht), "&" (logisches Und) und "|" (logisches Oder). Die Zeile

* ; * ; alice|peter ; !SuMoTuWeTh2200-0700

können Sie anschließend so lesen: Für alle PAM-Services aus dem Verzeichnis "/etc/pam.d" gilt auf allen virtuellen Konsolen und Terminals für die Benutzer "alice" und "peter" ein Nutzungsverbot von Sonntagabend bis freitags in der Früh jeweils in der Zeit von 22 Uhr bis morgens um 7 Uhr. Weitere praktische Beispiele finden Sie unter [5].

Das Utility "pam-auth-update" hilft, die zentralen Authentikationsrichtlinien mit Profilen vordefinierter Pakete mit PAM-Modulen anzupassen. Als Administrator müssen Sie hier nicht unbedingt eingreifen, denn Pakete registrieren ihre Profile während der Installation automatisch. Möchten Sie später etwas ändern, starten Sie den Befehl »pam-auth-update« als root auf einer Konsole und aktivieren oder deaktivieren die gewünschten Profile.

Bild 3: Das Utility "pam-auth-update" hilft, vordefinierte PAM-Profile zu aktivieren.

Weitere Sicherheitstools

Es gibt verschiedene Tools, die Debian bei der Systemsicherheit unterstützen. Eines ist AIDE [6], abgekürzt für "Advanced Intrusion Detection Environment". AIDE ist eine Alternative zu Tripwire (dazu gleich mehr) und zeichnet Veränderungen im Dateisystem auf. AIDE speichert Dateiattribute und unterstützt Prüfsummen. Die Konfigurationsdateien ebenso wie Regeln, Variablen und Makros können leicht an die eigene Umgebung angepasst werden. Mithilfe regulärer Ausdrücke können Sie Dateien und Verzeichnisse in die Tests ein- oder ausschließen.

Bastille Unix [7], früher Bastille Linux, schließt automatisch Sicherheitslücken in Unix- und Linux-Systemen sowie bei mac­OS. Es arbeitet proaktiv und konfiguriert ein System für eine entsprechend höhere Sicherheit, ist allerdings kein typisches Debian-Tool. Sie können dabei wählen, wie Sie Ihr System härten möchten. Bastille fragt nach, erklärt die Hintergründe und stellt anhand der Antworten des Nutzers Systemrichtlinien zusammen. Im sogenannten Assessment-Modus erzeugt das Programm einen Bericht, um den Benutzer über verfügbare Sicherheitseinstellungen zu unterrichten und um mitzuteilen, welche Einstellungen es geändert hat.

Debsecan, der Debian Security Analyzer [8], analysiert lokal im Hintergrund die installierten Pakete auf einen Rechner. Schwachstellen werden per E-Mail an den Administrator geschickt, ebenso Informationen über neue Sicherheitsupdates.

Das Kommando »debsums« [9] prüft die MD5-Checksummen von Dateien, die über die Debian-Paketverwaltung oder aus einem Debian-Paket auf dem System installiert sind. Das Administrator-Werkzeug stellt Änderungen an Systemdateien fest. Dabei kann es sich um gewollte Änderungen handeln, etwa an Konfigurationsdateien oder an Dateien, die zeitweise gegen eine selbst kompilierte Version getauscht wurden. Es kann sich aber auch um Dateien eines Angreifers handeln, der zum Beispiel Dateien im System gegen geänderte Binaries ausgetauscht hat. Gibt der Benutzer beim Programmaufruf keine Paketnamen an, werden alle installierten Pakete überprüft. Der Parameter "-a" überprüft auch die Checksummen der Konfigurationsdateien eines Pakets. Einige andere Parameter bieten sich ebenfalls an:

- "-c -s" zeigt veränderte Dateien an und Informationen über korrekte Checksummen werden unterdrückt.

- "-l" listet Dateien auf, für die keine MD5-Checksummen auf dem System vorhanden sind. Diese erzeugen Sie nachträglich mit der Option "-g", allerdings sollten Sie sich dabei sicher sein, dass die Dateien nicht bereits von einem Angreifer verändert wurden.

- "--help" zeigt alle verfügbaren Parameter an.

Fail2ban [10] scannt Logdateien, wie den Error-Log von Apache. Es schließt IP-Adressen vom Zugriff aus, die verdächtige Spuren wie zu viele Passwortfehler oder die Suche nach Exploits aufweisen. Anhand dieser Hinweise wird Fail2ban dann genutzt, um Firewallregeln zu aktualisieren und so die verdächtigen IP-Adressen eine Zeit lang auszusperren. Fail2ban bietet Filter für verschiedene Dienste wie Apache, Courier oder SSH. Es kann die Zahl fehlgeschlagener Authentifizierungsversuche reduzieren, allerdings schließt Fail2ban nicht das Risiko einer schwachen Authentifikation aus. Dazu müssen Sie Ihre Server korrekt konfigurieren.

Lynis [11] ist ein Sicherheitswerkzeug für Linux, macOS oder Unix-basierende Systeme. Administratoren nutzen es hauptsächlich für tägliche Gesundheitsscans, um neue Schwachstellen zu erkennen. Es ist aber auch für Penetrationstests nutzbar. Es greift auf die vorhandenen Tools und Bibliotheken zurück, eine Installation weiterer Werkzeuge ist nicht erforderlich. Mit anderen Worten: Lynis führt nur Scans durch, die für das jeweilige System sinnvoll sind. Dazu sucht es im ersten Schritt nach den vorhandenen System-Utilities. Entdeckt es zum Beispiel einen Apache-Server, führt es dazu passende Scans durch. Findet Lynis innerhalb der speziellen Apache-Scans eine SSL/TLS-Konfiguration, folgen weitere Auditschritte auf dieser Grundlage. Ab-

schließend erhält der Nutzer einen Bericht über die Tests. Darüber hinaus werden die Ergebnisse in der Logdatei "lynis.log" gespeichert.

Warnungen und Verbesserungsvorschläge stehen nach den Tests in einer separaten Datei namens "lynis-report.dat". Lynis selbst grenzt sich von automatischen Tools wie Bastille Unix ab: Diese seien zwar sinnvoll, könnten aber ein falsches Gefühl von Sicherheit geben, sagen die Lynis-Entwickler. Stattdessen muss der Administrator bei Lynis selbst entscheiden, welche Sicherheitsstufe für seine IT-Umgebung sinnvoll ist.

Ein weiteres Tool ist Samhain [12]. Das Host-basierende Intrusion-Detection-System prüft die Integrität von Dateien und analysiert Logdaten. Es kann auch Rootkits erkennen und Ports kontrollieren. Samhain überwacht dabei zahlreiche Hosts mit unterschiedlichen Betriebssystemen. Dazu bietet es ein zentralisiertes Logging und Maintenance. Samhain kann auch integriert mit anderen Lösungen arbeiten: Für Nagios etwa wird ein Perl-Plug-in mitgeliefert. Und wenn Samhain in Abhängigkeit der libprelude-Bibliothek kompiliert wird, kann es als Sensor in Prelude fungieren, einem Security-Information-&-Event-Management-System. Dank weiterer generischer Schnittstellen kann Samhain Logdaten auch auf benannte Pipes oder in Nachrichten-Warteschlangen schreiben. Selbst das Ausführen externer Programme ist möglich, weil Samhain die Standardausgabe nutzt. So kann beispielsweise ein Rechner neu gebootet oder die Firewall umkonfiguriert werden.

Link-Codes

[1] Paket harden-doc: https://packages.debian.org/search?keywords=harden-doc

[2] Online-Informationen zu Debian-Sicherheit: http://www.debian.org/doc/manuals/securing-debian-howto/index.en.html

[3] Mailing-Liste des Security-Teams: http://lists.debian.org/debian-security-announce/

[4] Linux-PAM System Administrator's Guide: http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_SAG.html/

[5] PAM-Erklärung und Beispiele: http://pig.made-it.com/pam.html/

[6] AIDE: https://sourceforge.net/projects/aide/

[7] Bastille Unix: http://bastille-linux.sourceforge.net/

[8] Debsecan: https://wiki.debian.org/DebianSecurity/debsecan/

[9] debsums: https://debiananwenderhandbuch.de/debsums.html/

[10] Fail2ban: http://www.fail2ban.org/

[11] Lynis: https://cisofy.com/lynis/

[12] Samhain: http://www.la-samhna.de/samhain/

[13] Tripwire: https://github.com/Tripwire/tripwire-open-source/

Ähnlich wie Samhain arbeitet das Intrusion-Detection-System Tripwire [13]. Es erkennt Angriffe vor allem dann, wenn sie bereits geschehen sind. Dazu scannt Tripwire beim ersten Aufruf das Dateisystem und speichert Informationen darüber als Prüfsummen in einer Datenbank. Bei späteren Scans werden die Dateien mit den zuvor gespeicherten Resultaten in der Datenbank verglichen. Über geänderte Dateien wird der Administrator informiert.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023