くらめその情シス:jamfを使用してCloudflare WARPを配布してみた

2022.07.07

こんにちは

情シス担当、アノテーションの畠山です。

今回は、ゼロトラスト セキュリティを実現するためのサービスであるCloudflare WARPをjamfPROを使用してMacに配布&インストールする方法をご紹介いたします。

はじめに

Cloudflare WARPとは

今回、導入したCloudflareに関する、導入の目的や仕組みについては、こちらのブログをご参照ください。
Cloudflare Zero Trustでホテル/コワーキングなど公共LANへの接続を解禁しました

弊社では、上記サービスを、導入済みのjamfPROを使用して、社員が使用するMacに配布しました。

今回はここのお話になります。

手順概要

  • Cloudflareからパッケージファイルを入手
  • jamfにパッケージファイルと、jamfへのアップロード
  • 証明書のダウンロード
  • 配布用のポリシーを作成
  • 構成プロファイルの作成
  • Smart Computer Groupを作成し、構成プロファイルの配布対象を設定
  • Macにポリシーを配布し、インストール

Cloudflareサイトからパッケージファイル&証明書を入手

ご契約しているCloudflareの管理サイトからMac用の最新パッケージファイルをダウロードします。

jamfにパッケージファイルと、jamfへのアップロード

ダウンロードしたpkgファイルは、jamfの管理画面のコンピュータの管理より、パッケージにアップロードしておいてください。

証明書のダウンロード

次に、Cloudflareドキュメントサイトから証明書もダウンロードしておきます。 https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/install-cloudflare-cert/

なお、「crt」と「pem」が選択できますが、「crt」の方をダウンロードして、拡張子を「cer」に変更しておいてください。

jamfにアップロードする際に、「cer」にしないとエラーになりますので、ご注意ください。

証明書のjamfへの登録は、この後、構成プロファイルの作成時に行います。

配布用のポリシーを作成

Macにパッケージを配布するためのポリシーを作成します。

  • Generalのタブでは、Cloudflareのインストール用のポリシーであることがわかるような名前をつけましょう。
  • トリガーは、「起動」、「ログイン」、「Recurring Check-in」あたりを設定するといいと思いますが、ご使用の環境に合わせて設定してください。
  • 実行頻度は、「Once per computer」(コンピュータで1度だけ実施)で設定しましょう。
  • 次に、パッケージを追加して、先ほどアップロードしたパッケージを割り当てます。
  • アクションは、「Install」を選択してください。
  • 設定が終わったら、「保存」します。

scopeは、テスト段階では、特定の検証用Macのみを設定して、テストを行なってから全コンピュータを設定するようにしたほうがいいと思います。

この段階では、まだ、構成プロファイルを作成していませんので、scopeの設定はしません。

構成プロファイルの作成

インストールした、Cloudflareパッケージを、自社で契約しているorganizationで動作させるための設定情報を配布するための構成プロファイルを作成します。

なお、この構成プロファイルの配布対象を全コンピュータにしてしまうと、パッケージがインストールされていないMacにも配布されてしまうため、別途、Smart Computer Groupを作成して、CloudflareがインストールされたMacにのみ、構成プロファイルを配布するようにします。

構成プロファイルの新規作成

事前に、構成プロファイルに設定する、cloudflareの設定ファイル(.plist)を以下の内容で作成しておきます。

plistファイルの名前は、わかりやすい名前(拡張子は.plist)を設定してください。

{}の部分は、お使いの環境に合わせて、変更してください。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>organization</key>
    <string>{お使いのCloudflareのorganization}</string>
    <key>auto_connect</key>
    <integer>0</integer>
    <key>switch_locked</key>
    <false />
    <key>service_mode</key>
    <string>warp</string>
    <key>support_url</key>
    <string>{連絡方法(mailto:)連絡先メールアドレス等(XXXXX@XXXX.XX)}</string>
  </dict>
