Windows Defender ファイアウォールとプライベートネットワーク

# はじめに
Azure初心者軍団にて「Azure VMでWindows Defenderファイアウォールのポリシーを規定値に戻したらBastionからもRDPファイルからもリモアクできなかったんだけれど」との申告を、[こちら](https://cloudsteady.jp/post/4663/)の記事を参照しながら一緒に解決している中で
・そもそもWindows Defenderファイアウォールってなに？？
・なんだか「プライベートネットワーク」と「パブリックネットワーク」っていう文言がちらちら見えるけれどなにがどうなったらどっちのネットワークに決まるの？何が違いなの？
ということがふと疑問に上がってきたので、ちょろちょろっと調べた内容を備忘します。

# 機能説明
## Windows Defender
Windows10に標準で搭載されているマルウェア対策機能で、アンチウイルス機能やファイアウォール機能が含まれています。
[こちら](https://www.amazon.co.jp/dp/B074159F2F/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)の本によると、セキュリティの基本的な考え方（怪しげなメールのURLをクリックしないなど）が徹底されている場面であれば、OSとの互換性問題が起こらない分安定性に富み、市販のセキュリティソフトを導入するよりも好ましい場合があるとのこと。
ファイアウォール機能に加えてIPsecを張ったりもできるようですが、（[こちら](https://threeleaf.amebaownd.com/posts/3617461/)より）今回書きたいことからそれるのでまた今度。
（AzureのVMだかVPN GWだかで遊んでいたときに使った記憶があるようなないような、、）

### Windows Defenderファイアウォール
機能の一つであるWindows Defenderファイアウォール。
下の図の順序で設定画面を開き、有効化/無効化できます。（[こちら](https://support.microsoft.com/ja-jp/windows/microsoft-defender-%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%BE%E3%81%9F%E3%81%AF%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B-ec0844f7-aebd-0583-67fe-601ecf5d774f)より）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/d9ac6067-5854-8b55-6734-f9e05d8b6c96.png)
例えば「パブリックネットワーク」にてファイアウォールを切りたかったら、上図の「パブリックネットワーク」をクリックした後のこちらの画面で無効化設定を施します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/1a5cde5a-9cbc-0044-2142-1a2c3d94c83b.png)

### ファイアウォールポリシーのカスタム
[こちら](https://www.thefastcode.com/ja-jpy/article/how-to-create-advanced-firewall-rules-in-the-windows-firewall)を参照。
コントロールパネルからWindows Defenderファイアウォールを選択します。左側の「詳細設計」から自分でファイアーウォールのポリシーをカスタムできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/888b744a-96c6-239b-4c37-92e37c667cbd.png)
試しに上記記事を参照しながらEdgeからのInternet通信を遮断してみます。
「送信の規則」の追加から、「プログラム」にてEdgeの実行ファイルのパスを選択し、接続をブロックしました。
ポリシー追加前はインターネットサイトアクセスできていましたが、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/bf59bfbc-699c-2d2b-a078-4c08cfe1da4a.png)
ポリシー追加後は遮断されました。あからさますぎて楽しい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/8540e6c6-a0af-df0d-8d44-30a82abd015e.png)
こちらが追加されたルールです。ちなみに、Edgeの実行ファイルのパスは、[こちら](https://www.ka-net.org/blog/?p=8415#:~:text=Microsoft%20Edge%E6%9C%AC%E4%BD%93%E3%81%AE%E5%A0%B4%E6%89%80&text=%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%82%92%E8%A1%A8%E7%A4%BA,MicrosoftEdge_8wekyb3d8bbwe%E3%80%8D%E3%81%A8%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82)を参考に、タスクマネージャから漁りました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/92e7bcae-7797-b9b0-ff3d-938531b77fcc.png)
ルールを削除したら復旧しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/e27d26f8-57d6-b695-ff0c-d7bc27d889d0.png)

ついでに、ping疎通を遮断するポリシーを追加してみました。（「送信の規則」の追加）
本当は「受信の規則」を追加したかったのですが、pingしてくれる端末がないので送信側を。同じ感じで「受信の規則」に追加すれば、pingが届かなくなるはずです。

1回目のpingがルール追加前、2回目のpingがルール追加後です。成功していますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/28e39680-3a7e-88d0-4284-e9e2f5872b32.png)
キャプチャし忘れましたが、ルールを削除したら復旧しました。
ちなみに、「カスタム」にて「全てのプログラム」から「ICMPv4」プロトコルを用いる「任意のIPアドレス」からの「接続をブロックする」ルールを「ドメイン」「プライベート」「パブリック」に割り当てています。
### 規定値
一覧を見るのがマジでだるいので、今回必要なRDPのみをみてみると、デフォルトでは許可ルールは存在するものの有効化されていないようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/8bf04108-70f9-420e-73a6-82acae86d579.png)

