Zum Hauptinhalt springen
Diese Website enthält mit KI erstellte Inhalte. Mehr erfahren
Hintergrundbild zu „Wissen Sie eigentlich, welche Rechte Ihr Webserver hat?“KI
Aktuell

Wissen Sie eigentlich, welche Rechte Ihr Webserver hat?

Webserver im Internet dürfen oft mit dem Domänencontroller sprechen – per LDAP. Warum Segmentierung und Kerberos mit geschützten Konten entscheiden.

  • Security
  • Netzwerk
  • Identität & Zugang

Der Webserver steht im Internet und muss jede Anfrage annehmen. Trotzdem darf er in vielen Netzen mit dem Domänencontroller sprechen – oft über unverschlüsseltes LDAP, nur damit sich Benutzer mit ihrem Domänenkonto anmelden können. Genau dieser Weg wird nach einem Einbruch zum Sprungbrett ins ganze Netz.

Kernaussage

Die eigentliche Gefahr ist selten die einzelne Lücke im Webserver – die wird gepatcht. Gefährlich wird es durch zwei Gewohnheiten: fehlende Segmentierung, sodass der Webserver das interne Netz erreicht, und Anmeldung per LDAP, bei der Dienstkonto-Kennwörter auf dem Webserver liegen und Benutzerkennwörter unter Umständen unverschlüsselt durchs Netz gehen. Wo möglich gehört stattdessen Kerberos mit eigenen, geschützten Dienst- oder Maschinenkonten dorthin.

Warum das gerade jetzt zählt

Am 23. Oktober hat Palo Alto Networks (Unit 42) einen Angriff auf eine Regierungsstelle in Europa beschrieben, der über eine verwundbare PHP-Anwendung lief. Zwei Stunden nach dem Eindringen hatten die Angreifer Passwort-Hashes und MFA-Geheimnisse. Laut Bericht durchsuchten sie auf dem Webserver gezielt Passwortspeicher und LDAP-Konfigurationsdateien, suchten danach am Domänencontroller nach Administratorkonten, bauten einen NTLM-Relay-Tunnel ins Active Directory auf und versuchten, Domänen-Admin-Rechte zu erlangen. Die anfängliche Zuordnung zur PHP-Lücke PHP2Shell hat Unit 42 am 25. Oktober zurückgezogen – welche Lücke genutzt wurde, ist offen. Für diesen Beitrag spielt das keine Rolle: Der Webserver war das Einfallstor, das Ziel war die Domäne. Und die Angreifer wussten offenbar genau, wo auf einem Webserver die Zugangsdaten zum Active Directory liegen.

Die bequeme Lösung: Anmeldung per LDAP

Viele Webanwendungen – Ticketsystem, Zeiterfassung, Intranet, Wiki, Bürgerportal – sollen mit dem Domänenkonto funktionieren. Der schnellste Weg dahin ist fast immer derselbe: In der Anwendung einen LDAP-Server eintragen, ein Dienstkonto mit Kennwort hinterlegen, fertig. Das hat drei Folgen:

WasWarum es gefährlich ist
Kennwort des Dienstkontos liegt auf dem WebserverIn einer Konfigurationsdatei oder Datenbank. Wer den Webserver übernimmt, hat es – und oft hat das Konto mehr Rechte als nötig.
Benutzerkennwörter laufen über den WebserverDie Anwendung prüft das Kennwort per LDAP-Bind beim Domänencontroller. Ein Angreifer auf dem Webserver kann sie mitlesen.
Unverschlüsseltes LDAP auf Port 389Bei einfacher Anmeldung (Simple Bind) gehen Benutzername und Kennwort im Klartext durchs Netz. Das ist in gewachsenen Umgebungen erstaunlich häufig.

Dazu kommt: Damit LDAP funktioniert, muss die Firewall den Weg vom Webserver zum Domänencontroller öffnen. Genau diesen Weg nutzt ein Angreifer nach einem Einbruch.

Die bessere Lösung: Kerberos mit geschützten Konten

  • Kein Kennwort auf dem Webserver: Der Browser holt sich beim Domänencontroller ein Ticket, die Anwendung prüft nur das Ticket. Benutzerkennwörter kommen beim Webserver gar nicht an.
  • Eigenes Dienst- oder Maschinenkonto mit Service Principal Name (SPN): Die Anwendung bekommt eine eindeutige Identität, statt ein allgemeines Konto mitzubenutzen.
  • Geschützt einrichten: Gruppenverwaltete Dienstkonten (gMSA) wechseln ihr Kennwort automatisch; wo die Anwendung das nicht unterstützt, ein langes, zufälliges Kennwort. Keine Delegierung an beliebige Dienste – wenn nötig, nur eingeschränkt auf das konkrete Ziel. Das Konto darf sich nirgends interaktiv anmelden.
  • Nebeneffekt Einmalanmeldung: Benutzer im Netz melden sich nicht noch einmal an.

Aus der Praxis

Gemeinsam mit einer von uns betreuten Gemeinde haben wir die Anmeldung an einer Webanwendung von LDAP auf Kerberos umgestellt – mit einem eigenen, geschützten Dienstkonto und eigenem Service Principal Name. Seitdem liegen auf dem Webserver keine Zugangsdaten zum Active Directory mehr, und Benutzerkennwörter erreichen ihn gar nicht erst. Die Prüfbefehle weiter unten haben wir dort auf den Domänencontrollern eingesetzt.

