IDaaS/idPの代理入力を利用してリバースプロキシ経由で社内Webへ自動ログイン/HA対応

社内LAN側に設置のSSO/シングルサイオンに未対応のID/パスワード入力を要求するWebサーバーに、IDaaSなどの代理入力機能を使って社外からアクセスする方法です。オンプレミスの社内WebアプリへのアクセスにIDaaS/idPと連携が出来ます。

外部のIDaaSからLAN内のWebサーバへのアクセスには、代理入力やSAML-SP機能を有して中継できるリバースプロキシ/Reverse Proxyを利用します。

SMAL/SSOに対応していないアプリケーションにも、代理入力を利用することでシングルサインオンと同様にターゲットのWebアプリケーションにログインが出来ます。冗長化での運用もできます。

idPの認証とは別に、リバースプロキシ上でもSSLクライアント認証などを設定することが可能で社内LAN側のWebへのアクセスをセキュアにすることが出来ます。

社内Webへのアクセスに際して、VPNやモバイル端末用の閉域網は不要です。ブラウザのみでアクセスができます。

 

動作要件

  • IDaaS/idP側では、フォームベース認証やBASIC認証の代理入力機能をサポートしていること
  • リバースプロキシ側では、idPからの代理入力やSAML-SP機能を有してターゲットのWebサーバーへ中継出来ること

https://www.mubit.co.jp/sub/products/blue/img2/login-3.png

 

idPなど

フォームベース認証やBASIC認証の代理入力機能を有しているidP/IDaaSとしては

  • TrustLogin
  • CloudGate UNO
  • onelogin
  • okta
  • Azure AD

などがあります。

 

フォームベース認証の代理入力

フォームベース認証の代理入力は、idP側に登録したID/Passwdを他システムのログインフォームに代理入力することでログインする仕組みになります。

 

BASIC認証の代理入力

BASIC認証の代理入力はID/PasswdをHTTPヘッダに記載しサーバーに送信することでログインする仕組みになります。

 

SSOや代理入力対応のリバースプロキシ

リバースプロキシとしては、ID/パスワードの代理入力の中継に加えてSAML2.0のSP機能やリバースプロキシ独自でのSSLクライアント認証やワンタイムパスワード認証をサポートしている Powered BLUE Reverse Proxy  for SSO/IDaaS」を利用します。

https://www.mubit.co.jp/sub/products/blue/img2/pb-vm-3.png

 

アプリケーション 例

Formbase認証のWebとしては、今回 Roundcube / Webmail とownCloud / オンラインストレージへアクセスします

 

ターゲット Web

roundcube      https:// t-own.mubit.jp/webmail

owncloud       https:// t-own.mubit.jp/owncloud

 

ネットワーク構成

idP -->> (Reverse Proxy ) t-ca.mubit.jp/webmail -->>(Target Web) t-own.mubit.jp/webmail

idP -->> (Reverse Proxy ) t-ca.mubit.jp/owncloud -->>(Target Wb) t-own.mubit.jp/owncloud

 

idP 

今回はフォームベース認証やBASIC認証をidP側でサポートしているTrustLoginを利用します

またフォームベース認証やBASIC認証の入力機構であるTrustLoginの拡張機能を、事前にご利用のブラウザへ組込必要があります

TrustLoginで、拡張機能に現在対応のブラウザは

  • マイページ  Chrome・Firefox・Internet Explorer 11
  • 管理ページ  Chrome

※Safari、Edgeには順次対応予定

※TrustLoginの各ブラウザへの拡張機能のインストール方法は、TrustLoginのサイトを参照のこと

 

リバースプロキシの設定

Powered BLUE Reveese Proxy for SSO/IDaaSの設定をします

https://t-ca.mubit.jp

 

仮想サイト作成

リバースプロキシを運用する仮想サイトを構築します

例 https://t-ca.mubit.jp

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/05/trust-login-21.png

 

Webサーバの有効化

Webサーバーを有効にする にチェックを入れます

仮想サイトのSSL化

SSLのサーバー証明書としては

  • サイトのSSL自己証明
  • パブリックなSSLサーバー証明書
  • Let’s EncryptでのSSLサーバー証明書

に対応しています。

WebサイトのSSL自己証明の場合

SSLを有効にする にチェックを入れます

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/06/B870-saml-2.png

パブリックなSSLサーバー証明書の場合

必要情報を記載して「署名リクエストの作成」ボタンで作成したテキストを、SSLサーバー証明書を発行する機関へ送付します。

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2015/12/csr-1.png

  • 「署名リクエストの作成」でファイルを保存
  • 作成された「署名リクエスト」 ファイル signig-request.txt を、公的なSSLサーバー証明書の発行機関へ送付

signing-req-1

  • 公的機関で発行された、サーバー証明書を 「インポート」 します
  • 中間証明書のインポートにも対応しています

SSLサーバー証明書が発行されたら「インポート」ボタン操作でSSLサーバー証明書をインポートします

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2015/12/ssl-import-1.png

Let’s Encryptの場合

フリープラグイン機能を利用して、Let’s Encryptプログラムをインポートします

FreeSSLを選択

インストールボタンをクリック

Let’s Encryptインストール後に 有効にする にチェックを入れます

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/05/trust-login-22.png

 

リバースプロキシの設定

太字部分を設定します

https://t-ca.mubit.jp/owncloud/ ——->> https://t-own.mubit.jp/owncloud/

https://t-ca.mubit.jp/webmail/ ——->> https://t-own.mubit.jp/webmail/

TrustLogin の設定

