Bewährte Methoden für die sichere Planung und Bereitstellung von AD FS

In diesem Artikel finden Sie Informationen zu bewährten Methoden, die Ihnen bei der Planung und Bewertung der Sicherheit Ihrer AD FS-Bereitstellung (Active Directory Federation Services) helfen. In diesem Artikel wird der Ausgangspunkt für die Überprüfung und Auswertung von Überlegungen beschrieben, die sich auf die allgemeine Sicherheit bei der Verwendung von AD FS auswirken. Die Informationen in diesem Artikel sollen Ihre vorhandene Sicherheitsplanung und andere bewährte Entwurfsmethoden ergänzen und erweitern.

Wichtige bewährte Sicherheitsmethoden für AD FS

Die folgenden wichtigen bewährten Methoden gelten für alle AD FS-Installationen, bei denen Sie die Sicherheit des Entwurfs oder der Bereitstellung verbessern oder erweitern möchten:

  • Schützen von AD FS als „Ebene 0“-System

    Da AD FS grundsätzlich ein Authentifizierungssystem ist, sollte es wie andere Identitätssysteme in Ihrem Netzwerk als „Ebene 0“-System behandelt werden. Weitere Informationen finden Sie unter Active Directory-Verwaltungsebenenmodell.

  • Verwenden des Sicherheitskonfigurations-Assistenten zur Anwendung von AD FS-spezifischen bewährten Sicherheitsmethoden für Verbundserver- und Verbundserverproxy-Computer

    Der Sicherheitskonfigurations-Assistent ist ein Tool, das auf allen Computern mit Windows Server 2008, Windows Server 2008 R2 und Windows Server 2012 vorinstalliert ist. Sie können mit dem Assistenten bewährte Sicherheitsmethoden anwenden, die dazu beitragen, die Angriffsfläche für einen Server auf der Basis der von Ihnen installierten Serverrollen zu reduzieren.

    Wenn Sie AD FS installieren, erstellt das Setupprogramm Rollenerweiterungsdateien mit dem Sicherheitskonfigurations-Assistenten, um eine Sicherheitsrichtlinie zu erstellen, die für die bestimmte AD FS-Serverrolle (Verbundserver oder Verbundserverproxy) angewendet wird, die Sie während des Setups auswählen.

    Jede installierte Rollenerweiterungsdatei stellt den Rollen- und Unterrollentyp dar, für den jeder Computer konfiguriert ist. Die folgenden Rollenerweiterungsdateien werden im Verzeichnis C:WindowsADFSScw installiert:

    • Farm.xml

    • SQLFarm.xml

    • StandAlone.xml

    • Proxy.xml (Diese Datei ist nur vorhanden, wenn der Computer in der Verbundserverproxy-Rolle konfiguriert wurde.)

    Führen Sie die folgenden Schritte in der angegebenen Reihenfolge durch, um die AD FS-Rollenerweiterungen im Sicherheitskonfigurations-Assistenten zuzuweisen:

    1. Installieren Sie AD FS, und wählen Sie die geeignete Serverrolle für diesen Computer aus. Weitere Informationen finden Sie unter Installieren des Verbunddienstproxy-Rollendiensts im AD FS-Bereitstellungshandbuch.

    2. Registrieren Sie die geeignete Rollenerweiterungsdatei mit dem Scwcmd-Befehlszeilentool. Ausführliche Informationen zur Verwendung des Tools in der Rolle, für die Ihr Computer konfiguriert ist, finden Sie in der folgenden Tabelle.

    3. Vergewissern Sie sich, dass der Befehl erfolgreich ausgeführt wurde, indem Sie die Datei „SCWRegister_log.xml“ untersuchen, die sich im Verzeichnis „WindowssecurityMsscwLogs“ befindet.

    Sie müssen all diese Schritte auf jedem Verbundserver- oder Verbundserverproxy-Computer durchführen, für den Sie AD FS-basierte Sicherheitsrichtlinien des Sicherheitskonfigurations-Assistenten anwenden möchten.

    In der folgenden Tabelle wird erklärt, wie Sie die geeignete Rollenerweiterung des Sicherheitskonfigurations-Assistenten auf der Basis der AD FS-Serverrolle registrieren, die Sie auf dem Computer ausgewählt haben, auf dem AD FS installiert ist.

    AD FS-Serverrolle Verwendete AD FS-Konfigurationsdatenbank Geben Sie an einer Eingabeaufforderung den folgenden Befehl ein:
    Eigenständiger Verbundserver Interne Windows-Datenbank scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwStandAlone.xml"
    Einer Farm angehöriger Verbundserver Interne Windows-Datenbank scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwFarm.xml"
    Einer Farm angehöriger Verbundserver SQL Server scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwSQLFarm.xml"
    Verbundserverproxy scwcmd register /kbname:ADFS2Standalone /kbfile:"WindowsADFSscwProxy.xml"

    Weitere Informationen zu den Datenbanken, die Sie mit AD FS verwenden können, finden Sie unter Die Rolle der AD FS-Konfigurationsdatenbank.

  • Verwenden Sie die Tokenwiedergabeerkennung in Situationen, in denen Sicherheit eine besonders wichtige Bedeutung hat, z. B. wenn Kioske verwendet werden. Die Tokenwiedergabeerkennung ist eine Funktion von AD FS, die sicherstellt, dass alle Versuche der mehrmaligen Wiederholung einer an den Verbunddienst gerichteten Tokenanforderung erkannt wird und die Anforderung verworfen wird. Die Erkennung von Tokenwiederholungen ist standardmäßig aktiviert. Sie funktioniert sowohl für das passive WS-Verbundprofil als auch das Security Assertion Markup Language (SAML)-WebSSO-Profil, indem sie sicherstellt, dass dasselbe Token niemals mehr als einmal verwendet wird.

    Wenn der Verbunddienst gestartet wird, wird ein Cache aller erfüllten Tokenanforderungen aufgebaut. Wenn mit der Zeit anschließende Tokenanforderungen zum Cache hinzugefügt werden, hat der Verbunddienst immer bessere Möglichkeiten, alle Versuche der mehrmaligen Wiederholung von Tokenanforderungen zu erkennen. Wenn Sie Erkennung von Tokenwiederholungen deaktivieren und später entscheiden, sie erneut zu aktivieren, denken Sie daran, dass der Verbunddienst für einen gewissen Zeitraum weiterhin Token akzeptiert, die zuvor verwendet wurden, bis der Wiederholungscache ausreichend Zeit erhält, seine Inhalte aufzubauen. Weitere Informationen hierzu finden Sie unter The Role of the AD FS Configuration Database (Die Rolle der AD FS-Konfigurationsdatenbank).

  • Verwenden der Tokenverschlüsselung, insbesondere wenn Sie die unterstützende SAML-Artefaktauflösung verwenden

    Die Verschlüsselung von Token wird dringend empfohlen, um die Sicherheit und den Schutz vor potenziellen MITM-Angriffen (Man-in-the-Middle) auf Ihre AD FS-Bereitstellung zu steigern. Die Verwendung der Verschlüsselung hat möglicherweise geringfügige allgemeine Auswirkungen, aber in der Regel sollten diese nicht bemerkbar sein, und in vielen Bereitstellungen überwiegen die Vorteile einer höheren Sicherheit alle Nachteile hinsichtlich der Serverleistung.

    Zum Aktivieren der Tokenverschlüsselung fügen Sie zuerst ein Verschlüsselungszertifikat für die Vertrauensstellungen der vertrauenden Seite hinzu. Sie können ein Verschlüsselungszertifikat entweder bei der Erstellung einer Vertrauensstellung der vertrauenden Seite oder später erstellen. Wenn Sie nachträglich ein Verschlüsselungszertifikat zu einer vorhandenen Vertrauensstellung hinzufügen möchten, können Sie mit dem AD FS-Snap-In auf der Registerkarte Verschlüsselung in den Vertrauenseigenschaften ein Zertifikat zur Verwendung festlegen. Verwenden Sie den EncryptionCertificate-Parameter des Cmdlets Set-ClaimsProviderTrust oder Set-RelyingPartyTrust, um ein Zertifikat für eine vorhandene Vertrauensstellung mithilfe der AD FS-Cmdlets anzugeben. Verwenden Sie das Cmdlet Set-ADFSCertificate, und geben Sie „Token-Encryption“ für den Parameter CertificateType an, um ein Zertifikat für den Verbunddienst zur Entschlüsselung von Token festzulegen. Die Aktivierung und Deaktivierung der Verschlüsselung für eine bestimmte Vertrauensstellung der vertrauenden Seite kann über den Parameter EncryptClaims des Cmdlets Set-RelyingPartyTrust durchgeführt werden.

  • Nutzen des erweiterten Schutzes für die Authentifizierung

    Sie können die Funktion für den erweiterten Schutz für die Authentifizierung mit AD FS festlegen und verwenden, um Ihre Bereitstellungen zu sichern. Diese Einstellung gibt die Stufe des erweiterten Schutzes für die Authentifizierung an, die von einem Verbundserver unterstützt wird.

    Der erweiterte Schutz für die Authentifizierung trägt dazu bei, Schutz vor Man-in-the-Middle-Angriffen (MITM) bereitzustellen, bei denen ein Angreifer Clientanmeldeinformationen abfängt und an einen Server weiterleitet. Der Schutz vor solchen Angriffen wird durch ein Kanalbindungstoken ermöglicht, das vom Server erfordert, zugelassen oder nicht erfordert wird, wenn diese eine Kommunikation mit Clients einrichtet.

    Zur Aktivierung der Funktion für den erweiterten Schutz verwenden Sie den Parameter ExtendedProtectionTokenCheck des Cmdlets Set-ADFSProperties. Mögliche Werte für diese Einstellung und die Sicherheitsstufe, die der jeweilige Wert bereitstellt, sind in der folgenden Tabelle beschrieben.

    Parameterwert Sicherheitsstufe Schutzeinstellung
    Erforderlich Die Sicherheit des Servers ist vollständig verstärkt. Der erweiterte Schutz wird erzwungen und ist immer erforderlich.
    Allow Die Sicherheit des Servers ist teilweise verstärkt. Der erweiterte Schutz wird erzwungen, wenn die beteiligten Systeme einen Patch erhalten haben, um diesen zu unterstützen.
    Keiner Der Server ist anfällig. Der erweiterte Schutz wird nicht erzwungen.
  • Wenn Sie die Protokollierung und Nachverfolgung verwenden, stellen Sie den Datenschutz für alle sensiblen Informationen sicher.

    AD FS bietet standardmäßig keine direkte Verfügbarmachung oder Verfolgung von personenbezogenen Informationen als Teil des Verbunddiensts oder normaler Abläufe. Wenn die Ereignisprotokollierung und die Debug-Ablaufverfolgungsprotokollierung in AD FS aktiviert sind, enthalten jedoch einige Anspruchstypen und die damit verbundenen Werte je nach konfigurierter Anspruchsrichtlinie möglicherweise personenbezogene Informationen, die in den AD FS-Ereignis- oder Ablaufverfolgungsprotokollen protokolliert sein können.

    Daher wird das Erzwingen der Zugriffssteuerung für die AD FS-Konfiguration und die dazugehörigen Protokolldateien dringend empfohlen. Wenn diese Art von Informationen nicht sichtbar sein soll, deaktivieren Sie die Protokollierung oder filtern Sie alle personenbezogenen Informationen oder sensiblen Daten in Ihren Protokollen heraus, bevor Sie diese mit anderen gemeinsam verwenden.

    Die folgenden Tipps können Ihnen helfen, die Inhalte einer Protokolldatei nicht versehentlich verfügbar zu machen:

    • Stellen Sie sicher, dass die AD FS-Ereignisprotokoll- und -Ablaufverfolgungsprotokoll-Dateien durch Zugriffssteuerungslisten geschützt sind, die den Zugriff nur auf vertrauenswürdige Administratoren einschränken, die einen Zugriff darauf benötigen.

    • Kopieren oder archivieren Sie Protokolldateien nicht mit Dateierweiterungen oder Pfaden, die einfach über eine Webanforderung bereitgestellt werden können. Beispielsweise ist die Dateinamenerweiterung .xml keine sichere Option. Sie finden im Administratorhandbuch von IIS (Internet Information Services) eine Liste aller Erweiterungen, die bereitgestellt werden können.

    • Wenn Sie den Pfad zur Protokolldatei überprüfen, stellen Sie sicher, dass Sie einen absoluten Pfad für den Speicherort der Protokolldatei angeben, der außerhalb öffentlichen Verzeichnisses des virtuellen Webhoststamms liegt, um zu verhindern, dass eine externe Partei über einen Webbrowser darauf zugreifen kann.

  • AD FS Extranet Soft Lockout und AD FS Extranet Smart Lockout Protection

    Im Falle eines Angriffs in Form von Authentifizierungsanforderungen mit ungültigen (ungültigen) Kennwörtern, die über das Webanwendungsproxy kommen, können Sie mithilfe der AD FS-Extranetsperre Ihre Benutzer vor einer AD FS-Kontosperrung schützen. Die AD FS-Extranetsperre schützt Ihre Benutzer nicht nur vor einer AD FS-Kontosperre, sondern auch vor Brute-Force-Angriffen zum Erraten von Kennwörtern.

    Informationen zu Extranet Soft Lockout für AD FS unter Windows Server 2012 R2 finden Sie unter Extranet Soft Lockout-Schutz für AD FS.

    Informationen zu Extranet Smart Lockout für AD FS unter Windows Server 2016 finden Sie unter Extranet Smart Lockout-Schutz für AD FS.

