■常時SSL化による落とし穴
社員や会員向けの専用のWebサイトを運用する場合、VPSなどの専用ソフトを使わせると煩わしいので、簡単に運用する際にWebページへの「ID/パスワード」を利用するケースが多いと思います。
ただし、ユーザーによる下記のような弊害があります。
・パスワードの使いまわし
・簡単なパスワードを設定する
登録時にパスワードの「有効桁数を増やす」や「簡単なパスワードは登録時に除外させる」方法もありますが、ユーザーがパスワードを忘れるなども多く実効性が伴わないケースも見受けられます。
httpのWebサイトでは、中間経路での通信内容のチェックやブロックができましたが、常時SSL化によりhttpsでWebサイトの運用を行うと、通信経路も暗号化される為に中間の経路での通信内容の解析やブロックが難しくなります。そのためWebサイトへのアクセスやLogin認証などのエンドレスでの攻撃も含めて暗号化されるため、Webサイト側で全て受け持つことになります。WebサイトにLogin認証を設置するケースでは、World wideからログイン攻撃を受けて、ログデータが肥大してサーバーのディスクを圧迫してディスクフルで運用に支障をきたす場合もあります。
また、常時SSL対応でサイトをhttps化したにも関わらず、ユーザーのブックマークがhttpのままになっており、http でのアクセスを受けているケースもあります。
■Webへのアクセス方法
特定の社員や会員などの特定のユーザーのみを、Webページへアクセスさせる方法としては、以下の種類があげられます。
- ・ID/パスワード認証
- ・VPNでのアクセス
- ・SSLクライアント認証
それぞれの認証方法に特徴がありますので、代表的なアクセスの方法の比較をしてみました。
認証方法 | 安全性 | 特徴 |
ID/Passwd認証 | 低い | 簡単なパスワードを使いがち パスワードの使いまわし エンドレスでのパスワード攻撃を受ける可能性 |
VPNでのアクセス | 高い | ユーザー側には専用ソフトの導入&設定が必要 |
SSLクライアント認証 | 高い | ユーザー側にはブラウザさえあれば利用できる |
SSLクライアント認証は、Webページへのアクセスに際して「SSLクライアント証明書」を持ったユーザーのみを、Webページへアクセスさせる方法です。有効なSSLクライアント証明書を持たないユーザーはWebページへアクセスがブロックされます。
VPNなどと異なり利用者側には専用のソフトの導入や設定は不要です。SSLクライアント認証では、Webブラウザを利用します。Webブラウザはスマホやモバイル端末やPCなどにも入っているために、ユーザーが導入しやすい側面があります。
SSLクライアント認証の仕組みを運用する際に必要な構成として、以下が必要になります。
- ・ユーザー側のWebブラウザに「SSLクライアント証明書」をインポート
- ・Webサーバー側には、SSLクライアント認証を行う機能
- ・SSLクライアント証明書を発行するサーバー
■アプライアンスサーバーとは
SSLクライアント認証の仕組みは、手動でコマンドラインからWebサーバーに構築・設定することも可能ですが、証明書の枚数が多い場合には発行や失効、管理などの手間を考えると実用的ではありません。
Webサイトの設定やSSLクライアント証明書の発行から、Webアクセス時の認証までを簡単に構築・運用できるアプライアンスサーバーとして、「Powered BLUE 870 Private CA」があります。
<「Powered BLUE 870 Private CA」 アプライアンスの機能>
機能 | 内容 |
インターネットサーバー | マルチドメイン・マルチサイトWeb/DNS/Mail/ftp |
SSLクライアント証明書 | Private CA (SSLクライアント証明書発行・失効・管理) |
認証 | WebサイトのSSLクライアント認証 |
SNI | IPアドレス1個で複数のSSL化Web サイトの運用 |
HSTS | http アクセスをhttpsアクセスへ切り替えさせる |
CMS | WordPress 対応 *1 |
SSLサーバー証明書 | Let's Encrypt 対応 *1 |
Web Mail | RoundCube 対応 *1 |
オンラインストレージ | ownCloud 対応 *1 |
サードパーティソフト | サイボウズ・デスクネッツなどのインストール&運用も可能 |
*1 フリープラグインにより管理画面から、簡単に導入・設定ができます。
Powered BLUE 870 Private CAは上記のような機能を有しているため、オールインワン(1台)でSSLクライアント認証の運用ができます。
OSとしては、CentOS 7.x / RedHat 7.x対応しており「Powered BLUE 870」専用のGUIを組み合わせた、オールインワンのアプライアンスとして提供されます。
サーバー設定や管理、運用も専用のGUIから行えるため、Linuxの専門知識を必要としません。「ひとり情シス」の環境でも簡単に導入&運用ができます。
SSLクライアント証明書を導入することで、以下のような管理が簡単に行えるようになります。
- ・一般社員には、1年間有効のSSLクライアント証明書を発行する
- ・アルバイト社員には、3カ月間有効のSSLクライアント証明書を発行する
- ・展示会用のレンタル機器には、開催期間4日間有効のSSLクライアント証明書を発行する
- ・出張社員の機器には、出張期間15日間有効のSSLクライアント証明書を発行する
- ・社員が退職した場合には、SSLクライアント証明書を失効させる
- ・社員がスマホやノートPCを紛失した場合には、SSLクライアント証明書を失効させる
<Powered BLUE 870 Private CAで実現するWebサイトの運用例>
- ・複数のWebサイトのSSL化を「固定IP アドレス1個」で運用する
- ・Let’s Encryptで各Webサイトの「常時SSL化」を行う
- ・Webサイトに「SSLクライアント認証」を設定する
- ・WordPressで作成・運用のWebページに「SSLクライアント認証」を設定する
- ・Web Mailに「ログイン/パスワード認証」 と 「 SSLクライアント認証」を設定する(2要素認証)
<GMOクラウド社の「ALTUS(アルタス)」や「GMOクラウドPrivate」環境での運用例>
「Powered BLUE 870 Private CA」は、「ALTUS」や「GMOクラウドPrivate」に対応の専用のサーバーイメージを用意しています。「ALTUS」や「GMOクラウドPrivate」には、仮想アプライアンスをインポートできる機能があり、この機能を使って「Powered BLUE 870 Private CA」を取り込むことができます。
※ALTUSとは、GMOクラウド社が提供するコストパフォーマンスに優れたパブリッククラウドです。GMOクラウドPrivateとは、GMOクラウド社が提供するプライベートクラウドです。
【ALTUSの場合】
- Webサイト上に設置の「ALTUS」用のCentOS 7 ベースのvhd形式の「Powered BLUE 870 Private CA」のイメージを取り込みます。
※評価版の問い合わせ先:https://www.mubit.co.jp/sub/contact/call.html
取り込んだvhdイメージは、「マイテンプレート」して登録されます。仮想サーバーの追加で「マイテンプレート」に登録の「Powered BLUE 870 Private CA 」を選択します。
サーバーのスペックを指定 ( Core数/memory )最小構成:1Core / 2048MB 以上
ディスクは設定しないを選択
「Powered BLUE 870 Private CA 」サーバーが自動起動します。
※ALTUSの具体的な構築方法はマニュアルをご参考ください。
サーバーのセットアップを行います。
WAN側から「Powered BLUE 870 Private CA」 へアクセスするにはALTUS Basicシリーズの場合、ALTUSの管理画面から「Powered BLUE 870 Private CA」へグローバルIPをマッピングしておきます。
ホスト名とドメイン名や管理者のパスワードを設定します。
- ・IP アドレス / ゲートウェイ / サブネットマスク などは ALTUS側から自動でアサインされます。
- ・DNSはALTUS基盤側のDNSを利用の場合には、デフォルトのものでも動作します。
- 続けて、ライセンスを入力します。
- 管理画面へのアクセスで初期設定完了です。
- Powered BLUE 870のセットアップについては、簡易版ですが以下のブログを参照でも可能です。https://www.mubit.co.jp/pb-blog/?p=3003&preview_id=3003