月別アーカイブ: 2018年7月

リバースプロキシ対応 AWS上にCentOSのワンタイム・パスワード認証機能付属のWebサーバーを構築

AWS/EC2で運用するWebサイトへ2要素認証(Multi-Factor Authentication)を導入

AWS上に CentOSで動作するワンタイムパスワード認証 / OTP対応のWebサーバーを構築します

サーバー構築の方針は、以下とする

  • クライアント側も導入しやすい事(費用・汎用性)
  • 多要素認証 / Multi-Factor Authenticationに対応すること
  • CentOS で動作すること
  • リバースプロキシ機能も有すること
  • システムの導入 / 運用 / 保守が簡単な事

ワンタイムパスワードとしては、ハードウエア・トークンやソフトウエア・トークンなどの各種の方式があります。ハードウエアトークン(パスワード生成器)は、専用のハードの為に導入時に費用がかさみますがソフトウエア・トークンの場合には、OSSや無償のソフトなどもあり、導入時のコストを抑えることが出来ます。

ワンタイムパスワード認証を利用した各社のWebサービスとしては

  • Google
  • Amazon
  • Microsoft
  • Facebook
  • Dropbox
  • 仮想通貨のサイト
  • インターネットバンキング

などがあります。これらのサービスは、時間ベースのワンタイムパスワード方式(TOTP)を採用しています。

RFC 6238で規定されたTOTP/時間ベースのワンタイムパスワードでは、サーバーとクライアントで共有する秘密鍵(共有鍵)と現在時刻から、認証コードを計算するアルゴリズムで一定時間毎(例 30秒毎)に、ワンタイムパスワードでの認証コードが変わります。

TOTPに対応した無償のクライアント・ソフト(ソフトウエアトークン)としては

Google Authenticator

  • iOS/androidに対応
  • バックアップ機能なし

Authy

  •  iOS/android 対応
  •  Windows/Mac/Linux 対応 (Chromeブラウザの拡張機能)
  •  Chrome OS 対応
  • バックアップ機能あり

iiJ SmartKey

  • iOS/android 対応(日本語対応)

WinAuth

  • Windows 対応

などです。他にもRFC 6238に準拠したTOTPに対応の有償のハードウエアトークンやソフトウエアトークンなどもあります。

自分の環境に合ったソフトウエアトークンを、自分のスマフォやPCにインストールして利用してください。

サーバー側の機能としては

  • AWSやクラウド上で運用出来るWebサーバー
  • 多要素認証に対応(ワンタイムパスワード & ID / パスワード)
  • CentOS で動作
  • システムの導入・運用&保守が簡単な事

の条件を満たすサーバーとして、CentOS / RedHat で動作する

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gifPowered BLUE 870/OTP 」を利用します。

このサーバーは、GUIからの操作で全ての設定/運用/保守が行なえるオールインワンのアプライアンス・サーバーです。ひとり情シス環境でも簡単に運用が出来ます。またSSLクライアント認証との併用も可能です。

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gifPowered BLUE 870/OTP 」のワンタイムパスワードの方式としては、Google、Amazon、Microsoft、Facebook、仮想通貨のサイトなどでも、一般的に使われているGoogle Authenticator(*1) やFreeOTPのトークン(パスワード生成器)のフォーマットに対応しています。

(注意 *1 Google などのアカウントやサービスを利用しているわけではありません)

 

ユーザー側では、Google Authenticator / Authy / iiJ SmartKey / WinAuth などのトークンから「Powered BLUE 870/OTP 」のワンタイムパスワード認証機能を利用することが出来ます。

「Powered BLUE 870/OTP 」のベースとなるCentOS で動作する「Powered BLUE 870 」インターネットサーバーは、AMIとして登録しています。ウイザードに従って簡単にセットアップが出来ます。

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif AWS / AMI でのPowered BLUE サーバーのセットアップ方法

に沿って、「Powered BLUE 870」サーバーの設定します。

 

仮想サイトを作成

Webサイトを運用する仮想サイトを作成します

例 test-opt.mubit.com

 

Webページを作成