Wichtige SQL Server-spezifische bewährte Sicherheitsmethoden für AD FS

Die folgenden bewährten Sicherheitsmethoden sind für die Verwendung der Microsoft SQL Server®- oder internen Windows-Datenbank (WID) spezifisch, wenn diese Datenbanktechnologien für die Verwaltung von Daten im Entwurf und in der Bereitstellung von AD FS verwendet werden.

Hinweis

Die Empfehlungen sollen SQL Server-Produktsicherheitsanleitungen ergänzen, aber nicht ersetzen. Weitere Informationen zum Planen einer sicheren SQL Server-Installation finden Sie unter Überlegungen zur Sicherheit von SQL-Installationen (https://go.microsoft.com/fwlink/?LinkID=139831).

  • Bestellen Sie SQL Server immer hinter einer Firewall in einer physisch sicheren Netzwerkumgebung bereit.

    Eine SQL Server-Installation sollte niemals direkt für das Internet verfügbar gemacht werden. Nur Computer, die sich in Ihrem Rechenzentrum befinden, sollten Ihre SQL Server-Installation erreichen können, die AD FS unterstützt. Weitere Informationen finden Sie unter Prüfliste für bewährte Sicherheitsmethoden (https://go.microsoft.com/fwlink/?LinkID=189229).

  • Führen Sie SQL Server unter einem Dienstkonto aus, statt die integrierten Standardsystem-Dienstkonten zu verwenden.

    Standardmäßig wird SQL Server oft installiert und konfiguriert, um eins der unterstützten integrierten Systemkonten zu verwenden, beispielsweise das LocalSystem- oder das NetworkService-Konto. Für eine höhere Sicherheit Ihrer SQL Server-Installation für AD FS verwenden Sie möglichst ein separates Dienstkonto für den Zugriff auf Ihren SQL Server-Dienst, und aktivieren Sie die Kerberos-Authentifizierung, indem Sie den Sicherheitsprinzipalnamen (SPN) dieses Kontos in Ihrer Active Directory-Bereitstellung registrieren. Damit wird eine gegenseitige Authentifizierung zwischen Client und Server ermöglicht. Ohne SPN-Registrierung eines separaten Dienstkontos verwendet SQL Server NTLM für die Windows-basierte Authentifizierung, bei der nur der Client authentifiziert wird.

  • Minimieren Sie die Oberfläche von SQL Server.

    Aktivieren Sie nur die SQL Server-Endpunkte, die erforderlich sind. Standardmäßig stellt SQL Server einen einzigen integrierten TCP-Endpunkt bereit, der nicht entfernt werden kann. Für AD FS sollten Sie diesen TCP-Endpunkt für die Kerberos-Authentifizierung aktivieren. Zum Überprüfen der aktuellen TCP-Endpunkte, um zu sehen, ob zusätzliche benutzerdefinierte TCP-Ports zu einer SQL-Installation hinzugefügt werden, können Sie die Abfrageanweisung „SELECT * FROM sys.tcp_endpoints“ in einer Transact-SQL-Sitzung (T-SQL) verwenden. Weitere Informationen zu SQL Server-Endpunktkonfiguration finden Sie unter Vorgehensweise: Konfigurieren der Datenbank-Engine zum Lauschen an mehreren TCP-Ports (https://go.microsoft.com/fwlink/?LinkID=189231).

  • Vermeiden Sie die Verwendung der SQL-basierten Authentifizierung.

    Damit Sie Kennwörter nicht in Klartext über Ihrer Netzwerk übertragen oder in Konfigurationseinstellungen speichern müssen, verwenden Sie nur die Windows-Authentifizierung mit Ihrer SQL Server-Installation. Die SQL Server-Authentifizierung ist ein Legacyauthentifizierungsmodus. Das Speichern von SQL-Anmeldeinformationen (SQL-Benutzernamen und -Kennwörter) bei der Verwendung der SQL Server-Authentifizierung ist nicht empfehlenswert. Weitere Informationen finden Sie unter Authentifizierungsmodi (https://go.microsoft.com/fwlink/?LinkID=189232).

  • Beurteilen Sie sorgfältig, ob eine zusätzliche Kanalsicherheit in Ihrer SQL-Installation erforderlich ist.

    Selbst bei wirksamer Kerberos-Authentifizierung bietet die SQL Server Security Support Provider-Schnittstelle (SSPI) keine Sicherheit auf Kanalebene. Für Installationen, bei denen sich Server sicher in einem durch eine Firewall geschützten Netzwerk befinden, ist eine Verschlüsselung der SQL-Kommunikation möglicherweise jedoch nicht erforderlich.

    Zwar ist die Verschlüsselung ein wertvolles Mittel, Sicherheit zu gewährleisten, sollte jedoch nicht für alle Daten oder Verbindungen verwendet werden. Bevor Sie sich dafür entscheiden, Verschlüsselung zu verwenden, prüfen Sie, wie Benutzer auf die Daten zugreifen. Wenn Benutzer über ein öffentliches Netzwerk auf Daten zugreifen, könnte die Datenverschlüsselung die Sicherheit erhöhen. Wenn jedoch der gesamte Zugriff auf SQL-Daten durch AD FS über eine sichere Intranetkonfiguration erfolgt, ist eine Verschlüsselung möglicherweise nicht erforderlich. Jede Verwendung der Verschlüsselung sollte auch eine Wartungsstrategie für Kennwörter, Schlüssel und Zertifikate einschließen.

    Wenn Sie Bedenken haben, dass SQL-Daten möglicherweise in Ihrem Netzwerk gesehen oder manipuliert werden, verwenden Sie die Internetprotokollsicherheit (IPsec) oder Secure Sockets Layer (SSL), um Ihre SQL-Verbindungen zu sichern. Dies hat jedoch möglicherweise negative Auswirkungen auf die Leistung von SQL Server, wodurch die Leistung von AD FS in einigen Situationen beeinträchtigt oder eingeschränkt werden kann. Die AD FS-Leistung bei der Tokenausstellung verschlechtert sich zum Beispiel möglicherweise, wenn das Abrufen von Attributen aus einem SQL-basierten Attributspeicher wichtig für die Tokenausstellung ist. Sie können eine SQL-Manipulationsbedrohung einfacher vermeiden, indem Sie eine robuste Umkreissicherheitskonfiguration haben. Für eine bessere Lösung für das Sichern einer SQL Server-Installation sollten Sie beispielsweise sicherstellen, dass sie für Internetbenutzer und -computer nicht zugänglich ist und der Zugriff nur für Benutzer oder Computer in Ihrer Rechenzentrumsumgebung möglich ist.

    Weitere Informationen finden Sie unter Verschlüsseln von Verbindungen mit SQL Server oder SQL Server-Verschlüsselung.

  • Konfigurieren Sie einen sicher entworfenen Zugriff durch die Verwendung von gespeicherten Verfahren für die Durchführung aller SQL-basierten Abfragen von SQL-gespeicherten Daten durch AD FS.

    Für eine bessere Dienst- und Datenisolierung können Sie gespeicherte Verfahren für alle Abrufbefehle für den Attributspeicher erstellen. Sie können eine Datenbankrolle erstellen, der Sie dann die Berechtigung erteilen, die gespeicherten Verfahren auszuführen. Weisen Sie dieser Datenbankrolle die Dienstidentität des AD FS-Windows-Diensts zu. Der AD FS-Windows-Dienst sollte keine andere SQL-Anweisung außer den geeigneten gespeicherten Verfahren für das Abrufen von Attributen ausführen können. Wenn Sie den Zugriff auf die SQL Server-Datenbank auf diese Weise sperren, reduzieren Sie das Risiko von Rechteerweiterungsangriffen.

Weitere Informationen

AD FS-Entwurfshandbuch in Windows Server 2012