ファイアウォール付きトンネル
Cloudflare Tunnelを使用して、すべての着信トラフィックをブロックし、cloudflaredからの発信トラフィックのみを許可することで、ポジティブセキュリティモデルを実装できます。トンネル構成で指定されたサービスのみが外部に公開されます。
以下のパラメータは、ファイアウォール内の発信トラフィックに対して構成できます。
cloudflaredは、ポート7844でCloudflareのグローバルネットワークに接続します。Cloudflare Tunnelを使用するには、ファイアウォールがポート7844への以下の宛先への発信接続を許可する必要があります(quicプロトコルを使用する場合はUDP、http2プロトコルを使用する場合はTCP)。
| ドメイン | IPv4 | IPv6 | ポート | プロトコル |
|---|---|---|---|---|
region1.v2.argotunnel.com | 198.41.192.167198.41.192.67198.41.192.57198.41.192.107198.41.192.27198.41.192.7198.41.192.227198.41.192.47198.41.192.37198.41.192.77 | 2606:4700:a0::12606:4700:a0::22606:4700:a0::32606:4700:a0::42606:4700:a0::52606:4700:a0::62606:4700:a0::72606:4700:a0::82606:4700:a0::92606:4700:a0::10 | 7844 | TCP/UDP (http2/quic) |
region2.v2.argotunnel.com | 198.41.200.13198.41.200.193198.41.200.33198.41.200.233198.41.200.53198.41.200.63198.41.200.113198.41.200.73198.41.200.43198.41.200.23 | 2606:4700:a8::12606:4700:a8::22606:4700:a8::32606:4700:a8::42606:4700:a8::52606:4700:a8::62606:4700:a8::72606:4700:a8::82606:4700:a8::92606:4700:a8::10 | 7844 | TCP/UDP (http2/quic) |
cftunnel.com1 | 該当なし | 該当なし | 7844 | TCP/UDP (http2/quic) |
h2.cftunnel.com1 | 該当なし | 該当なし | 7844 | TCP (http2) |
quic.cftunnel.com1 | 該当なし | 該当なし | 7844 | UDP (quic) |
1 このルールは、SNIを強制するファイアウォールにのみ必要です。
ポート443を開放すると、一部のオプション機能が有効になります。これらの接続を許可しないとログエラーが発生する可能性がありますが、cloudflaredは正しく動作し続けます。
| ドメイン | IPv4 | IPv6 | ポート | プロトコル | 説明 |
|---|---|---|---|---|---|
api.cloudflare.com | 104.19.192.29 104.19.192.177 104.19.192.175 104.19.193.29 104.19.192.174 104.19.192.176 | 2606:4700:300a::6813:c0af 2606:4700:300a::6813:c01d 2606:4700:300a::6813:c0ae 2606:4700:300a::6813:c11d 2606:4700:300a::6813:c0b0 2606:4700:300a::6813:c0b1 | 443 | TCP (HTTPS) | cloudflaredがソフトウェアの更新が利用可能かどうかを照会できるようにします。 |
update.argotunnel.com | 104.18.25.129 104.18.24.129 | 2606:4700::6812:1881 2606:4700::6812:1981 | 443 | TCP (HTTPS) | cloudflaredがソフトウェアの更新が利用可能かどうかを照会できるようにします。 |
github.com | GitHubのIPアドレス ↗ | GitHubのIPアドレス ↗ | 443 | TCP (HTTPS) | cloudflaredが最新のリリースをダウンロードし、ソフトウェアの更新を実行できるようにします。 |
<your-team-name>.cloudflareaccess.com | 104.19.194.29 104.19.195.29 | 2606:4700:300a::6813:c31d 2606:4700:300a::6813:c21d | 443 | TCP (HTTPS) | cloudflaredがAccess JWTを検証できるようにします。access設定が有効な場合のみ必要です。 |
pqtunnels.cloudflareresearch.com | 104.18.4.64 104.18.5.64 | 2606:4700::6812:540 2606:4700::6812:440 | 443 | TCP (HTTPS) | cloudflaredがポスト量子鍵交換 ↗エラーをCloudflareに報告できるようにします。 |
クラウドプロバイダーの仮想マシン(VM)インスタンスでサービスをホストしている場合、インスタンスレベルのファイアウォールルールを設定してすべての着信トラフィックをブロックし、発信トラフィックのみを許可できます。たとえば、Google Cloud Platform(GCP)では、すべての着信ルールを削除し、関連する発信ルールのみを残すことができます。これは、GCPのファイアウォールが明示的なルールに一致しない限り、着信トラフィックを拒否するためです。
または、オペレーティングシステム(OS)レベルのファイアウォールルールを使用して、すべての着信トラフィックをブロックし、発信トラフィックのみを許可することもできます。たとえば、サーバーがLinuxで動作している場合、iptablesを使用してファイアウォールルールを設定できます。
-
現在のファイアウォールルールを確認します。
Terminal window sudo iptables -L -
localhostが自分自身と通信できるようにします。Terminal window sudo iptables -A INPUT -i lo -j ACCEPT -
すでに確立された接続と関連トラフィックを許可します。
Terminal window sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -
新しいSSH接続を許可します。
Terminal window sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT -
その他のすべての着信トラフィックをドロップします。
Terminal window sudo iptables -A INPUT -j DROP -
ファイアウォールルールを設定した後、次のコマンドを使用して現在の
iptables設定を確認します。Terminal window sudo iptables -L
トンネルを実行し、すべての構成されたサービスがトンネルを介して外部からアクセス可能であり、サーバーの外部IPアドレスを介してはアクセスできないことを確認します。
また、Cloudflare Accessでアプリケーションを保護することもできます。
Cloudflareへの接続性をテストするには、digコマンドを使用して上記のホスト名を照会できます。cloudflaredはデフォルトでIPv4で接続します。
dig A region1.v2.argotunnel.com;; ANSWER SECTION:region1.v2.argotunnel.com. 86400 IN A 198.41.192.167region1.v2.argotunnel.com. 86400 IN A 198.41.192.67region1.v2.argotunnel.com. 86400 IN A 198.41.192.57region1.v2.argotunnel.com. 86400 IN A 198.41.192.107region1.v2.argotunnel.com. 86400 IN A 198.41.192.27region1.v2.argotunnel.com. 86400 IN A 198.41.192.7region1.v2.argotunnel.com. 86400 IN A 198.41.192.227region1.v2.argotunnel.com. 86400 IN A 198.41.192.47region1.v2.argotunnel.com. 86400 IN A 198.41.192.37region1.v2.argotunnel.com. 86400 IN A 198.41.192.77...dig AAAA region1.v2.argotunnel.com...;; ANSWER SECTION:region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::1region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::2region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::3region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::4region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::5region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::6region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::7region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::8region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::9region1.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a0::10...dig A region2.v2.argotunnel.com;; ANSWER SECTION:region2.v2.argotunnel.com. 86400 IN A 198.41.200.13region2.v2.argotunnel.com. 86400 IN A 198.41.200.193region2.v2.argotunnel.com. 86400 IN A 198.41.200.33region2.v2.argotunnel.com. 86400 IN A 198.41.200.233region2.v2.argotunnel.com. 86400 IN A 198.41.200.53region2.v2.argotunnel.com. 86400 IN A 198.41.200.63region2.v2.argotunnel.com. 86400 IN A 198.41.200.113region2.v2.argotunnel.com. 86400 IN A 198.41.200.73region2.v2.argotunnel.com. 86400 IN A 198.41.200.43region2.v2.argotunnel.com. 86400 IN A 198.41.200.23...dig AAAA region2.v2.argotunnel.com...;; ANSWER SECTION:region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::1region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::2region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::3region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::4region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::5region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::6region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::7region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::8region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::9region2.v2.argotunnel.com. 86400 IN AAAA 2606:4700:a8::10...Windowsでは、digが利用できない場合、PowerShellコマンドを使用できます。
DNSをテストするには:
PS C:\Windows\system32> Resolve-DnsName -Name _v2-origintunneld._tcp.argotunnel.com SRV
名前 タイプ TTL セクション 名前ターゲット 優先度 重み ポート---- ---- --- ------- ---------- -------- ------ ----_v2-origintunneld._tcp.argotunnel.com SRV 112 回答 region2.v2.argotunnel.com 2 1 7844_v2-origintunneld._tcp.argotunnel.com SRV 112 回答 region1.v2.argotunnel.com 1 1 7844ポートをテストするには:
PS C:\Cloudflared\bin> tnc region1.v2.argotunnel.com -port 443
コンピュータ名 : region1.v2.argotunnel.comリモートアドレス : 198.41.192.227リモートポート : 443インターフェイスエイリアス : Ethernetソースアドレス : 10.0.2.15TcpTestSucceeded : TruePS C:\Cloudflared\bin> tnc region1.v2.argotunnel.com -port 7844
コンピュータ名 : region1.v2.argotunnel.comリモートアドレス : 198.41.192.227リモートポート : 7844インターフェイスエイリアス : Ethernetソースアドレス : 10.0.2.15TcpTestSucceeded : True