誰のためのドキュメント
- スマホでテザリングをよく利用する人
- パケット制限を受けると発狂しそうになる人
- パケット代金を抑えたい人
- Windows使いの人
背景
遅すぎる&屋内で電波弱すぎることを理由にWIMAXを解約してからは外出先ではiPhoneのテザリングを利用している。
移動中のちょっとした時間だけなので7GB制限に達することはまれだがここ最近外出が多く今月も10日残っているのに1GBを切ってしまった。
ということで少しでもパケットを節約するべくWindowsのファイアーウォールを使用して不要な通信を遮断することにする。
Before & After
変更前のファイアーウォール設定
プロファイル | ステータス | 設定値 |
---|---|---|
ドメインプロファイル | 無効 | 既定値 |
プライイベートプロファイル | 無効 | 既定値 |
パブリックプロファイル | 無効 | 既定値 |
すべて無効っすw
変更後のファイアーウォール設定
Web通信系の通信とSSHのみ許可する
プロファイル | ステータス | 設定値 |
---|---|---|
ドメインプロファイル | 有効 | 既定値 |
プライイベートプロファイル | 有効 | 既定値 |
パブリックプロファイル | 有効 | icmp / http(s) / dns / dhcp / ssh の送信許可、それ以外の送信は拒否 |
設定方法
[Ctrl+R] - [ファイル名を指定して実行] - [firewall.cpl]を実行してWindowsファイアーウォール画面を表示する。
[パブリックプロファイルタブ] - [送信接続]を[ブロック]に変更する。
[送信の規則]画面に移動し、すべてのルールを無効化する。このタイミングですべての送信は遮断される。
次に許可する通信用のルールを作成していく。まずhttp(s)を許可するルールを作る。
[新しい規則]をクリック
[プロトコルおよびポート]でプロトコルは[TCP]、リモートポートには[80, 443]を入力
同様にして各プロトコル用のルールを追加していく。
|規則の種類 |プロトコル |ポート | 操作| プロファイル| 名前|
|---|---|---|---|---|---|---|
|ポート |tcp |80,443 | 許可| パブリックプロファイル| allow http(s)|
|ポート |udp |53 | 許可| パブリックプロファイル| allow dns|
|ポート |udp |67, 68 | 許可| パブリックプロファイル| allow dhcp|
|ポート |tcp |22 | 許可| パブリックプロファイル| allow ssh|
|カスタム |ICMPv4 |- | 許可| パブリックプロファイル| allow ping|
Webブラジングとssh接続できることを確認する。
これでWeb ssh以外の通信は遮断される設定になった。
トラブルシュート
Q. ネットにつながらないよ
A. プロキシを通しているならプロキシに接続するためのポートも許可する。(tcp/8080とか)
Q. ネットにつながらないよ
A. https://hoge.com:9443/login.php
みたいにアクセス先ポートが標準ポートでない場合、個別にそのポートも許可する。この例の場合(tcp/9443)
Q. sshがつながらないよ
A. サーバ側のsshポートを標準ポート(22)から変更している場合は変更したポートを許可する。
Q. ◯◯も使えるようにしたい
A. そのプログラムで使用しているポートとプロトコルを調べて許可してください。
Q. 使用ポートってどうやって調べる?
A. ググるかFirewallのログを見て調査。
[ファイアーウォールのプロパティ] - [ログ] - [カスタマイズ] - [破棄されたログを記録に残す]を[はい]にする。
するとC:\Windows\system32\LogFiles\Firewall\pfirewall.log
にDropログも記録されるようになる。
あとはログを見ながら許可したいプログラムを起動し、ログからポートを特定していく。
ログの閲覧はpowershellを起動してtailfもどきを使うと簡単
具体的には
cat "C:\Windows\system32\LogFiles\Firewall\pfirewall.log" -wait -tail 10
2017-05-02 15:35:02 ALLOW UDP 10.4.30.187 103.5.140.18 54923 53 0 - - - - - - - SEND
2017-05-02 15:35:02 ALLOW UDP 10.4.30.187 103.5.140.19 54923 53 0 - - - - - - - SEND
2017-05-02 15:35:03 DROP TCP 10.4.30.187 46.137.159.220 55176 8443 0 - 0 0 0 - - - SEND
2017-05-02 15:35:03 DROP TCP 10.4.30.187 46.137.83.130 55177 8443 0 - 0 0 0 - - - SEND
2017-05-02 15:35:03 DROP TCP 10.4.30.187 176.34.117.191 55178 8443 0 - 0 0 0 - - - SEND
ログの意味は左カラムから
タイムスタンプ、許可/拒否、プロトコル(tcp/udp)、送信元IP、宛先IP、送信元ポート、宛先ポート
Q. 外出先から戻ってきたらどうするの
A. ファイアーウォール無効にするw
Q. 上手く動かなくなったからリセットしたい。
A. [セキュリティが強化されたWindowsファイアーウォール]の画面で[規定のポリシーを復元]でおk