ホーム > インターネットなどいろいろ

2014/12-2015/06/17

Windows7 ファイアウォール・その3

目次
  1. ホワイトリスト方式によるファイアウォールの設定
  2. 通信をすべてブロックする
  3. 必要な通信ルールを足す
  4. 工事中、落書き

主に家でPCを使うユーザーで、 ネットの用途もホームページを見る程度の人 (特殊なネットサービスを使わない人)向きな話です。

ホワイトリスト方式によるファイアウォールの設定

せいぜいホームページを見るだけなど、 使用する通信プロトコルがほとんどない場合は、 ホワイトリスト方式の方が設定するルールの数が少ないので簡単です。 通信を許可するルールをすべて自分で把握して管理するので、 通信を制限していくブラックリスト方式に比べて見通しがよくなります。

■ブラックリスト方式とホワイトリスト方式

・ブラックリスト方式
  基本は通信をすべて許可し、制限するルールを足していく。

・ホワイトリスト方式
  基本は通信をすべて禁止にし、通信を許可するルールだけ足していく。

ただし、ホワイトリスト方式は既存の通信設定をすべて無効にするなど 設定を大きく変えるので、通信の仕組みがわかっている人向きの話です。 通信できないトラブルが起こったときに元の設定に戻す自信のない人はやらない方がいいかも?・・・。

先にファイアウォールの設定を初期値に戻す方法

いろいろ設定を変えた後で、再び初期設定に戻したい場合。
Windows7 ファイアウォール、既定値に戻す

「既定値に戻す」を実行すると初期設定に戻ります。 ただし、後から追加・変更したルールは消えるので注意。 後からネットワーク関係のアプリケーションを自分でインストールし、 そのアプリケーションがルールを追加・変更している場合は再設定が必要です。

OSのバックアップとリカバリができる人はあらかじめバックアップを取っておいて、 いつでも元に戻せる状態にしておいた方が無難です。

通信をすべてブロックする

ホームページを見るだけなら下の設定を行っても問題ありません。

ネットワークアダプタの不要なサービスを削除

Windows Network やネットワークプリンタや NetBIOS などいろいろあります。使用しないものは削除あるいは off にします。

ネットワークアダプタの設定例
ネットワークアダプタの設定例

Windows Network等を削除し、IPv4のみ有効にした例。

ファイアウォールの設定を基本ブロックにする

こちらもいろいろあってややこしい。

1)「通信設定の変更」ですべての着信接続をブロックにする
設定のカスタマイズ
2)「詳細設定」のプロパティで送信接続をブロックにする
詳細設定のプロパティ
Windowsファイアウォールのプロパティ

パブリック、ドメイン、プライベートの3つがあります。 外部のネットワークはパブリックです。 ここではとりあえずすべてブロックします。 用途によってはプライベートなどブロック不要なものもあります。

他にもIPsec やカスタマイズのユニキャストなどこまごました設定があります。 ここでは詳細に触れません。

詳細設定のプロパティ

送信をブロックすると「詳細設定」の表示が 「規則に一致しない送信接続はブロックされます」に変わります。 これで「送信の規則」に登録されたルールのみ通信許可になります。

3)「詳細設定」の「受信の規則」と「送信の規則」をすべて無効にするか削除する

これで送信規則も受信規則もまったくない(通信できない*1))状態になります。 この状態でウェブブラウザで適当なホームページにアクセスしてみてください。 通信がブロックされていると思います。ここから必要な通信規則を足していきます。

補足*1):すべての通信がブロックされるはずだけど、 こまごました例外または落とし穴(?)があるかもしれない。 このあたりがややこしいところ・・・。

必要な通信ルールを足す

ここから必要な通信ルールだけ足していきます。 ホームページを見る場合、最小限必要なルールは下の3つです (ただし、DHCP を使っていない場合)。

       方向  ポート番号  プロトコル
  UDP   out      53       DNS       ホスト名をIPアドレスに変換するサービス
  TCP   out      80       HTTP      http:// の URL のホームページのデータのやりとり
  TCP   out     443       HTTPS     https:// の URL のホームページのデータのやりとり

ルールを追加するコマンドは例えば下のようになります。 下の例では通信を許可するプログラム名も指定してあります。 DNS は svchost.exe、ウェブブラウザは IE にしてあります。 他のプログラムからは通信できません。

netsh advfirewall firewall add rule name="OUT_DNS_SVCHOST" dir=out action=allow protocol=udp remoteport=53 program="C:\Windows\system32\svchost.exe"
netsh advfirewall firewall add rule name="OUT_HTTP_IE" dir=out action=allow protocol=tcp remoteport=80 program="C:\Program Files (x86)\Internet Explorer\iexplore.exe"
netsh advfirewall firewall add rule name="OUT_HTTPS_IE" dir=out action=allow protocol=tcp remoteport=443 program="C:\Program Files (x86)\Internet Explorer\iexplore.exe"

コマンドプロンプトを管理者権限で起動して上のコマンドを実行すると、 ファイアウォールの「送信の規則」にルールが登録されます。

送信の規則、ルールを追加。

この設定で IE からホームページが見れる状態になっています。 Firefox や Chrome など他のブラウザがあればそちらからもアクセスして みてください。こちらは通信がブロックされているはずです。

工事中、落書き

■いろいろ
・DHCP を使っている場合は UDP 67,68 あたりを有効にしておく
  ルーターを使用し、PC の IP アドレス取得を自動設定にしている場合
 は必要です。

・上の設定だと IE 以外は HTTP, HTTPS の通信ができず WindowsUpdate
 も機能しない点に注意。

  (2015/04)
 WindowsUpdateは C:\Windows\System32\svchost.exe とTCP out 80,443
  を有効にすると実行できます。
  scvhost はいろんなアプリケーションから使うことができるので普段
 はブロックにしておいて、アップデートが必要なときだけ有効にします。

・remoteip= で接続先の IP アドレスを指定したり制限したりすることも
 できる。

  例:ブラックリスト方式
     基本はどの IP もアクセス許可にし、指定の IP だけブロックする。
     action=block にし、remoteip= でブロックする IP を指定する。

  例:ホワイトリスト方式
     基本はホームページのアクセスも禁止で、通信を許可する IP だけ
     指定する。
     action=allow にし、remoteip= で IP を指定する。

■上以外で使うサービスがあれば足していく

・例: FTP なら TCP out 21 と FTPサーバーの IP
・例: nslookup を使うなら nslookup.exe と UDP out 53 と DNSサーバーのIP

・例: メールソフトを使うならメールのプロトコル。

・ホームページでも Java アプレットや Flash など 80,443 以外の
 ポートを使うものがある。
  必要なものを登録します。IP アドレスも一緒に登録しておくと確実。

  動画は通常 TCP 80,443 を使っているので、特殊なプロトコルを使
 うサービスでなけれ追加の設定は不要。

・ゲームや電話など特殊なポートを使っているかも。
  このあたりから送信規則だけでなく、受信規則が必要になるかも。

・TCP, UDP 以外に ICMP, IGMP, IPv6 などの通信もある。
  デフォルトで有効になっているものがあるので、適当に設定。
目次
inserted by FC2 system