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

In diesem Thema finden Sie bewährte Informationen zum Planen und Bewerten der Sicherheit, wenn Sie Ihre Active Directory-Verbunddienste (AD FS) (AD FS)-Bereitstellung entwerfen. Dieses Thema ist ein Ausgangspunkt für die Überprüfung und Bewertung von Überlegungen, die sich auf die Gesamtsicherheit Ihrer Verwendung von AD FS auswirken. Die Informationen in diesem Thema sollen Ihre vorhandene Sicherheitsplanung und andere bewährte Methoden ergänzen und erweitern.

Wichtige bewährte Sicherheitsmethoden für AD FS

Die folgenden bewährten Methoden gelten für alle AD FS-Installationen, in denen Sie die Sicherheit Ihres Designs oder Ihrer Bereitstellung verbessern oder erweitern möchten:

  • Sichere AD FS als "Tier 0"-System

    Da AD FS grundsätzlich ein Authentifizierungssystem ist, sollte es als "Tier 0"-System wie andere Identitätssysteme in Ihrem Netzwerk 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 (SCW) ist ein Tool, das auf allen Windows Server 2008-, Windows Server 2008 R2- und Windows Server 2012-Computern 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 Partnerverbunddienst-Proxyrollendiensts 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. Stellen Sie sicher, dass der Befehl erfolgreich abgeschlossen wurde, indem Sie die SCWRegister_log.xml Datei untersuchen, die sich im WindowssecurityMsscwLogs-Verzeichnis 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 Erkennung von Token in Situationen, in denen Sicherheit ein sehr wichtiges Anliegen ist, z. B. wenn Kioske verwendet werden. Die Token-Wiedergabeerkennung ist ein Feature von AD FS, mit dem sichergestellt wird, dass alle Versuche, eine Tokenanforderung erneut wiedergeben zu können, die an den Verbunddienst vorgenommen wird, erkannt 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, Sicherheit und Schutz vor potenziellen Man-in-the-Middle-Angriffen (MITM) zu erhöhen, die möglicherweise gegen Ihre AD FS-Bereitstellung versucht werden. 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 einem vorhandenen Vertrauen der vertrauenden Partei später ein Verschlüsselungszertifikat hinzufügen möchten, können Sie ein Zertifikat für die Verwendung auf der Registerkarte "Verschlüsselung " innerhalb von Vertrauenseigenschaften festlegen, während Sie das AD FS-Snap-In verwenden. Um ein Zertifikat für eine vorhandene Vertrauensstellung mithilfe der AD FS-Cmdlets anzugeben, verwenden Sie den EncryptionCertificate-Parameter entweder des Set-ClaimsProviderTrust - oder Set-Trust-Cmdlets . Um ein Zertifikat für den Verbunddienst festzulegen, das beim Entschlüsseln von Token verwendet werden soll, verwenden Sie das Cmdlet "Set-ADFSCertificate" und geben "Token-Encryption" für den CertificateType-Parameter an. 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

    Um Ihre Bereitstellungen zu sichern, können Sie den erweiterten Schutz für die Authentifizierungsfunktion mit AD FS festlegen und verwenden. Diese Einstellung gibt die Ebene 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
    Anforderung 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.
    Keine 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 stellt standardmäßig keine personenbezogenen Informationen (PII) direkt im Rahmen des Verbunddiensts oder normaler Vorgänge bereit. Wenn die Ereignisprotokollierung und die Debugablaufverfolgung in AD FS aktiviert sind, sind jedoch abhängig von der Anspruchsrichtlinie, die Sie einige Anspruchstypen konfigurieren, und ihre zugeordneten Werte enthalten möglicherweise PII, die möglicherweise in den AD FS-Ereignis- oder Ablaufverfolgungsprotokollen protokolliert werden.

    Daher wird das Erzwingen der Zugriffssteuerung in der AD FS-Konfiguration und deren Protokolldateien dringend empfohlen. Wenn Diese Art von Informationen nicht sichtbar sein soll, sollten Sie die Anmeldung deaktivieren oder alle PII- oder vertraulichen Daten in Ihren Protokollen ausfiltern, bevor Sie sie für andere freigeben.

    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 Ablaufverfolgungsprotokolldateien durch Zugriffssteuerungslisten (ACL) geschützt sind, die den Zugriff nur auf diejenigen vertrauenswürdigen Administratoren beschränken, die Zugriff auf sie 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

    Bei einem Angriff in Form von Authentifizierungsanforderungen mit ungültigen(schlechten) Kennwörtern, die über das Web Anwendungsproxy kommen, können Sie ihre Benutzer vor einer AD FS-Kontosperrung schützen. Zusätzlich zum Schutz Ihrer Benutzer vor einer AD FS-Kontosperrung schützt ad FS extranet lockout auch vor brute force-Kennwortraten.

    Für Extranet Soft Lockout für AD FS auf Windows Server 2012 R2 finden Sie unter AD FS Extranet Soft Lockout Protection.

    Für Extranet Smart Lockout für AD FS finden Sie auf Windows Server 2016 siehe AD FS Extranet Smart Lockout Protection.

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

Die folgenden bewährten Sicherheitspraktiken sind speziell für die Verwendung von Microsoft SQL Server ® oder interne Windows-Datenbank (WID), wenn diese Datenbanktechnologien verwendet werden, um Daten im AD FS-Design und der Bereitstellung zu verwalten.

Hinweis

Die Empfehlungen sollen SQL Server-Produktsicherheitsanleitungen ergänzen, aber nicht ersetzen. Weitere Informationen zum Planen einer sicheren SQL Server-Installation finden Sie unter Sicherheitsaspekte für eine sichere SQL-Installation (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 innerhalb Ihres Rechenzentrums 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 Sicherheitspraktiken (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. Um die Sicherheit Ihrer SQL Server-Installation für AD FS zu verbessern, verwenden Sie ggf. 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 How To: Configure the Database Engine to Listen on Multiple 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 alle Zugriff auf SQL-Daten von AD FS eine sichere Intranetkonfiguration umfassen, ist die 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 kann jedoch negative Auswirkungen auf SQL Server Leistung haben, die sich auf die AD FS-Leistung in einigen Situationen auswirken oder einschränken können. Beispielsweise kann die AD FS-Leistung in der Tokenausgabe beeinträchtigt werden, wenn Attribut-Nachschlagevorgänge aus einem SQL-basierten Attributspeicher für die Tokenausgabe wichtig sind. 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 zu SQL Server oder SQL Server Verschlüsselung.

  • Konfigurieren Sie sicher gestalteten Zugriff mithilfe gespeicherter Prozeduren, um alle SQL-basierten Nachschlagevorgänge von AD FS von SQL-gespeicherten Daten auszuführen.

    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 die Dienstidentität des AD FS-Windows-Diensts dieser Datenbankrolle zu. Der AD FS-Windows-Dienst sollte keine andere SQL-Anweisung ausführen können, andere als die entsprechenden gespeicherten Prozeduren, die für die Attributsuche verwendet werden. 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