Jamfを使ってMacのVPNプロファイルを配布する
モダンなコーポレート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認証させるのが良いだろうけども。
「こうすればいいよー。」等、もっといい方法があれば、ぜひ教えて下さい! 参考になれば幸いです。