社内WEBシステムやテンプレートにないアプリを登録する(独自アプリ登録の利用方法)
※ この機能はChrome版、Firefox版の拡張機能のみでご利用いただけます。Internet Explorer 11をお使いの場合は、Chrome、Firefoxでご対応ください。

① トラスト・ログインの管理ページの「設定 > トラスト・ログイン機能制限」メニューで「独自アプリ登録」を有効化します。

管理者のみ、メンバーのみ、両方の有効化をすることができます。(上段の2個)

「編集ボタン」を押さないと、パラメータが変更できないので注意

編集終了後は「保存ボタン」を押す

② アプリ登録をするログインページをブラウザで開き、拡張機能の左上にある「+」マークをクリックします。

 ※ 管理ページでの設定が有効になると「+」マークが表示されます。設定が無効な場合や権限がないメンバーでログインしていた場合はマークが表示されません。

③ ログインページ内の入力フォームのいずれかをクリックします。

注意 登録するWebアプリのログインページにアクセスした状態で「+」マークを押す必要あり

例 https://t-ca.mubit.jp/webmail/ のログインページにアクセスして、ユーザー名にカーソルを合わせた状態で ブラウザ右上のTrustLogin のマークをクリックして 「+」をクリック

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/05/trust-login-10-1.png

roundcube のユーザー名のログインにカーソルを合わせてクリック

次にブラウザ右上の TrustLogin のロゴマーク をクリック

アプリの利用範囲

自分用 もしくは 自社用

アプリ名

例 Roundcube Webmail ログイン

アカウント  test-user

パスワード  xxxxxxx

などを入力して保存する

代理入力でアクセスした際に

ユーザー名 / パスワード  は入力されるが

リターンキーまでは入力出来ていない為に、ターゲットのWebへ自動でログインが出来ないケースがあります

修正方法は、

再度 ユーザー名 / パスワード  を登録して保存しなおすことでリターンキーまで入力されて、ターゲットのWebへのダイレクトログインが出来ます

アクセス

roundcubeへのログイン

自動代理入力

idP/TrustLoginによる フォームベース認証のroundcube Web メールへリバースプロキシ経由でのID/パスワード の自動代理入力

自動ログイン

roundcubeへの自動ログイン

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/05/trust-login-15.png

owncloudの設定

ownCloudもroundcubeと同様にテンプレートを作成して アカウント / パスワードやアプリの表示名などを設定します

ownCloudへのアクセス

TrustLoginのownCloudをクリック

owncloudへの自動代理入力

idP/TrustLoginによる フォームベース認証のownCloudサイトへリバースプロキシ経由でのID/パスワード の自動代理入力

ownCloudへの自動ログイン

リバースプロキシでの独自認証

idPへのアクセス認証とは別に、自社で運用するリバースプロキシ上に独自にSSLクライアント認証を設定することが出来ます。社内LAN側のサーバーへのアクセスに際して、自社独自のアクセス基準などがある場合には、idPの認証とは別に自社の管理下で運用するリバースプロキシへのアクセスコントロールを設定出来るSSLクライアント認証は有効です。

リバースプロキシでのSSLクライアント認証の構築手順&設定 例

  • Private CAを構築
  • t-ca.mubit.jp のWebサイトに SSLクライアント認証を設定
  • SSLクライアント認証後にリバースプロキシでターゲットのWebサイトへの転送

Private CA

リバースプロキシ上にPrivate CAを構築します

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/06/private-ca-1.png

SSLクライアント証明書発行

SSLクライアント証明書を発行して、ユーザーへ配布します

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/06/private-ca-2-1.png

SSLクライアント認証

リバースプロキシへアクセス時のSSLクライアント認証の有効化

サイト全体にSSLクライアント認証を有効に設定

https://t-ca.mubit.jp

リバースプロキシのディレクトリ毎のSSLクライアント認証のオン・オフ設定も出来ます

SSLクライアント認証を有効に設定

https://t-ca.mubit.jp/xxxx

SSLクライアント認証を無効に設定

https://t-ca.mubit.jp/yyyy

https://www.mubit.co.jp/pb-blog/wp-content/uploads/2019/05/trust-login-24.png

SSLクライアント認証時のアクセスコントロール

有効なSSLクライアント証明書を有している場合でも、リバースプロキシへのアクセスコントロールを設定出来ます

●組織や部門でのアクセス制限
●曜日や時間帯でのアクセス制限
●特定ユーザーでのアクセス制限
●端末を紛失したので、ただちにAさんのSSLクライアント証明書でのアクセスを禁止

https://www.mubit.co.jp/sub/products/ca/img2/ssl-access-3.png

グループウエアへのアクセス例

SSLクライアント証明書 〇   SSLクライアント証明書 ✕

https://www.mubit.co.jp/sub/products/ca/img2/ssl-2.png

ログの出力先などの指定

SSLクライアント認証のログ出力先

https://www.mubit.co.jp/sub/products/ca/img2/ssl-access-2.png

 

冗長構成

  • シングルAZ + ロードバランサー構成

https://www.mubit.co.jp/sub/products/cloud/img2/single-az-rev-1.png

マルチAZ

異なるアベイラビリティゾーンでの運用により耐障害性の向上

  • ゾーンA / 東日本データセンター
  • ゾーンB / 西日本データセンター

https://www.mubit.co.jp/sub/products/cloud/img2/multi-az-rev-1.png

 

終わりに

デモ環境で試してみたい方や詳しい話を聞いてみたい方などは、ムービットの https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif お問い合わせフォーム からご連絡ください。