AWS/EC2で稼働のWebサーバーでSSLクライアント認証を行い、既存のWebサーバーへリバースプロキシによりリダイレクトさせる構成例です。
AWS上にリモートワークやテレワーク用のWebサーバーを簡単に構築&運用が出来ます。
今回は、SSLクライアント認証はプライベートCAとリバースプロキシを同一のサーバー上で運用するケースです。
既存のWebサーバーへのアクセスは、
1)SSLクライアント証明書による認証(プライベートCA)
2)ID/パスワードによる認証(既存のWebサーバー)
の多要素認証のため、ID/パスワードの漏えいやブルートフォースアタック(パスワード総当たり攻撃)によるWebへの不正アクセスに効果を発揮します。
プライベートCAとリバースプロキシを1台で運用するサーバとしては、
を利用します。
Powered BLUE のAMI はAWSへ登録済です。 AWSへのセットアップは
を‘ご参照ください。
Powered BLUE プライベートCAを利用すると
- SSLクライアント証明書発行・失効・認証(CA)
- リバースプロキシ
- インターネットサーバー機能(Web/Mail/DNS)
- SSLクライアント認証のコントロール
- SSLクライアント認証のアクセスログ
を1台の仮想アプライアンスで運用することが出来ます。
PrivateCAサーバーとリバースプロキシが同一の仮想サーバー上にある構成です。
CAとして公的な認証局 ( Public CA )が発行したSSLクライアント証明書を利用してのSSLクライアント認証を行なう運用も出来ます(例 グローバルサイン / UPKI )
今回の構成としては
- プライベートCA&リバースプロキシ
既存のWebサーバーとしては
- SharePoint
- ownCloud (オンラインストレージ)
- roundcube (ウエブメール)
- サイボウズ (グループウエア)
- デスクネッツ (グループウエア)
- NTTデータイントラマート(ワークフロー)
- X-point(ワークフロー)
- 楽々ワークフローII (ワークフロー)
- eValue NS (ワークフロー)
- File blog (オンラインストレージ)
- Aipo (グループウエア)
- Power egg (ワークフロー)
- Web ページ
へのリダイレクトを行います。リバースプロキシではリダイレクト先の複数指定が可能です。また、仮想サイトごとに異なるプライベートCAの構築&運用が出来ます。
既存のWeb環境にも簡単に導入が出来るため、働き方改革によるリモートワークやテレワーク環境をすぐに構築&運用が出来ます。
仮想サイトのSSL設定
Powered BLUE上のプライベートCAを運用する仮想サイトのSSL及びプライベートCAを有効化します。SSLのサーバー証明書としてはLet’s Encryptに対応しています。また商用で販売されているSSLサーバー証明書の登録も出来ます。
Powered BLUE への Let’s Encrypt のインストール方法
プライベートCAの設定
- CA証明書の有効期限を設定
SSLクライアント証明書の発行
SSLクライアント証明書を個別発行の場合(1枚発行の場合)
例 suzuki@mubit.com ユーザーのクライアント証明書を作成
有効期限などを指定して発行します
SSLクライアント証明書を個別発行の場合(1枚発行の場合)
例 suzuki@mubit.com ユーザーのクライアント証明書を作成
有効期限などを指定して発行します
SSLクライアント証明書をダウンロードします
SSLクライアント認証の有効化
[クライアント認証を有効にする] ことで、このPowered BLUE のプライベートCA&リバースプロキシを運用する仮想サイトへは、有効なSSLクライアント証明書がインストールされた ブラウザのみ、SSLでデスクネッツのサイトへアクセスが出来ます。
例 https://PrivateCA の仮想サイト/xx
SSLクライアント認証時のアクセスコントロール
有効なSSLクライアント証明書を有している場合でも、Webサイト毎に各種のアクセスコントロールが設定出来ます
失効リスト(CRL)に関わらず、ただちにWebへのアクセス禁止を設定できます
SSLクライアント証明書を失効させることなく、Webへのアクセスを禁止できます
- 組織や部門でのアクセス制限
- 曜日や時間帯でのアクセス制限
- 特定ユーザーでのアクセス制限
- 端末を紛失したので、ただちにAさんのSSLクライアント証明書でのアクセスを禁止
SSLクライアント認証のログ
SSLクライアント認証時のアクセスログの出力先を指定出来ます。Webサーバー側でアクセスログを取得出来ます。
リバースプロキシ設定&有効化
プライベート認証局のこの仮想サイトにアクセスしたクライアントを、SSLクライアント認証後にリバースプロキシで指定したサーバーへリダイレクトさせます。
例
https://PrivateCAのサイト/demo/ -> http://www.zyx.co.jp/demo
https://PrivateCAのサイト/tag-a/ -> http://test.abc.com/.com/
SSLクライアント証明書のブラウザへのインストール(Firefoxの場合)
「証明書を表示」をクリック
「あなたの証明書」のインポートをクリック
SSLクライアント証明のパスワード入れてインストールします
正常にインポート時の表示
証明書マネージャーにインストールしたクライアント証明書が表示されます
リバースプロキシへアクセス
- https://xxx.yyy.zzz.uuu/demo
OKボタンを押すと、SSLクライアント認証後にリバースプロキシ先のWebのアクセス画面が表示されます.有効なSSLクライアント証明書の無い場合には、この時点でアクセスが拒否されます
SSLクライアント認証 - 承認されない場合
有効なSSLクライアント証明書が無いクライアントからのアクセスの場合 ( IPhone )
正常に認証された場合、ニ要素認証により
- SSLクライアント証明書による認証( プライベートCA&リバースプロキシ )
- ID/パスワードによる認証 ( Webアプリケーション側の認証 )
2要素認証 / SharePointへのログイン
社内LAN側に設置のSharePointへのログイン
2要素認証 / RocketChatへのログイン
社内LAN側に設置のチャットへのログイン
2要素認証 / ownCloudへのログイン
2要素認証 / roundcubeのへのログイン
2要素認証 / サイボウズへのログイン
2要素認証 / デスクネッツへのログイン
2要素認証 / NTTデータイントラマートへのログイン
2要素認証 / X-pointのへのログイン
2要素認証 / 楽々ワークフローII へのログイン
2要素認証 / eValue NSへのログイン
2要素認証 / FileBlogへのログイン
2要素認証 / Aipoへのログイン
2要素認証 / Power eggへのログイン
HA対応
ロードバランサー配下での冗長化やマルチAZでの冗長化での運用にも対応
ワンタイムパスワード認証
ワンタイムパスワード認証対応のリバースプロキシでの運用も可能です。
ワンタイムパスワードでの運用例
1)ワンタイムパスワードの表示
2)リバースプロキシにアクセス ID/パスワード/ワンタイムパスワード入力
3)認証の成功後 リバースプロキシ先のターゲットのWebサイトの表示
多要素認証(Multi Factor Authentication )
SSLクライアント認証に加えて、Webアクセス時のワンタイムパスワード認証の併用およびリバースプロキシ機能までを1台のPowered BLUEサーバーで運用する構成も対応できます。
Powered BLUE Web Station
- SSLクライアント認証
- ワンタイムパスワード認証
- リバースプロキシ
- インターネットサーバー機能
までを1台で運用できる Powered BLUE Web Station も選択可能です
多要素認証でさらに高い安全性を確保したい場合に有効です。
ワンタイムパスワード&SSLクライアント認証併用時のステップ
1)ワンタイムパスワードを表示させる
2)SSLクライアント認証
3)ワンタイムパスワードを入力
4)認証後にリバースプロキシ先のターゲットのWebが表示
Powered BLUEの サーバーのデモ
終わりに
ワンタイムパスワード認証やSSLクライアント認証でWebサイトの認証を強化したい方、既存で運用のWebへのアクセスに認証機能を導入したい方。デモ環境で試してみたい方や詳しい話を聞いてみたい方などは、ムービットの お問い合わせフォーム からご連絡ください。