■CommuniGate Pro v5.4.4のAndroid対応状況
 先日CommuniGate Proがv5.4.4となりExchange互換機能AirSyncの一部バグが更に修正されたということで問題のあったAndroid対応を検証したメモ。デバイス管理者登録周りは修正を確認。ただしPush設定時のワイプに問題が残る。

■動作確認した環境
1) Scientific Linux 5.7 x86(5.6から継続アップデート)
  Communigate Pro v5.4.4(v5.3系から継続アップデート)

■検証結果
1)Nexus One (Android2.3.6公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:正常手順で登録可能
 リモートワイプ:push設定で即時実行できず、間欠接続設定なら実行可能

2)Archos 80 G9(Android3.2.1公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:正常手順で登録可能
 リモートワイプ:push設定で即時実行できず、間欠接続設定なら実行可能に見えるがデータ残る

3)Galaxy Nexus (Android4.0.2公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:正常手順で登録可能
 リモートワイプ:push設定で即時実行できず、間欠接続設定なら実行可能

 今回はAndroidの各バージョンをひとつづつ実験してみた。残念ながら3.x系はリファレンスマシンが手持ちでないため、Archosで実験したが初期化部分がかなりカスタマイズされた仕様のためか案の定データが消えないという事態に。ワイプ操作自体は実行されているように見えるのでこれはArchosの仕様(通常ワイプでの消去範囲が異なる)による結果と思われる。

 CGP 5.4.4においてはデバイス管理者登録を促す部分の仕様が適切に修正されていることが確認できた。またPush設定以外(5分ごとに接続など)であればワイプも適切に実行できることが確認できた。Pushの場合セッションを切断する時点で端末に送信するコマンドが適切でないためリモートワイプが即時実行されない問題が残っているが、5.4.5で修正されるということなので楽しみに待ちたい。この修正が行われれば名実ともにAndroid対応を前提に利用してもらうことができるので嬉しい限り。注意しなければならないのは、Android端末でAirSync設定を行う場合Push設定ではAndroidの仕様で2分間隔でサーバ接続を行うため、バッテリーの少ない機種では稼働時間に影響を大きく及ぼす可能性があるということだ。2分間隔の設定は通常UIでは変更することができず、変更を強要するためにはrootedにして直接ファイル編集が必要になるため法人利用においては現実的ではない。採用機種とバッテリー動作状況を良く確認しながら設定を検討する必要がある。

 ちなみにメール利用においてはAndroid端末からWebUIを利用するというパターンも可能なのだが、HTMLベースはともかく、FlashベースのPronto!についてはAndroid端末で起動は可能なものの日本語入力が正しく動作しないことと画面解像度の問題で実用にならない。タブレットでは高解像度の端末が出てきているが、操作感も含めてPtonto!は現状オススメできないので、WebUIでBasicかSimplex辺りを利用することをオススメする(慣れは必要だが…)。

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate Pro v5.4.2のAndroid対応状況
 先日CommuniGate Proがv5.4.2となりExchange互換機能AirSyncの一部バグが修正されたということで問題のあったAndroid対応を検証したメモ。確かに修正は確認できたが非常に微妙な感じ。更なる改善を願うところ。

■動作確認した環境
1) Scientific Linux 5.7 x86(5.6から継続アップデート)
  Communigate Pro v5.4.2(v5.3系から継続アップデート)

2)Scientific Linux 5.7 x86(新規インストール)
  CommuniGate Pro v5.4.2(新規インストール)

どちらの環境でも結果は同じだったので、以下の検証結果はv5.4.2の問題と考える。

■検証結果
1)Nexus One (Android2.3.6公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログのみ表示、実際登録されず
 リモートワイプ:実行できず

2)001HT(Android2.3.3公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:HTCのカスタマイズで項目自体が存在しない
 リモートワイプ:即時実行可能

3)GalaxyTab(GT-P1000)(Android2.3.3 XXJQ1 rooted)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログのみ表示、実際登録されず
 リモートワイプ:メールフォルダ操作で実行される…ように見えるが初期化されない

