web-dev-qa-db-ja.com

Windowsファイアウォール-フォルダー内のすべての.exeファイルの受信をブロックする方法

詳細設定のWindowsファイアウォールでは、.exeファイルをポイントすることにより、特定のプログラムのすべての受信または送信トラフィックをブロックするルールを作成できます。問題は、このプログラムのディレクトリに多くの.exeファイルがあり、そのサブディレクトリに追加の.exeファイルがあることです。
それで私の質問は、各.exeファイルに対して個別のルールを作成する必要がありますか?この場合、約50のルールを意味しますか?または、ローカルハードドライブ上の場所に基づいて.exeファイルのグループのトラフィックをブロックする方法はありますか?

25
Alex Popov

単純なバッチファイルを使用できます。メモ帳を開き、以下のスクリプトをコピーして空白のドキュメントに貼り付けます。ファイルをBLOCKALL.BATとして保存します。次に、ブロックするEXEと同じディレクトリにそのファイルをコピーし、ダブルクリックします。 Windowsファイアウォールの詳細設定に送信ルールを追加し、そのフォルダーとサブフォルダー内のすべてのEXEをブロックします。

Windows 7でテストされていますが、Windowsファイアウォールを使用する他のバージョンのWindowsで動作するはずです。

[〜#〜] note [〜#〜]:system32でバッチが開始されます。したがって、現在のディレクトリで機能させるには、cd /d "%~dp0"を前に付ける必要があります。

結果のスクリプトは次のようになります。

@ setlocal enableextensions 
@ cd /d "%~dp0"

for /R %%a in (*.exe) do (

netsh advfirewall firewall add rule name="Blocked with Batchfile %%a" dir=out program="%%a" action=block

)
29
Lardzor

*そのフォルダー内の動的コンテンツ(exeファイル)に基づいてWindowsファイアウォールでルールを構成および追加します:*

PowerShell または毎日実行するコマンドラインツールを使用する必要があります。

このように: 記事のリンク

function Add-FirewallRule {
   param( 
      $name,
      $tcpPorts,
      $appName = $null,
      $serviceName = $null
   )
    $fw = New-Object -ComObject hnetcfg.fwpolicy2 
    $rule = New-Object -ComObject HNetCfg.FWRule

    $rule.Name = $name
    if ($appName -ne $null) { $rule.ApplicationName = $appName }
    if ($serviceName -ne $null) { $rule.serviceName = $serviceName }
    $rule.Protocol = 6 #NET_FW_IP_PROTOCOL_TCP
    $rule.LocalPorts = $tcpPorts
    $rule.Enabled = $true
    $rule.Grouping = "@firewallapi.dll,-23255"
    $rule.Profiles = 7 # all
    $rule.Action = 1 # NET_FW_ACTION_ALLOW
    $rule.EdgeTraversal = $false

    $fw.Rules.Add($rule)
}
# Sample Usage
Add-FirewallRule "Test port 1234" "1234" $null $null
Add-FirewallRule "Test port 5555-6666" "5555-6666" $null $null
Add-FirewallRule "Test port 2222 Calc" 2222 "c:\windows\system32\calc.exe" $null
Add-FirewallRule "Test port 3333 W3SVC" 3333 $null "W3SVC"

また、開始点として使用したいくつかの優れた MSDNのVBScriptサンプル もあります。

[〜#〜] but [〜#〜][〜#のように、ネットワークのエッジにファイアウォールまたはプロキシを追加することをお勧めします〜] isa [〜#〜] または [〜#〜] squid [〜#〜] LANのすべての受信トラフィック用。

開くISAサーバー管理、[スタート]、[すべてのプログラム]、[Microsoft]の順にポイントISAサーバー、[ISAサーバー管理。

Windows実行可能コンテンツを含む応答をブロックするには、これにアクセスしてください ここの記事

To block responses containing Windows executable content 

 1. In the console tree of ISA Server Management, click Firewall Policy.


 2. In the details pane, click the applicable access rule or Web
        publishing rule.
 3. On the Tasks tab, click Edit Selected Rule.
 4. On the Traffic tab (for Web publishing rules) or on the Protocols
        tab (for access rules), click Filtering, and then click Configure
        HTTP.
 5. On the General tab, click Block responses containing Windows
        executable content.

私たちのネットワークでは、Windowsに基づいてSQUIDという名前のキャッシュサーバーがあります。

Squid コンテンツフィルタリング :音楽MP3、mpg、mpeg、execファイルのブロック/ダウンロード

  1. まず、squid.confファイル/etc/squid/squid.confを開きます。

    vi /etc/squid/squid.conf

  2. 次の行をSquid ACLセクションに追加します。

    acl blockfiles urlpath_regex "/etc/squid/blocks.files.acl"

  3. ファイルがブロックされたときにカスタムエラーメッセージを表示する場合:

    ブロックされた拡張機能をすべて拒否

    deny_info ERR_BLOCKED_FILESブロックファイル

    http_access拒否ブロックファイル

ファイアウォールアプリブロッカー(Fab) バージョン1.5のフォルダー内のすべての実行可能ファイルをブロックする機能を追加しました。インバウンドとアウトバウンドのルールを選択できます。

Fab options

3
user598527

.exeが同じフォルダーにある場合は、おそらくWindowsファイアウォールのリストに追加できます。それらが異なるフォルダーにある場合は、手動で追加する必要があります。一般に、ファイアウォールは、.exeは、信頼できるアプリケーションとして認識されないネットワーク(つまり、信頼できるアプリケーションとして認識されないもの)にアクセスしようとしますが、そのプロセスによって順番に呼び出される個々のexeを追跡しません。すべてのポートまたは特定のポートを無効にすることができます。

一般に、Windowsファイアウォールは、Windowsを毎日更新しない限り、私の推奨事項ではありません。Comodoの無料版を使用すると、より適切に制御でき、簡単にセットアップできます。

1
Madusudanan