Jamfを使ってMacのVPNプロファイルを配布する

Narichika Kajihara
@kajinari
Published in
Mar 4, 2021

モダンなコーポレートIT界隈から、未だにVPNとか使ってるの?と突っ込まれそうなのだけど、 VPN設定を配布する必要があったので記事として残しておきます。

なぜVPNを?

協業相手WebサービスがIPアドレスベースで制限をかけているため、弊社オフィスネットワークのインターネット回線のIPアドレスでアクセス制限を解除していました。

リモートワーク中なので、自宅からも先方のWebサービスにアクセスする必要があります。
そのため、VPN確立することで、弊社オフィスネットワークを経由し、先方Webサービスへアクセスすることで問題解決しようと考えました。

環境

  • IdP:まだない。(現在、構築中)
  • VPN:Cisco Meraki MX
  • MDM:Jamf Pro

前提として、Jamf ProにPC毎に利用者を割り当てしている事を前提にしています。

Meraki VPNの設定

Security & SD-Wan ➔ Client VPNが設定画面です。

Cline VPN Server :

VPN機能を有効にするため、 Enalbed にする

Subnet

  • VPNを確立した後に、クライアントに割当されるネットワークレンジになります。
  • 社内ネットワークと被らないサブネットを定義すれば良いです。
  • ネットマスクは最大同時利用数に応じて考えれば良いです。

DNS

  • 社内にDNSを建てる環境であれば、そのDNSサーバアドレスを
  • 通信先がすべてインターネット上にあるならば、 Google Public DNS でも良いでしょう。 8.8.8.8 などが割当されます。

WINS

  • WINS利用しているなら、 Specific Server Address を選択して、そのアドレスを入力しましょう。
  • VPN確立時にDHCPで配布されます。

Shared secret

  • 共通鍵のパスフレーズです。適当な長さのパスフレーズを設定しましょう

Authentication

  • ここは Meraki Cloud Authentication , Active Directory , Radius から選択できます。
  • IdPがあれば、Radiusなどを選べば、SSOできてなお良しですね。
  • 今回は、Meraki Cloudを選んで、ユーザをMXに直接追加する方法を選択しました。

VPNユーザの追加

そんなに難しくないので、適当に追加する。

  • Description : てきとうに
  • Email: てきとうに
  • Password:てきとうに
  • Authorized :YES
  • Expires:期限を設けないのであれば、Does not expire

追加した後、 Save Changes を忘れガチなので、忘れず保存する

Jamf Proの設定

VPNはプロファイルで配布します。
プロファイルを新規作成し、以下の箇所を設定する

接続タイプ

L2TP 選択する

サーバー

MerakiのWANインターフェイスのIPアドレス を入力する。
IP変わっても継続できるように、Aレコード登録しておくのをオススメ

アカウント

$EMAIL を入力する。

Jamfの構成プロファイルのPayload変数を使うと捗る箇所です。
そのPCの利用者メールアドレスを自動的に代入するようにすることで汎用的なプロファイルを作成することができます。

パスワード

変数を持てなかったので、ブランクです。
ここを毎回入力してもらうことで、セキュリティを意識してもらおうかと。SSOするとこういう事も不要なのかもね。

機器の認証

Shared Secretを選択する

共有秘密

Merakiの設定箇所と同じパスフレーズを入力しておく。(Jamf Proの翻訳ちょっと怪しい項目。普通は共有鍵だよねw)

すべてのトラフィックを送信

今回は On にしていますが、対象のトラフィックだけVPNに流してあげるのもアリかと思います。Routingを追加するのとセットになりますけども。

プロファイルの設定は以上です。設定を保存して、スコープを決めて配布しちゃいましょう。弊社はSelf Serviceで配布しており、適用時にコメントを閲覧させて、VPN必要な人は依頼をして頂く旨を記載しています。

プロファイルが適用されるとこんな感じになります。

このプロファイルのメリット

当然ながら、エンドユーザ側での作業が不要になるため、

  • 設定作業に費やす時間無くなる。
  • 間違えた設定によるトラブルシューティングの時間が無くなる。
  • エンドユーザはすぐ利用可能になり、本質的な業務に時間が使えるようになります。

また、共有鍵をエンドユーザに秘匿にすることができます。VPN設定は外部からの不正アクセスを許しかねないため、適切に情報をコントロールできる点でも、Jamfなどで管理統制できると良いかと思います。

このケースは、ゼロトラスト・アーキテクチャ的には、VPNじゃなくて、AWSにプロキシ建てて、利用時にOAuth認証させるのが良いだろうけども。

「こうすればいいよー。」等、もっといい方法があれば、ぜひ教えて下さい! 参考になれば幸いです。

--

--

Narichika Kajihara
@kajinari

Agileコーチとして、開発チームのチーム・ビルディングを担当し、チーム支援を行っている。 その他には、モダンな情報システム担当、エンジニア採用、技術広報など