このチュートリアルでは、次のバージョンの Sophos Firewall で Cloudflare WAN(旧 Magic WAN)を使う手順を説明します。
-
検証した Sophos のフォームファクター:
- Sophos Firewall XGS および XG シリーズハードウェア
- VMware 上の Sophos Firewall 仮想アプライアンス
-
検証した Sophos ソフトウェアバージョン:
- SFOS Version 19.0 MR2-Build 472
- SFOS Version 19.5.1 MR1-Build 278
Cloudflare WAN へは、Generic Routing Encapsulation (GRE) または IPsec トンネル で接続できます。
次の手順で、Sophos Firewall デバイスに IPsec 接続を設定します。明示していない設定は、デフォルトのままで構いません。
- System > Profiles を開きます。
- IPsec profiles で Add を選択します。
- General settings グループで、次の設定にします。
- Name: わかりやすい名前を付けます。
- Key exchange: IKEv2
- Authentication mode: Main mode
- Phase 1 グループで、次の設定にします。
- DH group (key group): 20
- Encryption: AES256
- Authentication: SHA2 256
- Phase 2 グループで、次を選びます。
- PFS group (DH group): Same as phase-1
- Key life: 28800
- Encryption: AES256
- Authentication: SHA2 256
- Dead Peer Detection を有効にします。
- When peer unreachable で Re-initiate を選びます。
- Save を選択します。
次に、Sophos Firewall デバイスでサイト間 IPsec VPN 接続を設定します。
- Configure > Site-to-site VPN を開きます。
- IPsec で Add を選択します。
- General settings グループで、次の設定にします。
- Name: サイト間 VPN にわかりやすい名前を付けます。
- Connection type: Tunnel interface
- Gateway type: Initiate the connection
- Encryption グループで、次の設定にします。
- Authentication type: Preshared key
- Gateway settings で、次の設定にします。
- Gateway address: アカウントに割り当てられた Cloudflare anycast IP アドレスの 1 つを入力します。Leased IPs ↗ で確認できます。
- Local ID type: Cloudflare が提供する IKE ID を追加します。
注: この画像のラベルは、以前の製品名のままの場合があります。
IPsec トンネルを設定すると、IPsec 接続一覧に Active の状態で表示されます。
注: この画像のラベルは、以前の製品名のままの場合があります。
Cloudflare WAN で トンネルエンドポイントを設定する ときに必要な /31 サブネットから、インターフェイスアドレスを使う必要があります。
- Configure > Network を開きます。
- Interfaces で、手順 2 で作成した IPsec トンネルに対応するインターフェイスを選びます。
- インターフェイスを編集し、トンネルエンドポイントを設定する ときに必要な
/31サブネットからアドレスを割り当てます。完了すると、次のようになります。
注: この画像のラベルは、以前の製品名のままの場合があります。
- Protect > Rules and policies を開きます。
- Firewall rules で、自社の基準とセキュリティポリシーに沿ったファイアウォールルールを作成し、Sophos と Cloudflare WAN のあいだでトラフィックが流れるようにします。
Sophos Firewall で IPsec Anti-Replay を無効にします。アンチリプレイ設定を変えると IPsec サービスが再起動し、すべての IPsec トンネルでトンネルフラップが発生します。VPN 接続全体の IPsec アンチリプレイ保護も無効になります。変更は計画して実施してください。
SFOS バージョン 19 と SFOS バージョン 19.5 での手順は次のとおりです。
-
CLI にサインインします。
-
4 を入力して Device console を選び、次のコマンドを入力します。
set vpn ipsec-performance anti-replay window-size 0
Sophos サポートへ問い合わせてください。
まず、SFOS と Cloudflare anycast IP アドレスのあいだに GRE トンネルを設定します。
-
CLI にサインインします。
-
4 を入力して Device console を選び、次のコマンドを入力します。
system gre tunnel add name <NAME_OF_YOUR_GRE_TUNNEL> local-gw <WAN_PORT> remote-gw <REMOTE_GATEWAY_IP_ADDRESS> local-ip <LOCAL_IP_ADDRESS> remote-ip <REMOTE_IP_ADDRESS>
詳細は Sophos Firewall ナレッジベース ↗ を参照してください。
GRE トンネル経由でトラフィックを向ける GRE または SD-WAN ルートの追加方法は、Sophos Firewall のトラフィックリダイレクトの仕組み を参照してください。
自社の基準とセキュリティポリシーに沿ったファイアウォールルールを作成し、Sophos と Cloudflare WAN のあいだでトラフィックが流れるようにします。このファイアウォールルールには、必要なネットワークとサービスを含めます。
- Protect > Rules and policies を開きます。
- Firewall rules で IPv4 > Add firewall rule を選択します。
トラフィックを向けるには、静的ルートまたは SD-WAN ルートを追加します。
Configure > Routing > Static routes を開き、XFRM インターフェイスベースのルートを追加します。インターフェイスは、IPsec ベースのトンネルインターフェイス(上記の Cloudflare_MWAN の例など)を設定すると自動で作成されます。
注: この画像のラベルは、以前の製品名のままの場合があります。
- Configure > Routing > Gateways を開き、XFRM インターフェイス上にカスタムゲートウェイを作成します。インターフェイスは、IPsec ベースのトンネルインターフェイス(上記の Cloudflare_MWAN の例など)を設定すると自動で作成されます。
注: この画像のラベルは、以前の製品名のままの場合があります。
- Configure > Routing > SD-WAN routes で Add を選び、Cloudflare へトラフィックを向けるルートに、必要なネットワークとサービスを追加します。接続のわかりやすい名前と、Incoming interface および Source networks に IPsec トンネル用に設定した IP アドレスを入力します。正しい Primary gateway も選んでください。
ルーティング要件に応じて、GRE ルート、SD-WAN ルート、またはその両方を追加します。
CLI でルートを追加します。
- CLI にサインインします。
- 4 を入力して Device console を選び、次のコマンドでトンネルを作成します。
system gre route add net <IP_ADDRESS> tunnelname <TUNNEL_NAME>
- GRE 上にカスタムゲートウェイを追加します。Gateway IP アドレスにはピア IP アドレス(先ほど選んだ
/31サブネットから)を使い、Health check を無効にします。
- Cloudflare へトラフィックを向ける SD-WAN ルートを追加し、必要なネットワークとサービスを含めます。
Cloudflare ダッシュボードは、Cloudflare からオリジンネットワークへトラフィックをルーティングする、アカウント上のすべての anycast トンネルの健全性を監視します。詳細は ダッシュボードでトンネルの健全性を確認する を参照してください。
- Cloudflare からの ICMP プローブパケットは、anycast 送信元 IP を持つ ICMP request である必要があります。次の例では、ターゲットとして
172.64.240.252を使っています。
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/magic/ipsec_tunnels/{tunnel_id} \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"health_check": {
"enabled": true,
"target": "172.64.240.252",
"type": "request",
"rate": "mid"
}
}'- Configure > Network > Interfaces > Add alias を開きます。ICMP プローントラフィック用に Cloudflare が提供する IP アドレスを追加します。Sophos ファイアウォールがスプーフパケットとして破棄しないようにするためです。VPN 作成に使う IP とは異なります。プローブ専用の特別な IP アドレスです。
- SFOS からの ICMP 応答は、プローブパケットを受信した同じトンネル経由で返す必要があります。追加の SD-WAN ポリシールートを作成します。
パケットフローは次のようになります。
tcpdump -nn proto 1tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes
13:09:55.500453 xfrm1, IN: IP 172.70.51.31 > 172.64.240.252: ICMP echo request, id 33504, seq 0, length 64
13:09:55.500480 xfrm1, OUT: IP 172.64.240.252 > 172.70.51.31: ICMP echo reply, id 33504, seq 0, length 64
13:09:55.504669 xfrm1, IN: IP 172.71.29.66 > 172.64.240.252: ICMP echo request, id 60828, seq 0, length 64
13:09:55.504695 xfrm1, OUT: IP 172.64.240.252 > 172.71.29.66: ICMP echo reply, id 60828, seq 0, length 64トンネルが動作していると、Status が緑になります。
注: この画像のラベルは、以前の製品名のままの場合があります。
対応する XFRM インターフェイスも Connected の状態になります。
注: この画像のラベルは、以前の製品名のままの場合があります。
CLI にアクセスし、system gre tunnel show と入力して GRE トンネルの状態を確認します。トンネルが動作していると、状態は Enabled になります。
トンネルが両端で接続済みに見えても確立しない場合は、次を確認します。
- IPsec プロファイルの設定が正しいか確認します。
- 対応するトンネルインターフェイスが up であることを確認します。
- SFOS のルーティング設定とルート優先度が正しいことを確認します。
- Cloudflare 側に静的なバックルートが追加されていることを確認します。
- 特定ゾーンとホストまたはサービス向けのファイアウォールルールを SFOS に追加する必要があります。GRE と IPsec は VPN ゾーンに属します。
tcpdumpを実行し、パケットが想定どおり VPN または GRE トンネルを通っているか確認します。- Cloudflare でパケットキャプチャを実行し、トラフィックが Cloudflare プラットフォームに届いているか確認します。