IT Hands-on Lab

小規模組織向けIT環境の構築・運用に役立つ情報を、ハンズオン形式で紹介しています。

【Sophos XGS Firewall】Microsoft Entra IDのSSOを使用したSSLVPN接続

【Sophos XGS Firewall】Microsoft Entra IDのSSOを使用したSSLVPN接続

Sophos社の提供するファイアウォール機器「Sophos XGS Firewall」のSFOS 21.5以降において、Microsoft Entra IDによるシングルサインオン(SSO)認証がSSLVPN接続などで使用できるようになりました。その設定手順を紹介します。
*作業画面のない文字とリンクばかりの記事となりますこと、ご容赦ください
  • Sophos XGS Firewall SFOS(ファームウェア):バージョン21.5以上
  • Sophos Connect(SSLVPN接続のクライアントアプリ):バージョン2.4以上

 

 

Sophos FW SFOS アップグレード

公式記事の通り、Sophos XGS Firewall(以降Sophos FWと表記)のSSLVPN接続などにおいて、Microsoft Entra IDによるSSO認証を使用するには、SFOSを21.5以降にアップグレードする必要があります。

 

アップグレードは以下のいずれかの方法により行うことができます。

  • Sophos FWの管理画面にアクセスし、[バックアップ&ファームウェア>ファームウェア]より最新のファームウェアにアップグレード
  • Sophos Centralにアクセスし、[マイプロダクト>Firewall Management>ファイアウォール]のバージョンアイコンからスケジュール予約を行い、アップグレード

 

Entra管理C SSO認証用アプリ設定

公式記事に従い、Microsoft Entra IDの管理画面でSophos FWのSSO認証用アプリの設定を行います。

 

  1. [アプリの登録>新規登録]より、新規アプリを登録します。
    • 名前:適宜設定(例:Sophos Connect SSO)
    • リダイレクト URL:Web:https://portal.{ドメイン名}:{ポート番号}/api/v1/vpn/oauth2/callback(*)
      *工程4の項番1のSophos FW管理画面の[認証>サーバー]でMicrosoft Entra ID用の設定を追加します。その画面の[転送URL>VPNポータルとリモートアクセスURL]の値と同じになります
  2. 項番1で登録したアプリのアプリケーション(クライアント)ID、ディレクトリ(テナント)IDの値を控えておきます。
  3. [エンタープライズアプリ>{項番1で登録したアプリ}>プロパティ]にて、[割り当てが必要ですか?]を[はい]に設定します。
  4. [アプリの登録>{項番1で登録したアプリ}>アプリロール>アプリロールの作成]より、アプリロールを設定します。
    • 表示名:適宜設定(例:sophos_connect_users)
    • 許可されたメンバーの種類:両方
    • 値:sophos_connect_users
    • 説明:適宜設定(例:Sophos FWのSSLVPNなどにおけるSSO認証を許可するユーザーロール)
  5. サブメニューの[APIのアクセス許可>アクセス許可の追加]より、アクセス許可を行います。[{組織名}の管理者の同意を与えます]を選択します。
    • Microsoft Graph API:委任されたアクセス許可:Group.Read.All
    • Microsoft Graph API:委任されたアクセス許可:User.Read
    • Microsoft Graph API:委任されたアクセス許可:User.Read.All
    • Microsoft Graph API:アプリケーションの許可:User.Read(公式記事の解説)
  6. [グループ>新しいグループ]より、新規グループを登録します。
    • グループの種類:Microsoft 365
    • グループ名:sophos_connect_users
    • グループのメールアドレス:sophos_connect_users@{ドメイン名}
    • グループの説明:適宜設定(例:Sophos FWのSSLVPNなどにおけるSSO認証を許可するユーザーグループ)
    • メンバー:Sophos FWのSSLVPNなどでSSO認証を許可するユーザー
  7. [アプリの登録>{項番1で登録したアプリ}>ユーザーとグループ>ユーザーまたはグループの追加]より、割り当てを行います。
    • ユーザーとグループ:項番7で登録したグループ
    • ロールを選択してください:項番4で設定したロール
  8. サブメニューの[証明書とシークレット>クライアントシークレット>新しいクライアントシークレット]より以下の通りクライアントシークレットを設定します。その際、クライアントシークレットの値を控えておきます。
    • 説明:適宜設定(例:sophos_connect_sso)
    • 有効期限:適宜設定(最長730日)(*)
      *期限が近くなったら更新が必要となります

 

Sophos FW Entraへの通信許可設定