</plist>
  • 一般タブでは、わかりやすい名前を指定します。
  • 次に、証明書を追加します。
  • 「証明書のアップロード」ボタンより、上記でダウンロードして拡張子を「cer」に変更したファイルを指定してアップロードします。
  • 次に、アプリケーションとカスタム設定のアップロードを追加します。
  • 環境ドメインは「com.cloudflare.warp」を指定します。
  • 上記で作成した、plistファイルをアップロードします
  • アップロードが完了したら、「保存」します。

plistファイルの、各種パラメータの設定に関する詳細情報は、こちらを参照してください。

https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/parameters/

Smart Computer Groupを作成し、構成プロファイルの配布対象を設定

続いて、Smart Computer Groupを作成します。

名前は、わかりやすい名前、例えば、「cloudflareパッケージインストール済み」等にするといいでしょう。

クライテリアの設定

  • Application Title [has] [Cloudflare WARP.app]

みたいにするといいと思います。

出来上がったら、保存します。

構成プロファイルのscopeを設定

先ほど作成した、構成プロファイルのscopeに、上記で作成した、Smart Computer Groupを指定します。

これで、CloudflareのパッケージがインストールされたMacにのみ、構成プロファイルが配布されるようになります。

Macにポリシーを配布し、インストール

では、最後に、作成したポリシーのscopeにテスト用のMacを指定して、テストしてみましょう。

Mac側の作業としては、ポリシーのトリガーによって変わってきますが、「起動」を設定している場合は、再起動、「ログイン」を設定している場合は、ログアウト・ログイン、「Recurring Check-in」を設定している場合は、定期的に実行される頻度によって変わりますが、「起動」、「ログイン」のトリガーでも、こちらのトリガーが起動されるので、一度再起動してもらうと、今回作成したポリシー配布が実施されるかと思います。

ポリシーが実施されて、Cludflareがインストールされると、構成プロファイルの配布対象になって、証明書やplistファイルが配布されます。

Mac上でのCloudflareの最終セットアップの実施

弊社では、Cloudflareの認証をAzureADにて行なっておりますので、インストールされたCloudflareを有効にするためには、メニューバーに表示されたCloudflareをクリックすることで、初回認証画面が表示され、認証が成功すると、Cloudflare Zero Trustがオンになります。

以上で、Cloudflareの配布は完了です。

テストが、成功しましたら、ポリシーのscopeを「All Computers」に設定して、全ての管理対象に配布を開始して、最終セットアップの手順を案内してください。

パッケージの新バージョンが出た場合の対応について

Cloudflareから新しいバージョンの配布がされた場合は、jamfのパッケージを新しいバージョンに置き換えて、ポリシーのログを全てFlushすることで、新しいバージョンを一斉に配布することが可能です。 構成プロファイルやポリシー自体を作り直す必要はないので、全コンピュータのパッケージアップデートも容易に実施することが可能ですので、運用も非常に楽になります。

DEP Notifyを使用したゼロタッチデプロイを使用している場合

ゼロタッチデプロイを使用している場合は、初回セットアップ時に一緒にインストールすることをお勧めします。

この場合、今回作成したポリシーではなく、別途今回作成したポリシーをクローンして、トリガーにカスタムトリガーを設定して、DEP Notifyのスクリプト内から呼び出すようにしておくと、いいと思います。

構成プロファイルは、今回作成したものがそのまま使用できますので、別途クローンする必要はありません。

おわりに

jamfPROを使用すると、これらのパッケージを配布することが非常に簡単にできるようになりますが、配布するパッケージによって、パッケージだけではなく、各種設定ファイルを一緒に配布する必要がある場合がありますが、そいうケースでも、jamfでは柔軟に対応することが可能です。

もし、ネットワーク環境が不安定などの理由で、パッケージファイルのダウンロードが正常にできなかった場合でも、ポリシーのログでFailedになってしまったジョブをFlushすることで、再配布が可能です。

jamfもどんどん新しい機能が追加されていっているようですので、これからのjamfの進化にも、大いに期待しているところです。

jamfに関連記事

これまでのjamfに関連した記事はこちら

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。