|
Kapitel höher
| |
Übernahme der IPSec-Einstellungen aus der Konfiguration von ISA Server 2006
Die Informationen in diesem Artikel beziehen sich auf:
- Microsoft ISA Server 2006
- Microsoft Forefront TMG 2010
Wie auch schon in den Vorgängerversionen von Microsoft TMG war
es möglich die bereits bestehende Konfiguration per Import zu übernehmen. Dabei
wurden alle Einstellungen, wie Firewallrichtlinien, Cacheeinstellungen, usw.,
übernommen und man konnte ohne großen Aufwand eine Versionsumstellung vornehmen.
Der Import der exportierten Konfiguration von ISA Server 2006 zur Übernahme der
Einstellungen funktioniert auch problemlos mit Microsoft TMG, allerdings mit
einer kleinen Ausnahme. Nach dem Import der Konfiguration sind die
IPSec-Einstellungen für Phase I und Phase II nicht 100%ig übernommen worden. Was
zunächst nach einem Fehler in der Importfunktion aussieht ist aber ein gewollter
Effekt. Grund hierfür ist das Motto: "Security by default", welches schon aus
Zeiten von ISA Server 2004 stammt. Sicherheit per Design heisst somit, dass die
IPSec-Einstellungen für Phase I und II als Verschlüsselungsalgorithmus anstelle
des ursprünglichen Wertes AES256 und zur Integritätsprüfung SHA256 verwenden.
Die gewählten Algorithmen für Verschlüsselung und Integritätsprüfung bieten im
Vergleich zu den bisher verfügbaren Algorithmen eine größere Sicherheit für die
übertragenen Datenpakete.
Wer also nach einer Übernahme der Konfiguration in Microsoft TMG hofft, dass
seine bereits vorhandenen IPSec-S2S-VPN-Tunnel problemlos aufgebaut werden,
liegt hier falsch. Grund ist, dass ein Tunnel nur aufgebaut werden kann, wenn
auf beiden Seiten die gleichen Einstellungen in Phase I und II vorhanden sind.
Abhängig davon wie viele IPSec-S2S-VPN-Tunnel Sie in Ihrer Konfiguration
besitzen kann dies ziemlich mühsam werden die einzelnen, evtl. auch
unterschiedlichen, Einstellungen wieder herzustellen.
An dieser Stelle sollten Sie vielleicht überlegen hier die Anpassung der
Sicherheitseinstellungen für Phase I und II nicht in Microsoft TMG vorzunehmen
sondern, die Gegenstelle auf die neuen Werte anzupassen, um von der höheren
Sicherheit zu profitieren.
Sofern Sie allerdings keine Möglichkeit haben die Gegenstellen anzupassen, z.B.
weil diese die neueren Algorithmen nicht unterstützen, möchten wir Ihnen
folgendes Skript vorstellen, mit dem Sie problemlos nach dem Import die
ursprünglichen Einstellungen für die Phasen I und II der IPSec-S2S-VPN-Tunnel
übernehmen können.
1. Ist-Zustand nach Übernahme der Konfiguration
Die Einstellungen nach dem Import stehen auf AES256 und SHA256, was nicht den
ursprünglichen Werten von 3DES und SHA1 entspricht.
2. Das Skript zur Übernahme der Einstellungen
Mittels folgendem Skript können Sie die Einstellungen aus der
Konfigurationssicherung von ISA Server 2006 auslesen und diese in die
Konfiguration von Microsoft TMG übernehmen.
Kopieren Sie hierzu das Skript in einen Texteditor, z.B. Notepad und speichern
Sie es unter dem Dateinamen vpnfix.vbs ab.
#########################################################################################
Dieses Skript übernimmt die IPSec-Einstellungen für Phase I und II der
IPSec-VPN-Tunnel
aus der ISA Server 2006-Konfiguration nach dem Import und wendet diese
auf die Konfiguration
von Microsoft TMG an.
Die Verwendung dieses Skripts erfolgt auf eigene Verantwortung.
Es wird keine Haftung für eventuelle Schäden übernommen!
Geschrieben von Christian Gröbner [MVP Forefront]
#########################################################################################
' ----- Sub restore_ipsec_settings -----
Sub restore_ipsec_settings(fpcRoot, VPN_Name, Int_PhaseI, Enc_PhaseI,
Int_PhaseII, Enc_PhaseII)
Dim Intproviders
Dim Encproviders
Intproviders = Array("SHA1","MD5")
Encproviders = Array("DES","3DES")
set objIPSec =
fpcRoot.GetContainingArray.NetworkConfiguration.Networks.Item(VPN_Name).VPNConfiguration.IPSecSettings
wscript.echo "Restoring IPSec-settings for network" & VPN_Name & vbCrLf
wscript.echo "Phase I integrity : " & Intproviders(Int_PhaseI)
objIPSec.Phase1Integrity = Int_PhaseI
wscript.echo "Phase I encryption : " & Encproviders(Enc_PhaseI)
objIPSec.Phase1Encryption = Enc_PhaseI
wscript.echo "Phase II integrity : " & Intproviders(Int_PhaseII)
objIPSec.Phase2Integrity = Int_PhaseII
wscript.echo "Phase II encryption : " & Encproviders(Enc_PhaseII) &
vbCrLf
objIPSec.Phase2Encryption = Enc_PhaseII
wscript.echo "Successfully applied the settings"
wscript.echo
"-----------------------------------------------------------" & vbCrLf
End Sub
' ------ Sub Main -------
Sub Main()
Dim PhaseI_Int
Dim PhaseI_Enc
Dim PhaseII_Int
Dim PhaseII_Enc
Dim config
config = Inputbox("Please enter the complete path and filename with
extension to the existing configuration file of ISA 2006 : (Example: C:\Temp\config.xml)")
Set xmlFile = CreateObject("Microsoft.XMLDOM")
If xmlFile.load(config) then
set objFPC = CreateObject("FPC.Root")
Set networkNodes = xmlFile.getElementsByTagName("fpc4:Network")
For each networkNode in networkNodes
If (Not(networkNode.selectSingleNode("fpc4:NetworkConnectionType") is
Nothing)) Then
If (networkNode.selectSingleNode("fpc4:NetworkConnectionType").Text
= 4) Then
PhaseI_Int = 0
PhaseI_Enc = 1
PhaseII_Int = 0
PhaseII_Enc = 1
Name = networkNode.selectSingleNode("fpc4:Name").Text
Set ipsecSettingsNode = networkNode.selectSingleNode("fpc4:VpnNetworkConfiguration/fpc4:VpnNetworkIPSecSettings")
If (Not(ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase1Encryption")
is Nothing)) Then PhaseI_Enc = ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase1Encryption").Text
If (Not(ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase1Integrity")
is Nothing)) Then PhaseI_Int = ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase1Integrity").Text
If (Not(ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase2Encryption")
is Nothing)) Then PhaseII_Enc = ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase2Encryption").Text
If (Not(ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase2Integrity")
is Nothing)) Then PhaseII_Int = ipsecSettingsNode.selectSingleNode("fpc4:VpnNetworkPhase2Integrity").Text
restore_ipsec_settings objFPC, Name, PhaseI_Int, PhaseI_Enc,
PhaseII_Int, PhaseII_Enc
End If
End If
Next
objFPC.GetContainingArray.Save
Else
wscript.echo("The file does not exist!")
End If
End Sub
'------ Start the script ------
Main
|
Kopieren Sie das Skript auf den Server mit Microsoft TMG in einen temporären
Ordner, z.B. C:\Temp, und kopieren Sie ebenfalls die Konfigurationssicherung von
ISA Server 2006 in diesen Ordner.
Öffnen Sie danach eine Eingabeaufforderung im privilegierten Modus über Start ->
Alle Programme -> Zubehör -> Eingabeaufforderung, indem Sie aus dem Kontextmenü
den Eintrag "Als Administrator ausführen" wählen. Wechseln Sie darauf hin in das
Verzeichnis, in das Sie das Skirpt und die ursprüngliche Konfiguration kopiert
haben und führen Sie das Skript mit dem Befehl cscript vpnfix.vbs aus.
Zu Beginn werden Sie nach dem Speicherort der Konfigurationsdatei von ISA Server
2006 gefragt, geben Sie diesen mit dem vollständigen Pfad und Dateinamen an,
z.B. C:\Temp\config.xml und klicken Sie danach auf die Schaltfläche OK.
Das Skript beginnt nun die bestehende Konfiguration auszulesen und sucht in
dieser nach vorhandenen IPSec-S2S-VPN-Netzwerken. Wird ein
IPSec-S2S-VPN-Netzwerk gefunden, so werden die Einstellungen für Phase I und
Phase II ermittelt und diese anschließend auf das entsprechende
IPSec-S2S-VPN-Netzwerk in der Konfiguration von Microsoft TMG übertragen.
Das Skript gibt Ihnen während der Ausführung Informationen darüber, welche
IPSec-S2S-VPN-Netzwerke gefunden und welche Einstellungen für diese Netzwerke
angewendet wurden.
Nachdem der Durchlauf des Skripts beendet ist warten Sie einen Moment ab, bis
sich Microsoft TMG die aktualisierte Konfiguration von
Konfigurationsspeicherserver geladen hat und somit die neuen Einstellungen für
die IPSec-S2S-VPN-Tunnel gelten.

Öffnen Sie danach die Verwaltungskonsole von Microsoft TMG und kontrollieren Sie
stichprobenartig die Einstellungen der Phasen I und II der IPSec-Tunnel.
Sie sollten jetzt die unter ISA Server 2006 konfigurierten Werte vorfinden und
die Tunnel können wieder aufgebaut werden.
Stand:
Saturday, 09. January 2010/CG
|