【調査】MacOSとWindowsのセキュリティ、安定性の比較（ChatGPT）

# 概要
::: note
- MacのほうがWindowsよりセキュリティが高いといわれてますが、ほぼ初心者なのでChatGPT先生にきいてみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/43b35d40-7162-1c3d-d998-8a3f26fdc59b.png)

:::

# しらべた理由
こちらのニュースを見て気になりました。ベアメタルWindowsの脆弱性が最近目につきます。

https://xtech.nikkei.com/atcl/nxt/mag/nnw/18/041800012/121800272/



## デフォルトでのセキュリティ設定が強化されている
- ファイル共有がオフの場合、Macは外部からのアクセスを受け付けるポートが非常に少ない。
- macOSのファイアウォールはアプリケーションレベルのフィルタリングを行い、システムサービスへのアクセスを制限。

## UNIXベースのシステム構造
- macOSはUNIXベースで権限管理が厳格。
- システムファイルや設定を変更するには管理者権限が必要。

## Gatekeeperの存在
- Gatekeeperは未承認のアプリケーションやマルウェアが実行されるのを防ぐ。
- 公共のWi-Fiでも悪意あるソフトウェアの自動インストールを大幅に減少。

## ネットワークサービスのデフォルト設定が安全
- Macはデフォルトでオープンなネットワークサービスが少なく、侵入リスクが低い。
- WindowsではSMBやRDPが攻撃対象になる場合がある。

## システムとアプリケーションの分離
- macOSではアプリがサンドボックス化され、他のアプリやシステムリソースへの影響を制限。
- Windowsでは一部のアプリがシステムレベルの権限を持つ場合がある。

## 悪意あるWi-Fiネットワークへの耐性
- macOSは安全なDNSや証明書確認を行い、中間者攻撃に対する耐性が高い。

## ウイルスやマルウェアのターゲットが少ない
- Windowsは市場シェアが大きく、ターゲットになる可能性が高い。
- macOS用マルウェアは少なく、攻撃を受ける確率が低い。

## ユーザーアカウントの管理
- Macでは標準ユーザーアカウントで操作するのが一般的。
- Windowsでは管理者権限での利用が多く、マルウェアの影響が深刻になりやすい。

---

# アプリがサンドボックスされているとは？

## サンドボックスのメリット
- **システム保護**: アプリが問題を起こしてもシステム全体への影響が抑えられる。
- **データアクセス制限**: ユーザーのファイルや他のアプリデータへのアクセスが制限される。
- **悪意ある動作の防止**: ネットワーク経由での攻撃リスクを軽減。

## サンドボックスの仕組み
- アプリは独自の「コンテナ」内で実行され、OSがアクセスを監視。
- 権限が必要な操作（カメラ、マイクなど）は明示的な許可を要求。
- サンドボックス外への影響が限定される。


# 代表的なポートの状態

| **プロトコル** | **ポート番号** | **Windows（デフォルト）** | **macOS（デフォルト）** |
|----------------|---------------|---------------------------|--------------------------|
| **HTTP**       | 80            | クローズ                  | クローズ                 |
| **HTTPS**      | 443           | クローズ                  | クローズ                 |
| **SMB**        | 445           | オープン（共有が有効時）  | クローズ                 |
| **RDP**        | 3389          | オープン（リモート接続有効時） | クローズ            |
| **SSH**        | 22            | クローズ                  | クローズ                 |
| **AirDrop**    | 5353          | 使用不可                 | オープン（Bonjourサービス） |
| **AFP**        | 548           | 使用不可                 | クローズ                 |
| **DNS**        | 53            | クローズ                  | クローズ                 |
| **Telnet**     | 23            | クローズ                  | クローズ                 |

## ポート開放処理のちがい
- **Windowsの特徴**:
  - SMBやRDPが有効時にポートが自動的に開放。
  - 不要なポートが開くことがあり、セキュリティ確認が必要。
- **macOSの特徴**:
  - デフォルトでほとんどのポートがクローズ。
  - 特定の機能（AirDropなど）で必要な場合のみポートが開放。

# 安全性に関する結論

::: note
## macOSの優位性
- 必要最低限のポートしかオープンせず、ネットワーク攻撃を受けにくい。
- アプリのサンドボックス化によりシステムへの影響が最小化。
:::

::: note warn
## Windowsの注意点
- 多くのポートが開放される可能性があり、定期的なセキュリティ確認が重要。
- セキュリティソフトの設定や更新によるリスク管理が必要。
:::

# ポエム
- こうしてみると、Windowsは積層構造というか、何かの対策のためには機能なりを多重にスタックしていく必要があるようにみえますね。セキュリティソフトの追加など。
- いっぽう、MacはAppleがひとおとりエコシステム内でめんどうみてくれると。
- 足し算と引き算のOS設計思想のちがいがあるようにみえます。おもしろい。



# Parallelsで仮想化するセキュリティ上のメリット

- 100台のPCを持つ中小企業において、Windowsをベアメタル（物理PC）ではなく、**Parallels Desktopを利用した仮想化環境**で運用する場合のシナリオも聞いてみました。


