Encrypted File System (EFS)

Unsere Auditoren haben ein geschultes Auge. Bei fast jedem Audit finden wir auf den überprüften Systemen Konfigurationsdateien und Skripts. Immer wieder enthalten diese Skripts Kennwörter. Meist im Klartext abgespeichert. Die Berechtigungen um auf diese Informationen zuzugreifen sind häufig nicht ausreichend eingeschränkt. Für die Ausführung von Skripts werden leider, oft der Einfachheit halber, Accounts hinterlegt mit lokaler oder sogar domänenweiter Administratorenberechtigung. Obwohl meist geringere Berechtigungen für diese Vorgänge vollkommen ausreichend wären.

Die geringstmöglichen Berechtigungen schützen die Konfigurationsdateien und Skripts jedoch nicht vor einer Übernahme der Berechtigung eines lokalen Administratorenbenutzers. Deshalb sind die Informationen verschlüsselt abzuspeichern. Hier kommt nun EFS von Microsoft zum Einsatz, welches innerhalb einer Domänenumgebung mit CA (Certificate Authority) relativtoor einfach handzuhaben ist.

 

Warum EFS?

Vielleicht haben Sie Vorbehalte gegenüber dem Einsatz von EFS. Was geschieht wenn der Schlüssel des Benutzers verloren geht? Ja, dann sind die Daten leider endgültig weg. Ein Backup der Skripts ist jedoch meist einfach möglich. Wichtig ist, dass Sie es tun. Idealerweise wird EFS in einer Domäne eingesetzt und das Zertifikat des Accounts wird auf dem CA-Server gespeichert. Immerhin, in einer Domäne kann ein «EFS Recovery Agent-Account» definiert werden. Ein zweiter «Notfall» Account, welcher die Daten unverschlüsselt einsehen kann.

 

Setup

CA-Role

In unserer Windows Server 2012 R2-Laborumgebung installieren wir die CA-Rolle direkt auf dem Domain-Controller. Dies hat auf die Funktionsweise der CA keinen Einfluss. Im produktiven Einsatz raten wir, einen eigenständigen CA-Server einzusetzen. Denn OS-Updates und Upgrades haben Einfluss auf die Rollen und dies kann zu unerwünschten Komplikationen führen. Wird ein DC ausser Betrieb genommen, muss die CA verschoben werden usw. Im Zeitalter der Virtualisierung und Datencenter-Lizenzen sollte eine Trennung realisierbar sein.

Bei der Installation der CA-Rolle gibt es nicht viel zu beachten. Ausser dass für den Private Key der CA, die Schlüssellänge des Zertifikates und der Hash-Algorithmus Standartmässig nicht mehr zeitgemäss sind. Wir empfehlen folgende Konfigurationsanpassung vorzunehmen:

Abbildung 1: Konfiguration CA

 

EFS

Damit EFS in der Domäne zuverlässig funktioniert, muss eine Gruppenrichtlinie erstellt werden. Bei diesem Schritt wird das Recovery Zertifikat für den EFS Recovery Agent ausgestellt. Dies funktioniert nur, wenn auf dem Server der Group Policy Editor als Recovery Agent User ausgeführt wird. Leider habe ich keine andere Möglichkeit gefunden. Falls Sie einen einfacheren Weg finden, danke für Ihr Feedback. Wir geben also unserem Recovery Agent-User die Berechtigungen eines Domänen Admins nur provisorisch. Die hohen Rechte werden zukünftig für den Account nicht benötigt. Der Recovery Agent wir auf den verschlüsselten Ordnern auch mit den Rechten eines Domain Users hinterlegt.

Die GPO-Einstellungen finden Sie übrigens unter:
Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Encrypted File System

Bei deutscher Installationssprache unter:
Computerkonfiguration > Windows Einstellungen > Sicherheitseinstellungen > Richtlinien für öffentliche Schlüssel > Verschlüsseltes Dateisystem)

Zuerst definieren wir den «File Recovery» Account mit einem rechtsklick auf Encrypted File System, Create Data Recovery Agent… hinzufügen. Wählen Sie hier einen User Account den Sie ausschliesslich für diesen Zweck einsetzen.

