SophosUTMをActive Directory連携させて特定ADグループのユーザーにのみSSL-VPNを許可する

2017.07.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは植木和樹@上越妙高オフィスです。クラスメソッドではSophosUTMを使ってリモートワーカー用にSSL-VPN環境を提供しています。

Sophosでは内部でユーザーを管理しローカル認証を行うことができます。しかしユーザー数が増えてくると社員の入退社のたびに追加・削除が必要になり運用負荷になってしまいます。 そこで今回はSophosをActive Directory(AD)と連携させ、特定のグループに所属するユーザーにのみSSL-VPNを許可してみました。

対象読者

SophosによるSSL-VPNの設定が行える方を対象にしています。未経験の方は下記を参考にしてください。

【AWS】統合脅威管理「Sophos UTM」を使ってVPCへSSL-VPN接続する(Windows7編)

参考サイト

使用ソフトウェア

  • SophosUTM 9.411 Network Protection
  • Windows Server 2012 R2

認証と利用許可の仕組み

今回の仕組みは大まかにいうと下記のような流れになります。

  1. ADで認証されたユーザーは自動的にSophosの Active Directory Users グループに所属します。
  2. この時Active Directory Users グループへ所属できるユーザーは、ADで特定のグループに所属したユーザーにのみに制限します
  3. SSL-VPNの設定で Active Directory Users に利用を許可するプロファイルを作成します。

これによりSSL-VPNの利用を許可するユーザーをADの特定グループへ所属させるだけで良く、Sophos側へのユーザー追加作業は不要になります。

設定手順

今回設定するにあたって必要な情報は下記の通りです。AD連携用の管理ユーザー "sophos" は事前に作成して適切な管理者権限(Administrators)を与えておきましょう。

項目 設定値
ADドメイン cm.local
ADドメインコントローラー cmdc01
AD 連携用の管理ユーザー sophos
AD VPN利用を許可するグループ CM Group / CM / CM SophosVPN

1. Active Directoryを認証サーバーに設定する

Sophosの管理画面にログインします。

"Definitions & Users" - "Authentication Services" の "Servers" タブを開き New Authentication Server ボタンをクリックします。

まずADサーバーの指定等、基本部分を設定します。

Backend Active Directory "Active Directory"を選択します。
Position 1 AD認証を最優先にします。
Server cmdc01 ドメインコントローラーを指定します。+をクリックすると新しいサーバーを定義できます。
SSL チェックしない 今回SophosとADは同一VPC内にあるのでSSLは利用しません。
Port 389 LDAPのデフォルトポート(tcp/389)のままでOKです。

次にSophos → AD認証を行なう際に利用する管理ユーザーを設定します。

Bind DN CN=sophos,OU=Admin Users,DC=cm,DC=local Sophos AD連携用に管理ユーザー(sophos)を作成したのでそれを指定します
Password ******** sophosユーザーのパスワードを指定します

AD連携用ユーザーのDN(Distinguished Name:識別名)は dsquery コマンドで調べることができます。

> dsquery user -name sophos
"CN=sophos,OU=Admin Users,DC=cm,DC=local"

設定したら Test server settings をクリックして問題なく接続できる確認しましょう。

最後にユーザー認証に必要な情報を設定します。

Base DN DC=cm,DC=local ユーザーや後述するVPN許可グループを検索するルートとなるパスを設定します。

設定したら自分のADのアカウント名とパスワードを入力してAuthenticate example userをクリックして検索できるか確認しましょう。

最終的には下図のような設定になります。

20170719_sophos_001

2. ADユーザー認証後、自動的にSophosユーザーを作成する

"Definitions & Users" - "Authentication Services" の "Global Settings" タブにある Create users automatically のチェックをオンにします。

20170719_sophos_003

これでADでのユーザー認証が成功すると自動的にSophosユーザーが作成されるようになります。

3. Active Directory Users でADのグループを制限する

"Definitions & Users" - "Users & Groups" の "Groups" タブをみると Active Directory Users グループが作成されています。(Sophos 9.4より前のバージョンでは手動で作成する必要があるかもしれません)

下記の画面を参考に、"CM Groups/CM/CM SophosVPN" をドラッグアンドドロップして、このADグループに所属しているユーザーにのみがActive Directory Usersに紐づくようにします。

20170719_sophos_002

ここで希望のグループ階層が表示されない場合は手順1のAD設定で指定した Base DN を見直してみましょう。

4. SSL-VPNのプロファイルを作成する

"Remote Access" - "SSL" の "Profiles" タブで新規SSL接続プロファイルを作成します。 "Users and Groups" に "Active Directory Users" を追加してください。

20170719_sophos_004

この設定により、"Active Directory Users"のユーザーにのみSSL-VPN接続を許可します。

動作確認

Sophosのユーザーポータルに接続して、ADのユーザー・パスワードでログインできることを確認します。 またVPN設定を行った後、やはりADのユーザー・パスワードでSSL-VPNで接続できれば成功です!

まとめ

今回はActive Directoryの認証基盤を使ったSophosでのユーザー認証の設定についてまとめました。

昨今の企業ではたくさんのアプリケーションやサービスを使って業務を行っています。それぞれでユーザー管理をしていると利用する側も管理する側も大変です。また認証がバラバラだとセキュリティー的に弱いところを攻撃されてしまいます。

なるべく認証は集中管理し、その部分を堅牢にすることで安全な認証基盤を構築したいですね。