PowerShell Netzwerkkommunikation mit IPSec schützen

IPSec

Internet Protocol Security ist ein Satz von Protokollen, welche unsicheren Netzwerkverkehr verschlüsseln soll. Es ist dabei egal um was für ein Protokoll es sich handelt, wie zum Beispiel FTP oder Telnet. Das tolle dabei ist, es ist egal ob es sich dabei um IPv4 oder IPv6 Netzwerke handelt. Bevor es zu der Einrichtung von IPSec via PowerShell kommt, wird noch ein bisschen Hintergrundwissen benötigt. Es gibt zwei verschiedene IPSec Modi, zum einen Tunnel Mode und zum anderen Transport Mode.

  • Tunnel Mode: Wird meist in Verbindung mit VPN in Verbindung gesetzt, hierbei wird ein Tunnel zwischen zwei Punkten aufgebaut. Dabei handelt es sich oft um zwei Router oder einen Router und ein VPN Client. Das Ziel vom Tunnelmode ist eine sichere Verbindung zwischen zwei Punkten über ein unsicheres Netzwerk herzustellen, wie  über das Internet.
  • Transport Mode: Diese Methode stellt eine End-zu-End Verschlüsselung zwischen zwei Hosts da. Dabei wird im Gegensatz zum Tunnel Mode der Paylod der Pakete verschlüsselt. Das ist vergleichbar, mit dem Aufruf einer HTTPS Webseite. Die Verschlüsselung besteht zwischen dem Host und dem Webserver. Dabei sind keine VPN’s oder Tunnel nötig.

Einrichten von IPSec

Wie zu erwarten wird die Transport Methode für die cichere PowerShell – Kommunikation eingerichtet. Die Einrichtung von IP,Sec erfolgt über die Advanced Firewall und über Gruppenrichtlinien, um die Verteilung besser zu steuern.  Es ist erstaunlich, wie einfach und schnell dies umgesetzt werden kann. Dabei ist es egal, ob es sich um einen oder um eine große Anzahl von Hosts handelt. Das Ziel ist es eine Gruppenrichtlinie mit den entsprechenden Firewall und IPSec Konfigurationen bereitzustellen, welche auf alle Computer in der Domäne ‘joinpowershell.de’ angewandt wird.

  1. Zu Beginn wird eine Remote Session auf den Domänen Kontroller hergestellt um einfacher mit den Gruppenrichtlinien zu arbeiten.

01_enter_pssession_dc

2.  Es wird eine neue Gruppenrichtlinie IPSec erstellt und da diese Richtlinie auf alle Clients angewandt werden soll, wird sie mit der Toplevel OU verlinkt.

02_create_gpo

3. Anschließend wird die IPSec Richtlinie erstellt und in die GPO eingetragen. Die Funktion New-IPSecRule sollte dabei etwas genauer betrachtet werden. Mithilfe dieses Befehls werden die Ports definiert auf welches IPSec angewandt werden soll, mit dem Parameter PolicyStore , dass die Regel in die GPO IPSec eingetragen werden soll. Wird dieser Parameter nicht definiert, so wird die Richtlinie nur lokal eingetragen. Bei der Umsetzung im eigenen Netzwerk sollte sich dieser Befehl noch etwas genauer angeschaut werden.

03_createIPSecRule

 

4. Die GPO ist soweit konfiguriert und es kann vom Management Server aus getestet werden, ob diese auch korrekt angewandt wird.

04_gpupdate

05_get_netipsecrule5. Zum Schluss wird eine Verbindung mit dem Domänen Controller hergestellt und die Verbindung untersucht. Die beiden Befehle  zeigen detaillierte Informationen über den Verbindungsstatus und das IP Protokoll 6 zeigt an, dass es sich um eine IPSec Verbindung  handelt.

06_check_ipsec

 

Das gute an diesem Beispiel ist, dass es sich leicht auf andere Szenarien anwenden lässt, wie anfangs erwähnt, zum Beispiel auf FTP oder Telnet Protokolle.

Über Andreas Bittner

MCSA Server 2016, MCSA Server 2012R2, Exchange 2010 & SharePoint Devop
Dieser Beitrag wurde unter Allgemein, Configuration, DevOps abgelegt und mit , , , , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.