Sophos FWで外部へのHTTPSやDNSの通信を制限している場合、公式記事に従い、Sophos FWの管理画面でMicrosoft Entra IDへの通信許可の設定を行います。

 

  1. [ホストとサービス>FQDNホスト>追加]より、上記公式記事の[Microsoft Azure URL]に記載のFQDNを登録します。
  2. [ホストとサービス>FQDNホストグループ>追加]より、項番1のホストグループを登録します(グループ名の例:Microsoft_Azure_URLs)。
  3. [ポリシーとルール>ファイアウォールルール>追加]より、ルールを登録します。
    • ルール名:適宜設定(例:Microsoft_Azure_URLs_Access)
    • アクション:承認
    • ルールグループ:Traffic to WAN
    • 送信元ゾーン:LAN 
    • 送信元ネットワーク:任意
    • 宛先ゾーン:WAN 
    • 宛先ネットワーク:項番2で登録したFQDNホストグループ
    • サービス:DNS、HTTPS

図表3-1 対象FQDNとFWルール(公式記事抜粋)

図表3-1 対象FQDNとFWルール(公式記事抜粋)

 

Sophos FW サーバー追加、認証設定

公式記事に従い、Sophos FWの管理画面でMicrosoft Entra IDと認証の設定を行います。

 

  1. [認証>サーバー>追加]より、Microsoft Entra IDの情報を設定し、[接続のテスト]を選択します。
    • サーバーの種類:AzureのAD SSO
    • サーバー名:適宜設定(例:entra-id)
    • アプリケーション(クライアント)ID:工程2の項番2で控えた値
    • ディレクトリ(テナント)ID:工程2の項番2で控えた値
    • クライアントシークレット:工程2の項番8で控えた値
    • 転送URI:工程2の項番1のリダイレクトURLのportal.{ドメイン名}部分
    • フォールバックユーザーグループ:Open Group
  2. 項番1で接続のテストに成功したら、設定を保存します。
  3. 項番1で登録した設定行のインポートアイコンを選択し、以下の通り設定します。[次へ]を選択します。
    *[次へ]を選択してから数分経っても次の画面に進まず画面が閉じてしまう場合、時間を空けて再度試します
    • 一致するグループをインポートする
    • 属性:メール(数回確認した限り表示名では動作せず)
    • 状況:次と等しい
    • 値:工程2の項番6のメールアドレス(sophos_connect_users@{ドメイン名})
  4. 検出されたグループ(sophos_connect_users)を選択し、[次へ]を選択します。
  5. ポリシーを適宜選択し、[次へ]を二度選択し、[完了]を選択します。
  6. 時間を置いて再度Sophos FWの管理画面にアクセスし、[認証>グループ]に[sophos_connect_users]が追加されていることを確認します。
  7. 項番6の[sophos_connect_users]グループを選択し、[メンバーグループの表示]に工程2の項番6で設定したメンバーが表示されることを確認します。
  8. [認証>サービス]の[SSL-VPN認証方法]などについて、項番1で登録したMicrosoft Entra IDの設定にチェックをつけ、[適用]を選択します。

 

プロファイル作成・配布

既にSophos FWでSSLVPN接続を使用している前提で、Microsoft Entra IDによるSSO認証を使用できるよう、プロファイル(xxx.pro)の設定を変更します。

*プロファイルの作成方法は公式記事に解説があります

 

  1. SSLVPN接続用のプロファイルをテキストエディターで開き、[{ }]内に"auth_type":"sso"を追加し、保存します。
  2. 項番1のプロファイルをユーザーに配布します。

 

認証方法の併用

SSLVPN接続のプロファイルに項番1の"auth_type":"sso"を追加すると、パスワード認証が使用できなくなります。
パスワード認証の併用を許可したい場合は、パスワード認証用のプロファイルも維持し、ユーザーにプロファイルを使い分けてもらう必要があります。

 

ユーザーPC SSLVPN接続の確認

Microsoft Entra IDのアカウントでサインインしているユーザーPCにて、SSLVPN接続の動作確認を行います。

なお、公式記事の通り、SophosConnect(SSLVPN接続のクライアントアプリ)はバージョン2.4以降にしておきます。アプリのモジュールはユーザーがVPNポータルからダウンロードしてインストールするか(公式記事に手順あり)、管理者がMicrosoft Intuneなどで配布します。

 

  1. ユーザーPCにて工程5で配布された新しいプロファイルをダブルクリックして読み込みます。
  2. SophosConnectアプリを起動し、新しいプロファイルを選択して[接続]に進みます。
  3. 右側の[シングルサインオン(SSO)]を選択します。
  4. 緑色のチェックマークが表示されれば、SSLVPN接続ができています。

 

おわりに

工程2のMicrosoft Entra管理センターでのアプリ設定は手順が多いですが、Microsoft Graph APIを使ったアプリを作成したことがあれば、作業は概ね同じです。アプリ開発の下記記事でも画面イメージ付きで紹介していますので、よろしければ参考にしてください。