Abbildung 2: GPO Recovery Agent

 

Öffnen Sie nun die Einstellungen (Properties) mit einem Rechtsklick auf Encrypting File System. Nehmen Sie die Einstellungen wie auf dem Screenshot ersichtlich vor. Die Elliptic Curve Cryptography (ECC) setzten wir auf Allow. Weitere Einzelheiten dazu finden Sie im Microsoft TechNet. Selbstsignierte Zertifikate möchten wir nicht erlauben, da die Server jederzeit mit der CA kommunizieren können.

Abbildung 3: GPO EFS Einstellungen

 

Die erstellte Gruppenrichtlinie kann nun der Organisationseinheit Ihrer Server, bei welchen Sie EFS verwenden möchten zugewiesen werden.

 

EFS im Einsatz

EFS ist nun nach einem Neustart (oder gpupdate /force) auf Ihren Servern einsatzbereit. Für unser Beispiel mit Scheduled Tasks erstellen wir Service Accounts auf der Domäne (service_one und service_two) sowie Unterordner auf unserem Server mit den zu verschlüsselnden Dateien (C:\Jobs\Task 1\ und C:\Jobs\Task 1\). Wir müssen uns nun als Service Account am Server anmelden um EFS zu aktivieren (als lokaler Administrator). Die hohen Berechtigungen können Sie nach erfolgter Aktivierung von EFS wieder entfernen.

Nach erfolgter Aktivierung von EFS können die berechtigen Zertifikate eingesehen werden. Wir sehen hier den Service Account sowie unseren EFS Recovery Agent.

Abbildung 4: Ordnereinstellungen

 

Auf der CA können wir ausserdem die ausgestellten Zertifikate begutachten, verwalten, exportieren usw.

Abbildung 5: Zertifikate

 

Exportieren Sie sicherheitshalber die private Keys (vor allem die des Recovery Agenten) und bewahren Sie sie an einem sicheren Ort (z.B. offline in einem Tresor welcher für Datenträger geeignet ist) auf.

 

Scheduled Task

Den Scheduled Task können Sie nun wie gewohnt in der Aufgabenverwaltung des Servers erfassen. Öffnen Sie nachdem der Task erstellt wurde die Einstellungen und ändern Sie die Security options. Dort muss der korrekte Service Account, welcher die Dateien entschlüsseln darf, hinterlegt werden.

Abbildung 6: Scheduled Tasks

 

EFS Recovery Agent

Wenn alle Stricke reissen und der Account mit Zertifikat verloren geht, sind wir auf den EFS Recovery Agent angewiesen. Dazu loggen wir uns nun einfach mit dem Recovery Account am betroffenen System ein. Die Dateien sollten nun lesbar sein.

Falls die Domäne bzw. CA nicht mehr erreichbar ist kann der zuvor exportierte private Key importiert werden und die Dateien sollten ebenfalls wieder lesbar sein.

 

Fazit

Auf den ersten Blick scheint die Vorgehensweise mit EFS kompliziert. Und ich gebe auch offen zu, dass ich diesen Artikel nicht in zwei Stunden erstellt hatte… Andererseits dürfen wir froh sein, dass uns Microsoft eine Lösung mit Bordmitteln ermöglicht, die hohen Sicherheitsanforderungen standhält. Ich denke die einfachste Variante ist es, keine Passwörter unverschlüsselt abzuspeichern. Wenn es dennoch nötig ist, dann bietet EFS eine skalierbare professionelle und aus meiner Sicht auch sichere Möglichkeit zur Verschlüsselung.

Vor einem produktiven Einsatz von EFS erstellen Sie bitte ein Verschlüsselungs-Konzept. Machen Sie sich Gedanken über die CA und den Recovery Prozess. Welche schützenswerten Skripts und Konfigurationsdateien sind in meiner Infrastruktur vorhanden? Wie will ich die Service Accounts einsetzen? Welche Personen haben Zugang zu Kennwörtern und private Keys?

Testen Sie EFS anschliessend ausführlich in einer Laborumgebung. Ich wünsche Ihnen viel Erfolg!

Informationen zum Autor: Antonio Kulhanek