Wo Kerberos nicht geht – etwa bei Anwendungen, die nur LDAP können – mindestens LDAPS (verschlüsselt, Port 636) mit Channel Binding nutzen, ein Dienstkonto mit reinen Leserechten auf genau die nötigen Organisationseinheiten anlegen und den Zugriff an der Firewall auf genau diesen einen Domänencontroller und Port beschränken.

Segmentierung: Was darf der Webserver überhaupt erreichen?

KonstellationRisiko
Webanwendung im internen Netz, nur per Portfreigabe veröffentlichthoch – nach einem Einbruch steht der Angreifer mitten im Netz
Webserver in einer DMZ mit großzügigen Regeln zum internen Netzhoch – die DMZ existiert nur auf dem Papier
Webserver ist Domänenmitgliedhoch – er darf vollständig mit dem Domänencontroller sprechen
Webserver in eigener Zone, nur die nötigen Ports zu einzelnen Zielengering

So prüfen Sie es

Prüfbefehle

In einer PowerShell mit Administratorrechten ausführen.

1. Vom Webserver aus: Was erreicht er?
# Auf dem Windows-Webserver ausführen (Name anpassen)
$dc = 'dc01.kommune.local'
88, 135, 389, 445, 636, 3268, 3269 | ForEach-Object {
    [pscustomobject]@{ Port = $_; Offen = (Test-NetConnection -ComputerName $dc -Port $_ -WarningAction SilentlyContinue).TcpTestSucceeded }
}
2. Auf dem Domänencontroller: Wer meldet sich unverschlüsselt an?
# Auf dem Domänencontroller: Protokollierung einschalten (nach der Auswertung wieder auf 0)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics' -Name '16 LDAP Interface Events' -Value 2

# Nach einigen Tagen auswerten: welche Systeme binden unverschlüsselt?
Get-WinEvent -FilterHashtable @{ LogName = 'Directory Service'; Id = 2889 } |
    ForEach-Object { ([xml]$_.ToXml()).Event.EventData.Data } |
    Group-Object | Sort-Object Count -Descending | Select-Object Count, Name

Zu 1: Jede Zeile mit True ist ein offener Weg zum Domänencontroller (88 Kerberos, 135 RPC, 389/636 LDAP, 445 SMB, 3268/3269 Globaler Katalog). Zu 2: Ereignis 2889 im Protokoll „Directory Service“ nennt jede Anmeldung per unsigniertem LDAP oder Simple Bind über unverschlüsselte Verbindungen – mit Adresse und Konto. Ohne die Diagnoseprotokollierung gibt es das Ereignis nicht. Zusätzlich an der Firewall die Regeln von der DMZ ins LAN durchgehen: Warnzeichen sind Ziel „Any“, Dienst „Any“ und alte Regeln aus Migrationen oder Tests.

Was zu tun ist

  1. Webserver in eine eigene Zone: kein Webserver mit Internetanbindung im internen Netz.
  2. Nur nötige Wege öffnen: auf genau ein Ziel und genau einen Port.
  3. Anmeldung umstellen: wo möglich Kerberos mit eigenem, geschütztem Konto, sonst mindestens LDAPS mit Lesekonto.
  4. Kennwörter auf dem Webserver minimieren und vorhandene Dienstkonto-Kennwörter nach einem Verdacht sofort erneuern.
  5. LDAP-Signierung, Channel Binding und SMB-Signierung erzwingen – erst nach Auswertung von Ereignis 2889, sonst fallen Altsysteme aus.
  6. Überwachen: Anmeldungen vom Webserver am Domänencontroller sind ein Alarmsignal.

Wie wir unterstützen

Solche Konstellationen finden wir in nahezu allen Umgebungen, die wir prüfen – teils von den Herstellern der Anwendungen selbst so eingerichtet, weil LDAP mit einem Dienstkonto der schnellste Weg zur Inbetriebnahme ist. Wir übernehmen die Bereinigung als Gesamtpaket oder in einzelnen Schritten:

Analyse

Welche Webanwendungen es gibt, wo sie stehen, wie sie authentifizieren, welche Wege die Firewall erlaubt und welche Systeme unverschlüsselt per LDAP binden.

Absicherung

Umstellung auf Kerberos mit geschützten Dienstkonten, LDAPS, Firewall-Regeln nach dem Prinzip der minimalen Rechte, Härtung von LDAP und SMB ohne Betriebsunterbrechung.

Konzeptentwicklung

Netzsegmentierung und Berechtigungskonzept für Webanwendungen und Dienstkonten, dokumentiert als Nachweis für Datenschutz, Versicherung und NIS2.

Wissen Sie, welche Rechte Ihre Webserver haben?

Wir prüfen Ihre Webanwendungen, Dienstkonten und Firewall-Regeln und setzen die Absicherung um – als Gesamtpaket oder in einzelnen Schritten.

Kontakt aufnehmen

Quellen & weiterführende Links

Häufige Fragen

Unsere Webseite liegt beim Hoster. Betrifft uns das?+
Die Webseite selbst meist nicht. Interne Webanwendungen wie Zeiterfassung, Ticketsystem oder Intranet aber sehr wohl – und genau die nutzen oft LDAP.
Woher weiß ich, ob eine Anwendung Kerberos kann?+
Stichworte im Handbuch sind „Windows-Authentifizierung“, „Integrierte Anmeldung“, „SPNEGO“ oder „Negotiate“. Im Zweifel fragen wir beim Hersteller nach.
Reicht es, wenn der Webserver gepatcht ist?+
Für die aktuelle Lücke ja. Aber die nächste kommt. Segmentierung und Kerberos entscheiden, ob ein Einbruch beim Webserver endet oder im ganzen Netz.
Webserver-Rechte: Segmentierung, LDAP und Kerberos