web-dev-qa-db-ja.com

Android FCM-ファイアウォールのIPとポートは何ですか?

限られた環境にあるサーバーは、アプリとともにインストールされたデバイスに通知をプッシュする必要があります。オープン環境でプッシュクライアントを試しましたが、うまくいきました。ただし、サーバーに移動すると、ファイアウォールの遮断によるネットワークエラーが発生します。

Googleドキュメントに基づく:

組織にインターネットとの間のトラフィックを制限するファイアウォールがある場合、Firebase Cloud Messagingクライアントアプリがメッセージを受信できるように、FCMとの接続を許可するようにファイアウォールを構成する必要があります。開くポートは、5228、5229、5230です。FCMは通常5228のみを使用しますが、5229と5230を使用することもあります。FCMは特定のIPを提供しないため、ファイアウォールに含まれているすべてのIPアドレスへの送信接続を許可する必要がありますGoogleのASN 15169にリストされているIPブロック内。

ただし、実際には次のURLでHTTPプロトコルを使用してプッシュしています。

https://fcm.googleapis.com/fcm/send

これは、開くポートが443ではなく5228になったことを意味しますか?

また、セキュリティチームがドメインへの接続を許可していないため、ホストも構成する必要があります。上記の段落から、すべてのIPアドレスはASN 15169にあり、リストを見つけることができただけでした here

これを経験したことのある人なら誰でも指針を示すことができますか?ありがとうございました。

8
ipohfly

これは、開くポートが5228ではなく443であることを意味しますか?

メッセージを受信するには

documentation に従って、5228、5229、および5230を開く必要があります。

メッセージを送信するには

FCMは特定のIPを提供しません。これは、IP範囲が頻繁に変更され、ファイアウォールルールが古くなり、ユーザーエクスペリエンスに影響を与える可能性があるためです。理想的には、IP制限のないポート5228-5230をホワイトリストに登録します。

ただし、IP制限が必要な場合は、 GoogleのASN of 15169 にリストされているIPv4およびIPv6ブロック内のすべてのIPアドレスをホワイトリストに登録する必要があります。これは大きなリストであり、毎月ルールを更新することを計画する必要があります。

8
Darish

ダリッシュの回答に加えて、GoogleはIPやURLをホワイトリストに登録することを推奨していません。

送信接続の場合、FCMは特定のIPを提供しません。これは、IP範囲が頻繁に変更され、ファイアウォールルールが古くなり、ユーザーのエクスペリエンスに影響を与える可能性があるためです。理想的には、IP制限なしでポート5228〜5230をホワイトリストに登録します。ただし、IP制限が必要な場合は、GoogleのASN 15169にリストされているIPv4およびIPv6ブロックのすべてのIPアドレスをホワイトリストに登録する必要があります。これは大きなリストであり、ルールを毎月更新することを計画する必要があります。ファイアウォールのIP制限が原因で発生する問題は、断続的で診断が難しいことがよくあります。

GoogleのIPアドレスに関する情報は、 ここ (Googleヘルプページ)または ここ (ipinfo.io)で確認できます。

これらのコマンドを試すこともできます(上記の最初のリンクから、netstatからDigに翻訳されています):

Dig @8.8.8.8 _spf.google.com TXT
Dig @8.8.8.8 _netblocks.google.com TXT
Dig @8.8.8.8 _netblocks2.google.com TXT
Dig @8.8.8.8 _netblocks3.google.com TXT

最初のコマンドは、Googleメールサーバー(サーバーが所有するすべてのIP)のSPFレコードを取得します。これにより、_netblockN.google.com TXTレコードが表示され、すべてのIP範囲が得られます。私のクエリでは、次の結果が得られました。

_netblocks.google.com.  3599    IN      TXT     "v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"
_netblocks2.google.com. 3599    IN      TXT     "v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all"
_netblocks3.google.com. 3599    IN      TXT     "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"

これらのTXTレコードを解析し、結果のIP範囲をファイアウォールルールに使用できます。ただし、ルールを毎月更新することをお勧めします。

0
Jacob Degeling