Webアクセス時のなりすましでのアクセスを防止するため、Webへのアクセス時にSSLクライアント認証の出来るWebサーバーを構築&運用する方法を解説します。
Apache + OpenSSLなどでのコマンドライン設定する方法もありますが、今回は専用のアプライアンスを利用して、GUIから自己認証局(ローカル認証局)などの
- インターネットサーバーの設定
- プライベートCA構築 (SSLサーバー証明書・SSLクライアント証明書)
- SSLクライアント認証
- Webサーバー運用
までをオールインワンで行います。
インターネットサーバーとしては
- Mail/Web/DNS/ftp/シスログ
- Web メール (roundcube) / オンラインストレージ ( ownCloud )
- ログ解析 ( LogAnalyzer )
などの機能も有しています。
利用するのは、オールインワンの「Powered BLUE プライベート CA」です。このアプライアンスは、OSとして
- CentOS
- Red Hat Enterprise Linux
上で動作します。
またオンプレミスの他、仮想・クラウドについては
- VMware
- Hyper-V
- Amazon AWS
- Apache CloudStack
- Citrix CloudPlatform
- cloudn / idcf / gmo-cloud
- OpenStack
などにも対応しています。
AWSで利用の場合には
で運用出来ます
構築の方針
- Webページへのアクセス時のSSLクライアント認証を行う
- プライベートCA / Webサーバーは同一のサイトで運用する
- SSLクライアント証明書等は、GUI操作で発行・失効・管理を行う
- 証明書の発行・失効などの権限は、仮想サイトの管理者へ委譲する
仮想アプライアンスのインポート
- 「Powered BLUE プライベートCA 」の仮想アプライアンスのイメージをVMware / Hyper-V 環境へインポート
セットアップウイザード
サーバーのIPや名称などを設定します
サーバーへログイン
仮想サイトの構築
- プライベートCAとWebを運用する仮想サイトを構築します
- プライベートCAとWebは同一の仮想サイト上で運用します
- SSLとCAを有効にします
SSLサーバー証明書の登録
- 自己署名のサーバー証明書 もしくは 公的機関で発行のサーバー証明書を登録します
- 公的機関で発行のサーバー証明書を登録すると、ブラウザでWebへアクセス時の警告メッセージは出ません
自己署名デジタル証明書の作成の場合
- 「自己署名デジタル証明書の作成」から必要事項を記入して、SSLを有効にします
署名リクエスト(CSR)の作成の場合
SSLのサーバー証明書は
- ドメイン認証証明書(DV:Domain Validation)
- 組織認証証明書(OV:Organization Validation)
- EV証明書(EV:Extended Validation)
が登録出来ます
- 必要事項を記入して、 「署名リクエストの作成」 ボタンを押します
- 作成された 「署名リクエスト」 ファイルを保存
- この 「署名リクエスト」 ファイル signig-request.txt を、公的なSSLサーバー証明書の発行機関へ送付
公的機関で発行された、サーバー証明書を 「インポート」 します
Let’s Encrypt対応
Let’s Encrypt のSSLサーバー証明書も利用できます(自動更新対応)
SSLクライアント認証の有効化
このWebサイトへのアクセス時のSSLクライアント認証を有効にします
有効なSSLクライアント証明書の無いユーザーは、このWebページへアクセスができません
SSLクライアント証明書の発行
プライベートCAでSSLクライアント証明書を発行。クライアント証明書は、会社や部門全体での一括発行や、1ユーザーごとの個別の発行が出来ます
SSLクライアント証明書を個別発行の場合(1枚発行の場合)
例 suzuki@mubit.com ユーザーのクライアント証明書を作成
有効期限などを指定して発行します
SSLクライアント証明書をダウンロードします
利用者に直接、ダウンロードしていただくことも出来ます
SSLクライアント証明書のブラウザへのインストール(Firefoxの場合)
「証明書を表示」をクリック
「あなたの証明書」のインポートをクリック
SSLクライアント証明のパスワード入れてインストールします
正常にインポート時の表示
証明書マネージャーにインストールしたクライアント証明書が表示されます
SSLクライアント認証例
Webへアクセス
- https://xxx.yyy.zzz.uuu/
OKボタンを押すと、SSLクライアント認証後にWebのアクセス画面が表示されます.有効なSSLクライアント証明書の無い場合には、この時点でアクセスが拒否されます
この後に、仮想サイトのWebページやWebソフト の画面が表示されます。
SSLクライアント認証でのWebページへのアクセス例
一つの仮想サイト内で‘、複数のWebアプリをインストールして、全てのアプリのアクセスに対して、SSLクライアント認証を利用した2要素認証の運用が出来ます
- ownCloud / SSLクライアント認証
- サイボウズ / SSLクライアント認証
- デスクネッツ / SSLクライアント認証
- roundcube / SSLクライアント認証
- wordpress / SSLクライアント認証
- ホームページ / SSLクライアント認証
CentOS / RedHat に対応のWebアプリをインストールしての運用も可能です。
例 仮想サイトでownCloudを運用の場合 / SSLクライアント認証
Powered BLUEへのownCloudのセットアップ方法
例 仮想サイトでサイボウズを運用の場合 / SSLクライアント認証
Powered BLUEへのサイボウズのインストール方法
例 仮想サイトでデスクネッツを運用の場合 / SSLクライアント認証
Powered BLUEへのデスクネッツのインストール方法
例 仮想サイトでroundcubeを運用の場合 / SSLクライアント認証
Powered BLUEへのroundcubeのセットアップ方法
例 仮想サイトでWeb ページを運用の場合 / SSLクライアント認証
適宜ホームページのデータを入れ替えて運用出来ます
AWS上で Powered BLUE Private CA 運用したい場合には
デモサーバー
Powered BLUEの デモサーバー
基本操作 / リバースプロキシ / SSLクライアント認証 などのデモが出来ます
ワンタイムパスワード認証
Webのサイトへのアクセスに際して、OTP / ワンタイムパスワード対応のWebサイトの構築・運用例です。
多要素認証
ワンタイムパスワード認証&SSLクライアント認証の併用時のWebサイトの構築・運用例です。多要素認証でさらに高い安全性を確保したい場合に有効です
終わりに
ワンタイムパスワード認証やSSLクライアント認証でWebサイトの認証を強化したい方、既存で運用のWebサイトへのアクセスに認証機能を導入したい方。デモ環境で試してみたい方や詳しい話を聞いてみたい方などは、ムービットの お問い合わせフォーム からご連絡ください。