2

IPsec の変更を実行する方法を私が知っている唯一の方法は、変更を行うために netsh を呼び出すことです。System.Management と WMI オブジェクトを直接使用する方法はありますか? もしそうなら、それは何ですか?MSDN で関連する WMI 情報を見つけるのに苦労しています。

または、誰かが使用した他の便利な方法はありますか?

編集: 私は C# で作業しており、.NET System.Management ベースの回答に関して C# の例を好むでしょう。

ありがとうございました!

4

3 に答える 3

4

1) 正確: WMI。

EnableIPFilterSec WMI クラスの静的メソッドを使用すると、IP にバインドされたすべてのネットワーク アダプターでグローバルに IP セキュリティを有効にすることができます。セキュリティを有効にすると、EnableIPSec WMI クラス メソッドを使用して、特定のアダプタのセキュリティ特性を変更できます。ここの前者のMSDN:

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

また、EnableIPSec とそのパラメーター (ポートとプロトコルのリストを宣言できるようにする) については、次の MSDN エントリを参照してください。

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

最後に、これは WMI.NET コード ディレクトリへのリンクです。ここには、System.Management を使用して WQL クエリを実行するコードの有用なサンプルがあります。

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

ノート:

私が行ったように、ObjectQuery/SelectQuery System.Management オブジェクトの WQL テストを広範囲にいじる必要がある場合は、wbemtest を試してみてください。これは Windows Management Instrumentation テスターであり、アプリケーションの WQL の作成、テスト、改良をより優れたものにします。

2) 関連: Vista 以降でのファイアウォール API、INetFwRule インターフェイス、およびその他の必要なものを使用したプログラムによるファイアウォールの変更。

Vista 以降では、ipsec 機能が必要であるが従来の PolicyAgent 実装を気にしない場合、FirewallAPI.dll を使用するのが簡単なオプションです。

Vista 以降の Advanced Firewall が、WFP (Windows Filtering Platform) 内で IPSec とファイアウォールを真に結合し、従来の IPSec 実装が PolicyAgent を通過し続けることを知らなかったため、最初はこれがオプションであることに気づきませんでした。

これは、FirewallAPI.dll を使用することで、IPSec のすべての機能にファイアウォールのステートフル インテリジェンスを提供できることを意味します。これはまさに私が望んでいたことです。ブラックリスト ルールを追加するだけで (ブラックリスト ルールが優先されるため)、必要に応じて API を介してブラックリストに追加すると、WFP がトラフィックのドロップを開始します。終わり!

于 2009-10-24T02:14:01.657 に答える
1

IIS 7 では、メタデータベースをいじることなく、構成ファイルから IP 制限を直接操作できます。メンテナンスを容易にするために、構成ファイルを configSource で分割して、IPSecure セクションを独自のファイルに保存することができます。

記事全文:
http://boseca.blogspot.com/2010/12/programmatically-addremove-ip-security.html

于 2010-12-24T17:22:52.827 に答える
1

WMIではできません。WMI は、ポートをブロックすることを意味する TCP フィルタリングに制限されています。これ以上何もない。

以前のバージョンの Windows を使用している場合は、次のいずれかを実行できます。

a) コマンド ライン ツールを使用します。この場合は、ipseccmd.exe または ipsecpol.exe (W2K)、または netsh のいずれかです。

また

b) ポリシーをレジストリに書き込みます

私の推測では、コマンド ライン ツールはまさにそれを行い、値をレジストリに書き込みます。

私はしばらくの間それに取り組んできましたが、マネージド コード ソリューションが見つかりませんでした。WFP API が以前の Windows バージョンで利用できないのは残念です。

于 2011-01-10T11:52:25.677 に答える