Bewertung 3


Die Kandidaten sollten in der Lage sein, kerberos zu installieren und zu konfigurieren und grundlegendes Security-Auditing von Quellcode durchzuführen. Dieses Lernziel beinhaltet die Einrichtung des Erhalts von Security-bezogenen Meldungen von Bugtraq, CERT, CIAC oder anderen Quellen, die Fähigkeit, auf offene Mail-Relays und anonyme FTP-Server hin zu prüfen sowie die Installation und Konfiguration eines Intrusion Detection Systems wie snort oder Tripwire. Prüfungskandidaten sollten ebenso in der Lage sein, die IDS-Konfiguration zu aktualisieren, wenn neue Schwachstellen entdeckt werden, und Security-bezogene Patches und Bugfixes anzuwenden.

Schlüsseldateien, Begriffe und Hilfsmittel beinhalten:

  • telnet
  • Tripwire
  • nmap

Kerberos

Kerberos ist ein Protokoll zur Authentifizierung von Netzwerk-Einheiten wie User oder Rechner. Sein Hauptziel ist es, grundsätzlich die Übertragung von Plain-Text Passwörtern über ein Netz zu verhindern. Kerberos geht davon aus, dass ein Netzwerk grundsätzlich ein unsicherer Ort ist und von „bad guys“ abgehört werden kann.

Kerberos ist ein sogenannter „trusted third-party service“, das heisst, es gibt neben dem Rechner (oder User), der sich authentifizieren will und dem Rechner, der einen Dienst nur für authentifizierte Rechner (oder User) anbietet, eine dritte Partei, der beide anderen Beteiligten trauen. Diese dritte Partei ist der Kerberos-Server.

Dienste und User werden unter Kerberos gewöhnlich als principals bezeichnet und mehr oder weniger gleichgestellt. Alle principals teilen sich mit dem Kerberos-Server jeweils ein Passwort oder einen Schlüssel. Das ermöglicht es, dass alle principals der Kommunikation mit dem Kerberos-Server vertrauen können. Mit Hilfe dieses Vertrauens können sich die principals jetzt gegenseitig authentifizieren.

Die principals benutzen sogenannte Tickets, um zu beweisen, dass sie diejenigen sind, die sie vorgeben zu sein. Wenn ein User A sich bei einem Dienst B anmelden will, dann passiert vereinfacht gesehen folgendes:

Der User A sendet ein Ticket-Request an den Kerberos-Server. Diese Nachfrage enthält die Namen von A und B (neben anderen Informationen). Der Kerberos-Server erhält diese Nachfrage und überprüft zunächst, ob A und B gültige principals sind. Wenn das verifiziert wurde, erstellt der Kerberos-Server das angeforderte Ticket, das folgende Informationen enthält:

  • Die Namen von A und B
  • Die Netzwerkadresse von A
  • Die aktuelle Zeit
  • Die Gültigkeitsdauer des Tickets
  • Ein Session Secret-Key, der nur für diese Sitzung verwendet wird.

Das Ticket wird mit dem Schlüssel von B verschlüsselt, so dass nur B das Ticket entschlüsseln kann. Anschließend wird es an A verschickt, zusammen mit dem Namen von B und nochmal dem Session-Secret-Key. Bevor A jetzt die Nachfrage an B verschickt, erstellt er ein Paket, das folgendes enthält:

  • As Name
  • As Adresse
  • Die aktuelle Zeit
  • Eine Prüfsumme

Dieses Paket verschlüsselt A mit dem Session-Secret-Key, den er vom Kerberos-Server bekommen hat. Dann sendet er das Ticket und sein gerade erstelltes Paket an B weiter. B kann jetzt das Ticket entschlüsseln (es wurde ja mit seinem Schlüssel verschlüsselt). In dem entschlüsselten Ticket ist der Session-Secret-Key enthalten, mit dessen Hilfe B jetzt das Paket von A entschlüsseln kann und somit die Angaben von A mit den Angaben des Tickets vergleichen kann. Wenn die Angaben übereinstimmen, gilt A als authentifiziert.

Der Zuständigkeitsbereich eines Kerberos-Servers wird als realm bezeichnet.