IDaaS/idPのTrustLoginを利用して、社内LAN側に設置のシングルサインオンに未対応のWebサーバーに、SAML2.0対応のSP機能を持つリバースプロキシ/Reverse Proxy経由してアクセスする場合の構成です
ユーザーアカウント不要
SP側のリバースプロキシサーバーにはユーザーアカウントを作成することなくSAML認証を行い、内部のWebサーバーへ中継させることが出来ます。また部門や社員、会員毎ごとにリバースプロキシへのアクセスコントロールの設定・運用にも対応しています。
ブラウザ
社内Webへのアクセスに際して、モバイル用の閉域網やVPNなどは不要です。利用者は、ブラウザのみで利用できます。
SP(サービス・プロバイダ)
SPとしては、SAML2.0に対応したSSOのリバースプロキシ機能を持つ「Powered BLUE Reverse Proxy for SSO/IDaaS」を利用します。
この製品は
- SAML2.0対応のWeb&リバースプロキシ機能
- Web/Mail/DNS/ftp(インターネットサーバー機能)
- WordPress / Let’s Encrypt (フリープラグインで提供)
- 仮想アプライアンス
- SSLクライアント認証
- ワンタイムパスワード認証
- ひとり情シスでの運用に対応
のWebサーバーです。CentOSやRedHatに対応しておりAWSなどのクラウド環境や、VMware/Hyper-Vなどの仮想環境でオールインワンで運用することが出来ます。
自社で運用出来るリバースプロキシでは、idPへのアクセス時の認証の他に、リバースプロキシ独自で、SSLクライアント認証やワンタイムパスワード認証を設定することが可能です。社内LAN側へのアクセスに際して自社のポリシーを個別に適用したい場合などには有効です。
idP(アイデンティティ・プロバイダ)
idPとしてはSAML2.0に対応した TrustLoginの他、G suite、Azure ADやCloudGate UNO、HENNGE ONE(旧HDE ONE)、OneLogin、Okta等のIDaaSなどや、OpenAM、Keycloakなどと連携が出来ます。
SP(サービス・プロバイダ)
「Powered BLUE Reverse Proxy for SSO/IDaaS」をSAML2.0のSP(サービスプロバイダ)として設定します
SAML2.0の設定例
http://wp-sam.mubit.jp/ 以下の指定ディレクトリにSAML2.0の認証を設定する例です
を利用します。
idPとSPにそれぞれ、SAML認証の設定を行います。
構成例
リバースプロキシ構成での設定例です
SAML/SP リバースプロキシのWebサイト 例 https://wp-sam.mubit.jp
- リバースプロキシ上でSAML2.0の認証を行います
- SAML認証後に、リバースプロキシにより指定のサイトへリダイレクトさせます
ネットワーク構成
ブログのサイトへリレイ
idP -->>SP (Reverse Proxy )https://wp-sam.mubit.jp/blog -->>https://sni-1.mubit.jp/blog/
Webメールのサイトへリレイ
idP → SP (Reverse Proxy )https://wp-sam.mubit.jp/webmail/ → https://sni-1.mubit.jp/webmail/
設定構成
以下のようなリバースプロキシ構成での設定例です
例 User → https://wp-sam.mubit.jp/blog → https://sni-1.mubit.jp/blog/
例 User → https://wp-sam.mubit.jp/webmail/ → https://sni-1.mubit.jp/webmail/
SP側の設定
Powered BLUE Reverse Proxy for SSO/IDaaSにリバースプロキシを運用する仮想サイトを作成
例 http://wp-sam.mubit.jp
Webサーバの有効化
Webサーバーを有効にする にチェックを入れます
仮想サイトのSSL化
リバースプロキシを運用するWebサイトのSSL化を行ないます。SAML認証に際しては、WebサイトのSSL化が必須です。
SSLのサーバー証明書としては
- サイトのSSL自己証明
- パブリックなSSLサーバー証明書
- Let’s EncryptでのSSLサーバー証明書
に対応しています。
WebサイトのSSL自己証明の場合
SSLを有効にする にチェックを入れます
パブリックなSSLサーバー証明書の場合
必要情報を記載して「署名リクエストの作成」ボタンで作成したテキストを、SSLサーバー証明書を発行する機関へ送付します。
- 「署名リクエストの作成」でファイルを保存
- 作成された「署名リクエスト」 ファイル signig-request.txt を、公的なSSLサーバー証明書の発行機関へ送付
- 公的機関で発行された、サーバー証明書を 「インポート」 します
- 中間証明書のインポートにも対応しています
SSLサーバー証明書が発行されたら「インポート」ボタン操作でSSLサーバー証明書をインポートします
Let’s Encryptの場合
フリープラグイン機能を利用して、Let’s Encryptプログラムをインポートします
FreeSSLを選択
「インストール」 ボタンをクリック
Let’s Encryptインストール後に 「有効にする」 にチェックを入れます
リバースプロキシ
作成した仮想サイトにリバースプロキシを設定します
複数のリバースプロキシ先/バックエンドを指定できます
例 https://wp-sam.mubit.jp/blog/ —-> https://sni-1.mubit.jp/blog/
例 https://wp-sam.mubit.jp/webmail/—> http://sni-1.mubit.jp/webmail/
SAML2.0設定
SAMLのエンドポイントを指定します 例 /
idP側のxmlのメタデータをSPへインポートします
idP側のxmlのメタデータをインポートします
SP側のxmlのメタデータをダウンロードします
idP側で作成のメタデータ(xml)をアップロードします
SAML2.0の認証をかけたいdirを指定します
例 /blog
https://wp-sam.mubt.jp/blog/ にSAML認証が適用されます
グループアクセスでのコントロールが不要の場合には、SP側はここまでの設定です。
https://wp-sam.mubt.jp/webmail/ にSAML認証を適用させる場合も、同様の設定を行います
attributeの指定
グループでのリバースプロキシへのアクセスコントロールを行なう場合に、attributeを追加で設定します
それぞれのパスに対して、idP側で設定の attribute-value もしくは ロール の指定が出来ます
部門毎やグループ毎などにリバースプロキシへのアクセスコントロールを行ないたい場合には、便利な機能です。
- 例 営業部・開発部・総務部はidPでリバースプロキシへのアクセスを許可する
- 例 特定の役職以上はリバースプロキシへのアクセスを許可する
attribute=”groups” value=” mbt” でのアクセスを許可の場合の設定例
samlの有効化
設定のSAMLを有効にします
idPの設定
idP/IDaaSでSAML2.0をサポートしていれば、Powered BLUE Web for SSO/IDaaSと接続が出来ます。今回はidPとして日本国内のクラウド基盤で運用されているGMOグローバルサイン社の「 TrustLogin 」を利用します。「TrustLogin」は基本機能は無料で利用することが出来ます。
TrustLoginでの設定例
SAMLの新規アプリとして登録します(カスタム・コネクター)
右上の +SAMLアプリ登録 をクリックします
idP側のメタデータ(xml)をダウンロードして、SP側にアップローします
SP側のメータデータ(xml)の内容に準じて、以下の項目に必要事項を記入します
ブラウザのリロードを行うと「エンティティID」以下の詳細の項目が表示されます
ログインURLなどを指定
例 https://wp-sam.mubit.jp/blog/
SP認証後の移行URL
例 https://wp-sam.mubit.jp/blog/
エンティティID
例 https://wp-sam.mubit.jp/endpoint/metadata
NAME ID フォーマット
例 transient
サービスへのACS URL
例 https://wp-sam.mubit.jp/endpoint/postResponse
ログアウトURL
例 https://wp-sam.mubit.jp/endpoint/logout
グループアクセスでのコントロールが不要の場合には、idP側のカスタム・コネクターはここまでの設定です
https://wp-sam.mubit.jp/webmail/ のSAML認証も同様の設定を行います
attribute-value やロールを指定の場合 設定例1
グループアクセスでのコントロールを行なう場合には、SAML属性を指定します
SP側 attribute=”groups” value=”mbt” の場合
idP側 固定値 groups 固定値 mbt
*注意 固定値でアサインの場合、このカスタム・コネクターを利用の全ユーザーがターゲットのリバースプロキシ(SP)へアクセス出来てしまいます
attribute-value やロールを指定の場合 設定例2(推奨)
SAMLのカスタム属性とTrustLoginのユーザー設定でアクセスコントロールします
SP側 attribute=”groups” value=”mbt” の場合
idP側 SAMLカスタム属性 groups を設定
TrustLoginユーザー設定
TrustLoginのユーザー毎にSAMLカスタム属性 ”groups” を設定
アクセス可能なユーザーには valueとして ”mbt” をアサインします
*この「鈴木 一郎」というユーザーは SMALカスタム属性値として
attribute=”groups” value= ”mbt” という値を持つのでSPへのアクセスが可能になります
アクセス
https://wp-sam.mubit.jp/blog/
https://wp-sam.mubit.jp/webmail/
初回
シングルサインオンでは、最初は一度 idP / TrustLogin へのログイン
リバースプロキシ
リバースプロキシでは、リダイレクト先のWebのURLは隠蔽され、リバースプロキシのURLの表示となります
https://d-sam.mubit.jp/blog/ —-> https://sni-1.mubit.jp/blog/(URLは隠蔽されます)
SAML認証経由でリバースプロキシ先のターゲットのwebサイトが表示されます
https://d-sam.mubit.jp/webmail/ —-> https://sni-1.mubit.jp/webmail/(URLは隠蔽されます)
SAML認証経由でリバースプロキシ先のターゲットのwebサイトが表示されます
多要素認証
idP側の認証とは別に、「Powered BLUE Reverse Proxy for SSO / IDaaS」のSP上で単独で
- SSLクライアント認証
- ワンタイムパスワード認証
を設定して運用する事が出来ます
SSLクライアント認証
SP上でPrivate CAを運用 SSLクライアント証明書を発行してSSLクライアント認証によるアクセスコントロールが出来ます。
SSLクライアント証明書
SP上で運用のPrivate CA でユーザー毎にSSLクライアント証明書の発行が出来ます
社内LAN側に設置のWebサイトへのアクセスに際して、IDaaS側の認証に加えて自社で運用出来るリバースプロキシに自社のポリシーに準じた独自の認証を設定したい場合には有効です。
SSLクライアント認証の場合には、ユーザー側でリバースプロキシのアクセスに際して、パスワード入力などが必要が無くシームレスな運用が出来ます。
クライアント認証設定
リバースプロキシにSSLクライアント認証を設定
このリバースプロキシにアクセスのユーザーは、このPrivate CAで発行のSSLクライアント証明書が無い場合にはアクセスが出来ません
SSLクライアント認証の例
グループウエアへのアクセスの場合
SSLクライアント証明書 〇 SSLクライアント証明書 ✕
ワンタイムパスワード認証
リバースプロキシにアクセスの際に、ワンタイムパスワードの入力を設定する事が出来ます
ID/パスワードの代理入力の中継
社内LAN側にあるID/パスワード入力の必要なWebシステムへ、idPからリバースプロキシ経由でアクセスさせて、ターゲットのWebサーバーへプリセットされたID/パスワードの自動入力での運用にも対応しています。
社外から社内LAN側に設置のWebサーバーへの自動ログインに有効です
自社WebサイトをSAML認証で運用出来るWebサーバー
Powered BLUE SAML対応シリーズの製品には、SAML認証対応のWebサーバーもあります。自社で運用するWebサーバーへSAML認証機能を付けて運用することが出来る製品 Powered BLUW Web SSO/IDaaS もあります。一般的なWebサイトやWordPress対応のWebサイトをSAML認証で運用することが出来ます。
SAML認証のデモ
Trustloginを利用したSAML認証の デモサーバー
終わりに
デモ環境で試してみたい方や詳しい話を聞いてみたい方などは、ムービットの お問い合わせフォーム からご連絡ください。