4)Archos 80 G9(Android3.2公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログ表示、権限確認表示、メールとして登録
 リモートワイプ:メールフォルダ操作で実行される…ように見えるが初期化されない

5)ASUS TF101(Android3.2.1公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログ表示、権限確認表示、メールとして登録
 リモートワイプ:メールフォルダ操作で実行される、完全に初期化

 ざっくりと見てAndroid2.3.xには非対応、Android3.2.xには対応しているように見える。リモートワイプなどシステム関連の権限を必要するため、Android2.2以降で新設されたデバイス管理者メニューに必要に応じた権限とそのパーミッション設定が必要となるが、Android2.3.x系では必要な権限の登録が行われない。HTC社の製品のみHTC Senseのカスタマイズでデバイス管理者を必要とせずワイプが可能になっているため、001HTでのみ正しくワイプが機能しているが、HTC社の製品の場合は前述の理由によりCommuniGate Pro v5.3.x系でもリモートワイプ可能だった。今回GalaxyTabでもワイプが動作したように見えた(再起動して情報をワイプしている状況が表示された)のだが、キャッシュ等が削除されただけでアカウントやアプリ含めたデータ類はそのままで、端末の初期化はされなかった。おそらくデバイス管理者に正しい設定がされていない影響と思われる。

 2.3.xでは登録されないデバイス管理者が、何故かAndroid3.2.xでは権限表示された上で適切に登録されることが今回確認できた。TF101では即時ではないもののメールのフォルダを表示しようとした瞬間に端末が再起動され、データの消去が行われ初期化された上で新規登録画面が立ち上がってきた。Archos 80 G9ではやはりメールのフォルダを表示しようとした際に再起動に入るため端末の電源は落ちるがそのまま終了してしまう。電源長押しで起動させた後、何故かパスワード設定のみが反映された状態で起動し、リモートワイプで使用したアカウントのパスワードでログインすると、アプリやデータはそのまま利用可能な状態で残っていた。これはデバイス管理者の権限が反映されたことを示しているが、なぜワイプまでできず中途半端に終わっているのはよくわからない…。Archos製品は他社製品と少し実装が異なり、初期化オプションを複数提供するためシステムイメージをループバックマウントすることでシステム全体をセキュアに保つ仕組みが採用されていることに関係しているのかもしれない。

 ワイプの実行のためにメールフォルダの操作が必要になっているのは、ワイプ実行に必要なProvisionコマンドの発行のため。通常iOSやWindows Phone 7.5ではサーバ側でワイプ指定した時点で、接続を切られた端末側が再アクセスしてProvisionコマンドを要求に応じて返してくることでワイプが実行されるのだが、Android端末では何故かサーバ側でProvisionコマンドを要求しても返してこない。仕方がないので端末側でProvisionコマンドを発行させるために必要な操作として、InBox以外のメールフォルダを開いてみるという動作を行う。フォルダを開こうとするとサーバから拒否されるため、FolderSyncの再問合せをした際に、Provisionコマンドの応答を行うことになる。本来すぐに実行されるべきコマンドが一定操作をしないと行われないことは、おそらくCommuniGate Pro側の要求送信内容の問題だと思われるので、ここも改善してもらいところである。

■まとめ
 CommuniGate Pro v5.4.2でAirSyncのバグが一部修正されデバイス管理者登録部分の動作がやや改善されたことは確認できたものの、まだAndroid2.3系ではワイプなどセキュリティ系機能が実用にならず、3.2系でも機種によっては適切に動作しないことが確認できた。iOSやWindows Phone 7.5の端末では問題なく動作するだけに、シェアの大きいAndroid端末でうまく動作しないことは残念というしかない。デバイス管理者の登録やワイプ実行のためのProvisionコマンドの要求発行内容とタイミングについて更に改善をしてもらいたいと思う。とりあえずメールやカレンダーの同期といった主要な部分は動作しているので実使用上大きな問題はないケースも多いとは思われるが、セキュリティ系で必要な機能についてCommuniGate ProとAndroid端末を組み合わせて利用したい場合には、利用端末で適切に動作するかどうか事前に確認することを強くオススメする。

【追記】Galaxy Nexusが届いたので追記

6)Galaxy Nexus (Android4.0.1公式ROM)
 メール・連絡先・カレンダー同期OK
 デバイス管理者登録:ダイアログ表示無し、登録されず
 リモートワイプ:実行できず

 3.xで対応していた部分がバージョンアップでまた未対応になってしまった模様…。codenameでは正しく動作しワイプできたことから4.0の仕様変更自体の問題ではなさそう。CGS社にはレポートしてあるのだがいつになったら直してくれるのだろう…。

, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...