### AzureのVMの場合
Azure VMは作り立てほやほやの時はRDPファイルを用いた接続もBastionを経由しての接続も成功するので、firewallの規定値としてRDPやSSH接続は許可されていると思っていたのですが、規定値に戻すとコネクションが途切れてしまいます。ここで、RDPは規定値で許可されていなかったと知る。。
冒頭でも紹介しましたが、VMを作成しなおすという手間をかけずとも復旧できる方法は[こちら](https://cloudsteady.jp/post/4663/)によくまとまっています。

#### ちなみに
Azure Bastionについての説明は[こちら](https://docs.microsoft.com/ja-jp/azure/bastion/bastion-overview)。ユーザPCからはTLSで、VNEAT内でRDPでリモアクしているみたいですね。これならRDPの利用を禁じられたオフィス環境にいる人でもバッチリVMを触れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/b44e2507-3fa1-eb00-76bd-f65b2eade990.png)
#### 超ちなみに
Azure Bastionの作り方について昔記事にしたのでよろしければ。。[こちら](https://qiita.com/aykbzl/items/b004a6889528515213c5)

#### 市販アンチウイルスソフトとの共存
McAfeeなど市販アンチウイルスソフトをインストールしている場合、Windows Defenderファイアウォールの設定はそれらのソフトに一任され、ユーザがカスタム等できなくなっている場合があります。設定内容の競合を避けるためでしょうか。

## プライベートネットワークとパブリックネットワークとドメイン
ではWindowsにてしれっと登場している3パターンについてです。
「ネットワークと共有センター」から現在接続しているネットワークの種別がわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/b46d9a63-c31a-5993-e2e7-e640c2e63daf.png)
「Wi-Fi」や「イーサネット」から接続中のSSID等を選択すると、パブリックにするかプライベートにするか選択できます。（PCがドメインに参加していない場合）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/1b6fc921-3196-62f6-23d7-cf960f11def7.png)

## プライベートネットワークとパブリックネットワークの違い
[こちら](https://forest.watch.impress.co.jp/docs/serial/win10tips/1081222.html)の記事を参考にまとめております。
プライベートネットワークとパブリックネットワークで、適用されるWindowsファイアウォールの設定内容が変わってきます。原則として、プライベートネットワークでは同一LAN内での通信が許可されている一方、パブリックネットワークでは禁止されています。
確かに設定内容を確認してみると、「プライベート」のみにてプリンターとの通信が許可されております。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/5e1e3b69-5194-d269-81eb-c1c60896b27f.png)

### ちなみに
端末をLANに接続したタイミングでこういう画面が出てきたときに「はい」を押すとプライベートネットワークに、「いいえ」を押すとパブリックネットワークに属することになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469705/690a3ec3-572d-2433-ce1d-ecc60ec69194.png)

## ドメイン
上記のプライベートネットワークとパブリックネットワークは、ワークグループに属する端末でのお話であり、ドメインに属する端末は「ドメイン」ネットワークに属することになります。ドメインのセキュリティポリシーに従ったWindows Defenderファイアウォールのポリシーが適用されています。

# おしまい
Azure VMにリモアクできないんだけれどというところからだいぶ派生してしまいましたが、いまさら人に聞けないなということを知るいい機会になりました。
リモアクできない場合、ping疎通ができない場合には、途中の経路だけではなく終端機器に備え付けられているファイアウォールの設定も確認する必要がありますね。


# 参考
[Azure上のWindows仮想マシンにRDP接続できなくなった場合（Firewallを規定値に戻してしまった場合の対処方法）](https://cloudsteady.jp/post/4663/)
[先輩がやさしく教えるシステム管理者の知識と実務](https://www.amazon.co.jp/dp/B074159F2F/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1), 橋本和則, 翔泳社, 2019年
[Windows10のIPsecの設定](https://threeleaf.amebaownd.com/posts/3617461/)
[Microsoft Defender ファイアウォールを有効または無効にする](https://support.microsoft.com/ja-jp/windows/microsoft-defender-%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%BE%E3%81%9F%E3%81%AF%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B-ec0844f7-aebd-0583-67fe-601ecf5d774f)
[Windowsファイアウォールで高度なファイアウォールルールを作成する方法](https://www.thefastcode.com/ja-jpy/article/how-to-create-advanced-firewall-rules-in-the-windows-firewall)
[Microsoft Edgeの場所](https://www.ka-net.org/blog/?p=8415#:~:text=Microsoft%20Edge%E6%9C%AC%E4%BD%93%E3%81%AE%E5%A0%B4%E6%89%80&text=%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%82%92%E8%A1%A8%E7%A4%BA,MicrosoftEdge_8wekyb3d8bbwe%E3%80%8D%E3%81%A8%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82)
[Azure Bastion とは](https://docs.microsoft.com/ja-jp/azure/bastion/bastion-overview)
[Azure VMにリモアクするためのjump server（bastion）を作ってみた](https://qiita.com/aykbzl/items/b004a6889528515213c5)
[プライベート？　パブリック？　ネットワークの種類の違いと切り替え方](https://forest.watch.impress.co.jp/docs/serial/win10tips/1081222.html)