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

2014/12-2018/03/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"

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

ファイアウォールのコマンドを実行した例
Windowsファイアウォール、送信の規則の画面

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

工事中、落書き

■いろいろ
・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 を指定する。

  関連: IPアドレスの指定方法
■上以外で使うサービスがあれば足していく

・例: FTP を使う場合は、TCP out 21 をオープンにし、FTPアプリケ
 ーションと通信先の FTPサーバーの IPアドレスも指定。

・例: nslookup を使う場合は nslookup.exe と UDP out 53 と DNSサー
 バーのIP を指定。

・例: メールクライアントソフトを使うならメールのアプリーション、
 プロトコル、メールサーバーのアドレスを指定。

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

  YouTubeなどの動画は https (TCP 443) を使っているので、特殊な
 ルール設定は不要です。

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