Catoクラウドでは、許可した端末からしかリモートアクセスをさせたくないというご要件に対応する機能として、デバイス認証(Device Authentication)機能があります。
これは、指定した電子証明書(デバイス証明書、別名クライアント証明書)がインストールされている端末からのみ、Catoクラウドへの接続を許可する機能で、Catoクライアントが対応するすべてのOS(※)にて利用可能です。
※ Windows, macOS, iOS(iPhone/iPad), Android, Linux
デバイス認証機能の詳細や活用方法については後日別記事にてご紹介予定ですが、今回は特によくお問い合わせをいただくiPhoneへの証明書導入方法について解説します。iPhoneへの導入は他OSよりStepが多く分かりづらいため、参考にしていただけますと幸いです。
前提条件
前提として、iPhoneでデバイス証明書認証を利用する場合は、iOSの仕様上、MDM等による構成プロファイルの作成が必須となります。構成プロファイルを用いない設定には対応していないため、ご注意ください。
※なお、デバイス証明書認証を利用しない場合には、構成プロファイルは必須ではありません。
また、使用するデバイス証明書およびCA証明書を用意する必要があります。証明書の用意方法としては、外部の電子証明書発行サービスを利用する方法や、Active DirectoryのADCS機能で発行する方法、OpenSSLを利用しプライベート認証局を構築して発行する方法などがあります。Catoクラウドではどの方法で発行したデバイス証明書でも利用可能です。
接続までの流れは以下となります。
- CMAにCA証明書をアップロード
- MDM等を利用し構成プロファイルを作成
- 作成した構成プロファイルをiPhoneへ配信
- iPhoneに構成プロファイルをインストール
- CMAで接続テスト設定
- iPhoneにCatoクライアントをインストールし接続
本記事では、MDMとしてApple Configuratorを使用し、以下の環境にてテストしています。ご利用のMDMにより画面は異なりますが、設定項目はおおよそ同じですので、参考としていただければと思います。
- 端末: iPhone SE(第2世代) iOS 16.6.1
- MDM: Apple Configurator 2.16 (macOS Ventura 13.6.3)
- デバイス証明書: 検証用のプライベート認証局で発行
(CMA)CA証明書をアップロード
Catoの管理画面(CMA)に、デバイス証明書を検証(Verify)するCA証明書をアップロードします。
ここでは、デバイス証明書を署名したCAの証明書をアップロードする必要があります。つまり、デバイス証明書が中間CAから発行されている場合には中間CA証明書、そうでない場合にはルート証明書になります。ご利用の証明書の構成をご確認ください。
アップロードは、CMA の Access > Client Access > Device Authentication の箇所で行います。
「New」ボタンを押し、任意の名前を指定の上、CA証明書をアップロードします。
認証の際は、端末内のデバイス証明書がこのCA証明書で正しく検証できる必要があります。
(MDM)構成プロファイルの作成
Apple Configuratorを開き、ファイル > 新規プロファイルを選択し、構成プロファイルの作成画面を開きます。任意のプロファイル名をつけてください。
各種設定項目がありますが、Catoクライアントで利用するのは、左メニューの「証明書」と「VPN」の2つのみです。
証明書の設定
証明書を2つ設定します。
1. Catoのルート証明書
CatoでTLS Inspectionを行うために必須となる、Catoのルート証明書です。
WindowsやMacOSでは、Catoクライアントのインストール時に自動でインポートされるため特に意識しないのですが、iPhoneではクライアントとセットになっていないため、クライアントとは別にインポートが必要です。このため、この構成プロファイルであわせて配布してしまうのがおすすめです。
このCatoのルート証明書は、下記サイトの「Cato Certificate」より入手ください。
2. デバイス証明書
デバイス証明書認証で使用する証明書です。インポートパスワードを設定した .p12形式でご用意ください。
パスワード欄に、証明書のインポートパスワードを入力します。
VPNの設定
続いて「VPN」に移動し、各設定項目を入力します。詳細はCato Knowledge Baseに公開されていますので、あわせてご確認ください。
Distributing Certificates for Device Authentication and Device Checks
接続名 | 任意の名前 |
接続のタイプ | カスタムSSL |
識別子 | CatoNetworks.CatoVPN |
サーバ | vpn.catonetworks.net |
アカウント | Catoテナント名 ※モバイルユーザアカウントではありません |
プロバイダバンドル識別子 | CatoNetworks.CatoVPN.CatoVPNNEExtenstion |
プロバイダの指定要件 | 空欄 |
カスタムデータ | 空欄 |
ユーザ認証 | 証明書 |
さらに下にスクロールします。
プロバイダタイプ | パケットトンネル |
資格情報 | プルダウンし、証明書のところで設定したデバイス証明書の名前を選択 ※ここが間違いがちです |
これ以外の項目はすべてデフォルトとします。
以上で構成プロファイルの作成は完了です。プロファイルを保存します。
(MDM)構成プロファイルをiPhoneへ配信
作成した構成プロファイルを、対象のiPhoneに配信します。配信方法は、MDMからの配信、Eメール添付など、なんでも問題ありません。
今回はiPhoneをUSBケーブルでMacに接続し、Apple Configuratorから直接配信しました。
(iPhone)構成プロファイルをインストール
iPhone側で、受け取った構成プロファイルをインストールします。
※MDM等の設定で、プロファイルが自動インストールされる場合には、以下は不要です
「設定」>「ダウンロード済みのプロファイル」を選択します。
先ほど配信したプロファイルであることを確認し、「インストール」します。
完了画面が出たら、「完了」を押します。
インストールの確認
構成プロファイルが正しくインストールされたかを確認します。
「設定」>「一般」>「VPNとデバイス管理」を開き、「構成プロファイル」の欄に、先ほどインストールした構成プロファイルがあることを確認します。
次に「VPN」を開き、構成プロファイルの中で設定したVPN設定が入っていることを確認します。
これが表示されていない場合、構成プロファイルに何らかの設定誤りがあって、VPN設定が認識されていないため、プロファイルを見直します。
続いて、配信したCatoのルート証明書を通信に利用できるようにするため、信頼設定します。
「設定」>「一般」>「情報」を最下部までスクロールし、「証明書信頼設定」を開きます。「Cato Networks CA」の横のスライダをON(緑の状態)にしてください。
(CMA)接続テスト設定
接続テストを行うにあたり、デバイス証明書認証の設定を全体に適用すると影響が大きいため、まずは接続テストを実施するユーザのみに適用することをおすすめします。
CMA の Access > Users で、テストを行うユーザを選択します。
User Configuration > Device Authentication で、「Override account Device Authentication settings」にチェックを入れ、証明書認証したいOS(今回はiOS)を選択し「Save」します。
こうすることで、このユーザのみにデバイス証明書認証を有効化できます。
(iPhone)Catoクライアントをインストールし接続
Catoクライアントをインストールします。App Storeからのダウンロードでも、MDMからの配信でも問題ありません。
インストール完了後、アプリを起動し、中央のボタンを押して接続します。
認証画面に遷移します。通常どおりCatoモバイルユーザのアカウント(メールアドレス)とパスワードを入力し、「Continue」を押します。
Connectedの表示となれば成功です!
CMAのEventsにも証明書認証が成功した旨のログがでます。
トラブルシュート
エラーメッセージが出て接続できない例をご紹介します。
Catoクライアントの認証画面で「Device Certificate is needed」と表示され接続できない
デバイス証明書が認識されていません。以下2点をご確認ください。
- 配信した構成プロファイルに正しくクライアント証明書が含まれているか。
- 「設定」>「一般」>「VPNとデバイス管理」>「VPN」の箇所で、VPNプロファイルが2つできていないか。
- 2つできてしまっている場合、構成プロファイルに設定したVPNのパラメータのいずれかに誤りがあり、Catoクライアントがそのプロファイルを参照できていない状態です。パラメータを見直します。
Catoクライアントの認証画面で「Failed to authenticate with Certificate」と表示され接続できない
デバイス証明書は認識されていますが、CMAにアップロードされたCA証明書で検証できません。以下をご確認ください。
- デバイス証明書とCA証明書の紐づきが正しいか (異なるCAをアップロードしていないか) 。
- よくある例として、デバイス証明書に署名しているのは中間CAなのに、中間CA証明書ではなくルートCA証明書をアップロードしてしまっていないか。
- デバイス証明書、CA証明書ともに有効期限内か。
まとめ
iPhoneでのデバイス証明書認証は、MDMの利用が必須であることから、他OSより少し手間がかかります。
MDMでうまくいかない場合には、切り分けとして、シンプルなApple Configuratorでの構成プロファイル作成をお試しください。