■CommuniGate ProでAndroid端末をリモートワイプ
 Microsoft Exchangeの代替ソリューションのひとつであるCommuniGate ProでAndroid端末のリモートワイプ実験をしたメモ。CommuniGate Proはキャリアグレードのスケーラビリティと安定性を誇るソフトウェアにも関わらず5ユーザまで無償で利用可能で、ExchangeサーバのActiveSyncと近似した機能をAirSyncという名前で提供しており、これも無償ライセンス内で利用できる。このActiveSync互換のAirSyncを利用して、メッセージの同期とリモートワイプの実験を行う。試したのは手持ちのNexusOne (CyanogenMod7 Android 2.3.3)、GalaxyTab (Froyo XXJK5 Android 2.2)、Desire HD 001HT (標準 Android 2.2)の3つ。Android1.x系はそもそもExchange連携未対応なので対象外。CommuniGate Proのバージョンは5.3.11。

 設定は簡単。インストール済みのCommuniGate Proを用意してアカウントを作成、Android側ではExchange同期アカウントを利用して、CommuniGate Proのアカウントを設定してやればいい。注意点は以下。

・CommuniGate Pro側でHTTPの待ち受けをTCP80/443に設定すること(※追記参照)
 AirSyncはこれらのポート以外では動作しない
・Android側でアカウントを指定する時には@以下も記述すること

■実験結果
1)NexusOne
 メッセージとアドレス帳の同期はOK。カレンダー同期はNG。
 リモートワイプは信号受信するものの無視。

2)GalaxyTab
 メッセージとアドレス帳の同期はOK。カレンダー同期はNG。
 リモートワイプは信号受信するものの無視。

3)Desire HD 001HT
 メッセージとアドレス帳の同期はOK。カレンダー同期はNG。
 リモートワイプは信号受信し即端末全体を初期化。

 メッセージとアドレス帳はどれも問題なく同期できたが、カレンダーがエラーとなり同期できなかった。リモートワイプが実行できたのは001HTのみ。Exchangeサーバだと端末側でアカウント作成時にデバイス管理者の追加設定許可を求められるはずのところを、CommuniGate Proではそのダイアログが出てこないことから、ActiveSyncとAirSyncで一部動作が異なっていることが確認できた。また端末側でもHTCのカスタマイズにより001HTでは本来Android2.2以降にあるはずのデバイス管理者設定項目が消失していることから、どうやらデバイス管理者設定の状態によりリモートワイプが実行できるかどうかが判断されているようだ。HTCの端末では2.1の頃から独自にExchange対応をしていたり、HTC Senceサービスで独自のリモートワイプサービスを提供していたりするので、その辺りの影響が出ているものと思われる。

 ちなみにCommuniGate ProではiPhone/iPadについては問題なくリモートワイプできている。CommuniGate Proは5.4系でAndroidに正式対応するということなので、今後修正がされる可能性はあるが、現在のところCommuniGate ProでリモートワイプによりAndroid端末のデータ消去を実行しようと思ったら、Android2.2以降を搭載したHTC製端末(HTC Sence 2.x以降)を選択する必要がある。(同端末はHTC SenceのWebサイトに登録することで、Webからデータ消去操作を行うことも可能だが、システム管理者が一括で管理したいというようなケースでは、Communigate Proを利用するメリットがある)

■追記
 AirSyncの待ち受けについては80/443のどちらか一方だけでも問題ない。httpは平文でデータ参照できてしまうことから、実運用する場合には443で設定する方が望ましい。またApache等と同居している場合など、CommuniGate Pro自体の80/443を有効にできない時には、proxy設定を利用して80/443への接続をCommuniGate Proの標準待ち受けポートTCP8100へ繋いでやることでAirSyncを行うことが可能。以下Apacheで443接続をproxy設定するサンプル。

  1. <VirtualHost 192.168.0.1:443>
  2.  
  3. ServerName cgp.exsample.com:443
  4. ErrorLog logs/ssl_error_log
  5. TransferLog logs/ssl_access_log
  6. LogLevel warn
  7.  
  8. SSLEngine on
  9. SSLProtocol all -SSLv2
  10. SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
  11. SSLCertificateFile /etc/httpd/cert/cgp.crt
  12. SSLCertificateKeyFile /etc/httpd/cert/cgp.key
  13.  
  14. ProxyRequests Off
  15. ProxyPass / http://localhost:8100/
  16.  
  17. <Location />
  18. ProxyPassReverse http://localhost:8100/
  19. ProxyPassReverseCookieDomain localhost cgp.exsample.com
  20. ProxyPassReverseCookiePath / /
  21. Order allow,deny
  22. Allow from all
  23. </Location>
  24.  
  25. </VirtualHost>
, , , , ,
とりあえず付けておく無駄ではなかったなまぁまぁ読めたちょっと役に立ったかなかなり良かったかも (まだ評価されていません)
Loading...