備忘録/にわかエンジニアが好きなように書く

個人的にとりあえず仕組みを知るために、触りたように好きにとりあえず動くような構築してみる 個人用の備忘録となるので内容の保証はないのでその点はご了承ください。 ※変な内容や間違いを書いているなどありましたらコメントやご指摘いただけると幸いです。

ファイアウォール経由でドクターマリオ ワールドのアプリ起動しない

概要

iPhoneからWi-Fiを使ったAP経由すると、アプリ"ドクターマリオ ワールド"でエラーコード:0003 と表示され起動しない事象が確認できた。 (2019年9月4日時点)

他のアプリ"ポケモンGo" "Twitter" "AbemaTV"などは問題なく使うことができる。

■アプリのエラー画面

f:id:pocket01:20190915025748p:plain

 

構成

f:id:pocket01:20190915024617p:plain

・ファイアウォールでAP経由からインターネット方向の通信は、以下のようなポリシーとしている。

 ・許可(HTTP , HTTPS , DNS , NTPのみ)  /   その他全てを破棄

f:id:pocket01:20190915025339p:plain

※メールやicloud関連は破棄する(はず)ようにしている。

・AP側からL3-SW側への通信は許可していない。

・InternetからAP側への通信は全て破棄する。 

結論

アプリを起動後に、ファイアウォールで許可していない通信 (TCP , ポート:11010) が発生し、通信を遮断していたためアプリが正常に起動しなかったためエラー画面表示となる。

 

調査手順

社内の環境依存なのかを切り分け

キャリア網経由では使えるのかを確認するが、問題なくアプリで遊べることが確認できたため、社内のWi-Fi環境に依存した事象であることが分かった。

他のiPhoneでも確認

他の端末でも同様の事象が発生することが分かったので端末依存ではない可能性が高い

通信経路調査

Wi-Fi経由の場合に通信遮断が発生しているような個所を調査

アプリ上の起動画面や問い合わせページが表示されたため、すべての通信が遮断されたわけではないと思われるためFirewallポリシに影響している可能性が高そう 

Firewallのログ調査

ポリシとトラフィックログを確認し遮断されたログの有無などを送信元アドレスをもと調査すると遮断しているログが多数発生していた。

apple関連や携帯キャリア関連の通信で遮断しているログが多数あったのでログから絞り込みが時間がかかり面倒だと分かった。

 

(参考)

Apple ソフトウェア製品で使われている TCP および UDP ポート

https://support.apple.com/ja-jp/HT202944

 

実際にアプリを起動させた直後のログを確認

アプリを実行中にFortigate上の転送ログを確認すると、正常に許可された通信ログと破棄されたログが出力された。

以下は破棄された通信ログとなる。

※ログ出力で送信元アドレスでフィルターを実施している

f:id:pocket01:20190915030808p:plain

 

ログより破棄された通信は1種類のみであることが分かった。

 

 ・宛先   :lgmatch-release-lgmatchacsweb-10010.gcld-line.com

 ・IPアドレス:147.92.131.86

 ・プロトコル:TCP (11010)

  ※該当IPのWHOIS情報

  f:id:pocket01:20190919232038p:plain

改善策の実施

該当の通信で、TCP(11010)を許可するポリシを追加したところエラーがでなくなった。

f:id:pocket01:20190916131409p:plain

解決する方法は見つかったが、宛先やプロトコルの使用用途が不明なので、今回はポリシ追加しないことにする。

 →現環境下で使用不可のアプリとなる。

通信ログに関する調査継続

宛先についてすこし調査するとgoogleで「任天堂 "gcld-line.com"」をキーワードで調べるたり英語版Googleでドメイン名を調べたりすると今回のドメイン関連で同じような事象に遭遇しているような書き込みが数件見つかったが、データ分析サイトのリンクが付いていたりするので何だかよくわからない。

  ・Weird new domain being blocked... Anyone know what it is?

https://www.reddit.com/r/pihole/comments/cfv7kz/weird_new_domain_being_blocked_anyone_know_what/

 

今後の方針

・該当のドメインやプロトコルが何なのかを引き続き調査する。

・アプリの使用規約を確認する必要がありそう。

  - ドクターマリオ ワールドプライバシーポリシー  https://support.drmario-world.com/ja-JP/privacy_policy/index.html

    - LINE プライバシーポリシー     https://terms.line.me/line_rules

・通信を許可する必要が出てきた場合は、情報の扱いの規約等を確認したほうがよさそう。

・他のアプリでもHTTP,HTTPS以外で通信が発生するアプリがあるのかは確認してみたら面白いかも。

・アプリ側で他アプリ同様の通信方式へ変更してもらうことに淡い期待を持つ。