30
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Windows 10】Windowsファイアウォールで特定のWebサイト以外のアクセスを禁止する方法

Last updated at Posted at 2019-02-21

はじめに

本来はプロキシサーバ立てて、そちらで制御する方が良いのは承知してますが、どうしてもWindows標準のFirewallで制御せざるを得ない場合に参考になればと思い書きました。
ちなみにFirewallなので、ドメインやFQDN単位での制御はできず、IPアドレス単位での制御になります。
また、ここで紹介する手順はWindows10 Homeでやってみたものです。ProやEnterpriseでは少し異なる可能性があるので注意してください。

手順概要

大まかな手順は以下のとおり。

  1. 端末から外部への通信の制御を「基本すべて許可」から「基本すべて禁止」に変更
  2. 個別に通信の許可が設定されているもの(特にWebブラウザ)の許可ルールを無効化
  3. Webアクセス通信で使う80と443ポートへのアクセスを接続先のIPアドレス単位で個別に許可するルールを作る

詳しい手順

端末から外部への通信の制御を「基本すべて許可」から「基本すべて禁止」に変更

「セキュリティが強化されたWindows Defenderファイアウォール」を開く。
 ※開き方が分からない方は以下サイトの1〜4の手順を参考にしてください。
 https://solutions.vaio.com/1501

1.png

Windows Defenderファイアウォールのプロパティを開く。
2.png

ドメインプロファイル、プライベートプロファイル、パブリックプロファイルのすべてで、「送信接続」を「ブロック」に変更し、「OK」をクリックする。
4.png

個別に通信の許可が設定されているもの(特にWebブラウザ)の許可ルールを無効化

「送信の規則」をクリックする。
6.png

送信の規則の中で、Webブラウザ(デフォルトで入っているものは恐らく「Microsoft Edge」)を右クリックして、「規則の無効化」をクリック。
7.png
他に不要なルールは全部ここで無効化。
できるなら一度すべて無効化してから必要最低限のもの(DNSとか)だけ有効化すると良い。

ここで一応、適当なWebサイトにアクセスして、表示できなくなっていることを確認。
8.png

Webアクセス通信で使う80と443ポートへのアクセスを接続先のIPアドレス単位で個別に許可するルールを作る

「新しい規則」をクリック。
8.5.png

「ポート」を選択して次へ。
10.png

「TCP」を選択して、「特定のリモートポート」に「80,443」と入力して次へ。
12.png

「接続を許可する」を選択して次へ。
14.png

すべてにチェックが入っている状態のまま次へ。
15.png

適当な名前(例:Webサイトホワイトリスト)を入力して「完了」をクリック。
16.png

一覧から上記で作った規則を探し(たぶん一番上にできている)、右クリックして「プロパティ」を選択。
17.png

「スコープ」タブを選択し、「リモートIPアドレス」の「これらのIPアドレス」を選択し「追加」をクリック。
19.png

アクセスを許可する特定のWebサイトのIPアドレスを調べ(※)、「このIPアドレスまたはサブネット」か「このIPアドレスの範囲」に入力し「OK」をクリックする。
20.png

(※)WebサイトのIPアドレスの調べ方が分からない方は以下を参考にしてください
https://www.google.com/amp/s/ischool.co.jp/2018-09-10/%3famp=1
#注意事項
##一つのIPアドレスを許可しても正常に表示されないサイトがある
Webサイトを正しく表示するために必須の(サイトに埋め込まれている)パーツが、許可していないIPアドレス(別ドメイン)にある場合、そのIPアドレスも許可登録しないと正常に表示できません(表示が正常でもボタン等が正しく動作しない場合もあります)。
静的サイトならほぼ問題なく表示されると思いますが、動的サイトの場合、1つのIPアドレスを許可しただけでは正常に動かない等の問題が起きる可能性が高いです。
結構大変ですが、当該WebサイトのHTMLソースを見て他のドメインの利用を調べるか、Wiresharkで当該Webサイトにアクセスした際の接続先IPアドレスを洗い出すなどして、ホワイトリストに登録しましょう。ブラウザの開発ツールを使って調べる手もあります。
##明示的に許可しないとOSやアプリケーションの更新ができなくなる
Windows Updateやインターネット経由で更新が必要なソフト(ウイルス対策ソフト等)の更新用のサイトのIPアドレスもホワイトリストに登録しておかないと、更新ができなくなってしまうので要注意です。
IPアドレス単位での許可が大変であれば、プログラム単位で許可(ウイルス対策ソフトはどこへでもアクセス可とする等)してしまう手もあります。

30
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?