仮想サイトにWebページを作成。Webページは、手動でのWebページデータの設置の他に、フリープラグインのWordPressでのWebページの作成も出来ます

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif Powered BLUE へのWordPressのインストール&設定を参照

仮想サイトのWebページをLet’s Encrypt/自動更新対応で常時SSL化する場合には、

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif Powered BLUEの仮想サイトへLet’s Encryptを設定を参照

 

 

認証設定

仮想サイトのWebへアクセス時にワンタイム・パスワード認証を設定する

  • 仮想サイト&ディレクトリを指定
  • 例 サイトのトップdir /  に 認証設定の場合
  • SSL接続強制の有無

などを指定します

ワンタイムパスワード認証設定

  • ユーザーを登録(ユーザーの一括登録も出来ます)
  • ユーザー毎にへワンタイムパスワード認証を許可/不許可を設定します
  • 例 鈴木 二郎 へワンタイムパスワード認証を有効に設定

共有鍵の表示

  • ユーザ側のソフトウエアトークンを起動して、QRコードをスマフォで読み撮り共有鍵を登録します
  • QRコード読み撮りのカメラの無いPCなどにもコード表示で共有鍵の登録が出来ます(文字列表示)
  • 共有鍵はユーザー毎に異なります

利用端末の設定

ユーザーが利用する端末へのソフトウエアトークンのインストールは

を参照下さい

 

アクセス手順
1)ワンタイムパスワードの表示
2)Webサイトにアクセス ID/パスワード/ワンタイムパスワード入力
3)2要素認証の成功後 Webサイトの表示


リバースプロキシ連携

「Powered BLUE 870/OTP 」はワンタイムパスワード認証のサーバーにリバースプロキシも同居させての運用(オールインワン運用)にも対応しています。

ワンタイムパスワード認証後に、既存のWebサービスにリダイレクトさせることが出来ます。

 

連携例

既存のWebサービスとの連携の例

  • NTTデータ イントラマートワークフロー
  • エイトレッド X-point
  • NIコラボスマート
  • 楽々Workflow II
  • eValue NS
  • サイボウズ
  • デスクネッツ
  • Active! mail
  • Powere egg
  • RoundCube
  • Aipo
  • WaWaOffice
  • Seagull Office
  • OpenWebMail
  • Zabbix
  • Proself
  • FileBlog
  • MosP勤怠管理

 

ワンタイムパスワードでのWeb認証運用の例

1)学習塾のWebページを運用

特定のWeb ページは、ワンタイムパスワード認証で塾の生徒にのみに
アクセスさせる

小学1-2年の生徒でも、簡単にApps StoreやGoogle playなどからソフトウエアトークンのソフトを
入手して自分のスマフォに入れて使うことが出来ます

 

2)会社のWebページを運用
特定のページは、ワンタイムパスワード認証で社員やパート、会員のみに
アクセスさせる

パートの主婦の方でも、Apps StoreやGoogle playなどからソフトウエアトークンのソフトを
入手して自分のスマフォやPCに入れて使うことが出来ます

 

3)既存で運用のWebへの認証
ワンタイムパスワード認証のWebサーバーで認証後に
リバースプロキシで、既存のWebサイトへリダイレクト

 

https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif Powered BLUE 870 のデモサイト

 

Powered BLUE 870/OTP の運用先としては、AWS/EC2以外にも

  • Fujitsu Cloud Service for OSS / 富士通
  • Enterprise Cloud / NTT Communications
  • VMware / Hyper-V
  • Azure / Microsoft
  • ALTUS (アルタス)/ GMOクラウド
  • WebARENA / NTTPC コミュニケーションズ
  • スマートコネクトVPS / NTTスマートコネクト
  • VPS

などでも運用が可能です。

 

多要素認証

ワンタイムパスワード認証&SSLクライアント認証の併用時のWebサイトの構築・運用例です。多要素認証でさらに高い安全性を確保したい場合に有効です。

 

終わりに

ワンタイムパスワード認証やSSLクライアント認証でWebサイトの認証を強化したい方、既存で運用のWebサイトへのアクセスに認証機能を導入したい方。デモ環境で試してみたい方や詳しい話を聞いてみたい方などは、ムービットの https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif お問い合わせフォーム からご連絡ください。