## 1. **集中管理による一貫性とセキュリティ強化**
- 仮想化環境では、全ての仮想マシン（VM）が一元的に管理されます。これにより、セキュリティポリシーや更新プログラムの適用が容易になります。
- セキュリティパッチやWindows Updateを、全仮想マシンに同時適用できるため、アップデートの遅れによる脆弱性を減少。


## 2. **スナップショット機能による迅速な復旧**
- Parallelsはスナップショット機能を提供しており、システムに問題が発生した場合、数分で安全な状態にロールバックできます。
- ドライバの不具合やWindows Update後のトラブルにも迅速に対応可能。


## 3. **セキュリティ設定の一括適用**
- 仮想環境内の全VMに対して、統一されたセキュリティ設定（ファイアウォール、ポート制限、アプリケーションホワイトリスト）を適用可能。
- ベアメタルPCでは各端末ごとに設定が必要だが、仮想環境では管理コストを削減しつつ統一された高いセキュリティを実現。


## 4. **物理PC依存のセキュリティリスク削減**
- 仮想化環境では、物理ハードウェアのドライバやファームウェアの脆弱性の影響を最小化。
- 仮想マシンはホストOS（macOS）によって隔離され、物理ハードウェアへの直接的な攻撃が難しい。


## 5. **カーネルアクセスの制限**
- macOSホスト上で動作するParallelsは、Windows VMのカーネルアクセスを制限。仮想化環境が層となり、不正アクセスやマルウェアの拡散を防止。
- CloudStrike事件のようなカーネルアクセスが原因のセキュリティリスクを低減。


## 6. **ネットワーク分離とVPN利用**
- 仮想化環境では、VMごとにネットワーク設定を分離可能。個別の仮想ネットワークや専用VPNを利用することで、中間者攻撃や情報漏洩リスクを低下。
- 外部ネットワーク（公共Wi-Fiなど）からの攻撃に対してホスト（macOS）のセキュリティを活用。

## 7. **コスト効率とセキュリティの両立**
- 物理PCを購入しないため、セキュリティ管理に必要なデバイスごとのコスト（ファイアウォールやセキュリティソフト）が削減。
- Parallelsを利用することで、1つのMac miniに複数の仮想マシンを動作させる運用が可能で、セキュリティを強化しつつITコストを最適化。


## 8. **モビリティと災害対策**
- 仮想マシンのデータをクラウドやオンプレミスサーバにバックアップ可能。
- 物理PCの故障や災害時でも、仮想マシンを別のホストで即座に復元し、業務を継続。


# 具体例: 中小企業での利用シナリオ
1. **状況**
   - 社員100人が社内外でWindows PCを利用。
   - 各社員の業務環境を統一しつつ、セキュリティを強化したい。

2. **仮想化環境の運用例**
   - 10台のMac miniにParallelsをインストールし、各Mac miniで10台のWindows仮想マシンをホスト。
   - 管理者が仮想環境を一元管理し、各VMに統一ポリシーを適用。

3. **セキュリティの改善ポイント**
   - 更新プログラムの遅延や不統一がなくなる。
   - スナップショット機能でトラブル時の復旧が迅速。
   - 仮想化により各端末の独立性が高まり、攻撃が一箇所に限定。

---

# ポエム2
##  NICについて
- Parallelsの仮想NICは[デフォルトで共有ネットワーク](https://kb.parallels.com/jp/4948)です。
- Hyper-VやProxmoxだと新規作成する必要があります。またWIFIや有線LANでそれぞれ作ったり、NW切り替えごとに変更する必要があったりして相当めんどい。
- このあたりのやりやすさ、ユーザーフレンドリーさもParallelsに分があります。
- .pvemファイル（実体はフォルダ）をコピーしてもこの設定は引き継がれます。
- ただしHyper-VやProxmoxのようにFWログなどはとれない模様。その場合はホストMac側でとると。

## Businessエディションについて
- ParallelsのBusinessエディションでは専用の[管理ポータル](https://desktopadmin.parallels.com/signin)が用意されているようです。
- VMのゴールデンイメージやポリシー管理が可能とのこと。
- コンソール画面から[プル型でVMの削除などのリモートコマンドができる](https://docs.parallels.com/parallels-desktop-enterprise-administrators-guide/parallels-management-portal/virtual-machines)ように見えるのですが、使ってみないとわからないものの、なかなかクールですね。

## おまとめいたしますわよ（CV: 遠藤綾）
- ProxmoxでもHyper-Vではあくまで「サーバー」なので、リモートクライアントにVMをプッシュ作成というのはできないです。（バックアップまたはクローンという処理になる）
- デスクトップクライアントという枠内での仮想化なので、ほかのハイパーバイザとは少し概念が違うのが面白い。
- すごい技術なのになぜかエンタープライズ分野ではあまり注目されていないParallels。私は注目していますｗ
- [ParallelsRAS](https://www.parallels.com/jp/products/ras/remote-application-server/)というのはけっこう有名です。ベースに別のハイパーバイザが必要になるのでべつものですが。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790864/6abb07c7-5505-0d4e-5582-8f15c4445314.png)