Frage

Die einzige Methode, die ich weiß, wie ich IPSec -Änderungen ausführen kann, besteht darin, NetSH aufzurufen, um die Änderungen vorzunehmen. Gibt es eine Methode mit System.management und WMI -Objekten direkt? Wenn ja, was ist das? Es fällt mir schwer, relevante WMI -Informationen mit MSDN zu finden.

Oder gibt es eine andere nützliche Methode, die jemand da draußen verwendet hat?

Bearbeiten: Ich arbeite in C# und würde C# Beispiele in Bezug auf .NET System.Management -basierte Antworten bevorzugen.

Vielen Dank!

War es hilfreich?

Lösung

1) Genau: WMI.

Die statische Methode zur WMI-Klasse EnableIPFiltersec kann die IP-Sicherheit weltweit für alle IP-gebundenen Netzwerkadapter ermöglichen. Mit aktivierter Sicherheitsfunktion können Sicherheitsmerkmale für einen bestimmten Adapter mit der Aktivpuls -WMI -Klassenmethode geändert werden. Msdn für erstere hier:

http://msdn.microsoft.com/en-us/library/aa390381%28vs.85%29.aspx

Informationen zu EnableIPSec und seinen Parametern finden Sie in diesem MSDN -Eintrag (mit denen Sie eine Liste von Ports und Protokollen deklarieren können):

http://msdn.microsoft.com/en-us/library/aa390382%28vs.85%29.aspx

Schließlich ist dies ein Link zum WMI.NET -Codeverzeichnis, in dem nützliche Codeproben verwendet werden. Mit System.management zur Ausführung von WQL -Abfragen.

http://msdn.microsoft.com/en-us/library/ms257338.aspx

HINWEIS:

Wenn Sie mit WQL -Tests für Ihr Objection/SelectQuery System.Management -Objekte wie ich ausgiebig herumspielen müssen, probieren Sie WbemTest aus. Es ist der Windows -Management -Instrumentierungstester und macht das Schreiben, Testen und Honen von WQL für Ihre Anwendungen viel schöner.

2) Verwandte: Programmatische Firewall -Änderungen an Vista oder später unter Verwendung von Firewallapi, INETFWRULE -Schnittstelle und allem anderen, was man braucht.

Auf Vista oder später ist die Verwendung der Firewallapi.dll eine einfache Option, wenn Sie IPSec -Funktionen benötigen, sich aber nicht um die Implementierung von Legacy PolicyAgent kümmern.

Ich wusste nicht, dass dies zunächst eine Option war, da ich nicht wusste, dass die erweiterte Firewall in Vista wirklich IPSec und Firewalling innerhalb der WFP (Windows -Filter -Plattform) kombiniert und ältere IPSec -Implementierungen durch Richtlinien durchführt.

Dies bedeutet, dass die Verwendung von Firewallapi.dll die gesamte Funktionalität von IPSec mit der staatlichen Intelligenz der Firewall geben kann, genau das, was ich wollte. Ich füge nur die schwarzen Regeln hinzu (da Blacklist -Regeln Vorrang haben) und bei Bedarf der Blacklist über die API und WFP füge den Datenverkehr zu fallen. Fertig!

Andere Tipps

In IIS 7 kann die IP -Einschränkung direkt aus der Konfigurationsdatei manipuliert werden, ohne mit Metadatabase durcheinander zu bringen. Für eine einfache Wartungskonfigurationsdatei kann mit configSource teilgenommen werden, damit der IPSecure -Abschnitt in der eigenen Datei gespeichert werden kann.

Kompletter Artikel:
http://boseca.blogspot.com/2010/12/programmatic-addremove-ip-security.html

Sie können es nicht mit WMI machen. WMI ist auf TCP -Filterung beschränkt, was bedeutet, dass die Anschlüsse blockiert werden. Nichts mehr.

Wenn Sie vorherige Windows -Versionen verwenden, können Sie entweder:

a) Verwenden Sie ein Befehlszeilen -Tool, in diesem Fall entweder ipseccmd.exe oder ipsecpol.exe (W2K) oder netsh

oder

b) Schreiben Sie die Richtlinien in das Register

Ich vermute, dass die Befehlszeilen -Tools genau das tun: Sie schreiben Werte in die Registrierung.

Ich bin schon seit einiger Zeit damit beschäftigt und habe keine verwaltete Codelösung gefunden. Schade, dass die WFP -API in früheren Windows -Versionen nicht verfügbar ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top