SSLクライアント認証でownCloudへのアクセスを行います。さらにownCloudから外部ストレージとして、GMO クラウド アルタス オブジェクトストレージ (Amazon S3互換)を利用します。今回はSSL認証サーバーとownCloudの運用サーバーを同一(1台)で行う場合の例です。
オブジェクトストレージには、Webブラウザによるhttps及びSSLクライアント認証経由でのアクセスとなります。
必要なものは
- Powered BLUE プライベートCA (CA & ownCloud を運用)
- GMO クラウド ALTUS object storage (オブジェクトストレージを利用)
です。
Powered BLUE プライベートCAの セットアップ
Powered BLUE プライベートCA & ownCloudはどの場所で運用しても構いません
自社の仮想環境で運用の場合には、
- VMware/Hyper-Vなどへ仮想アプライアンスイメージ
をインポーします
GMOクラウド(ALTUS)上でPowered BLUE プライベートCA & ownCloudも運用する場合には、
を参照してください。Powered BLUE プライベートCA &ownCloud とオブジェクトストレージをALTUS上で運用の場合には、サーバーからオブジェクトストレージへの転送量に対しての課金がされないなどのメリットがあります。
Powered BLUEへのownCloud セットアップ
Powered BLUE サーバーには、フリープラグイン方式でオープンソース版のownCloudを簡単にインストールすることが出来ます。ownCloudのインストール方法は、
を参照してください。
プライベートCA
ownCloudを運用している仮想サイトのSSLを有効にします
プライベートCAでSSLクライアント証明書を発行。クライアント証明書は、会社や部門全体での一括発行や、1ユーザーごとの個別の発行が出来ます
SSLクライアント証明書を個別発行の場合(1枚発行の場合)
例 suzuki@mubit.com ユーザーのクライアント証明書を作成
有効期限などを指定して発行します
SSLクライアント証明書をダウンロードします
SSLクライアント証明書のブラウザへのインストール(Firefoxの場合)
「証明書を表示」をクリック
「あなたの証明書」のインポートをクリック
SSLクライアント証明のパスワード入れてインストールします
正常にインポート時の表示
証明書マネージャーにインストールしたクライアント証明書が表示されます
ownCloudへアクセス
- https://xxx.yyy.zzz.uuu/owncloud
OKボタンを押すと、SSLクライアント認証後にownCloudのアクセス画面が表示されます.有効なSSLクライアント証明書の無い場合には、この時点でアクセスが拒否されます
ownCloudのログイン画面
ニ要素認証での運用が出来ます
- SSLクライアント証明書による認証
- ID/パスワードによる認証
オブジェクトストレージの設定
ownCloud から GMO クラウド ALTUSのオブジェクトストレージを利用する方法は以下のようになります。
Amazon S3ではAmazon のGUIからBucketを生成出来ますが、GUIからBucketを生成できないオブジェクトストレージサービス(GMOクラウドなど)を利用の場合に は、コマンドラインからの操作で、事前にObject Storage用のBucketを生成しておく必要があります。
GMOクラウドのオブジェクトストレージの場合
S3コマンドのインストール
ownCloudを運用しているPowered BLUEサーバーにS3コマンドをインストールします。S3関連のインストール方法は、GMOクラウド社のHPからの抜粋です。
# yum install python-dateutil python-magic
# wget http://downloads.sourceforge.net/project/s3tools/s3cmd/1.5.0-rc1/s3cmd-1.5.0-rc1.tar.gz
# tar xvf s3cmd-1.5.0-rc1.tar.gz
# cd s3cmd-1.5.0-rc1
# python setup.py install
# s3cmd – –configure
Enter new values or accept defaults in brackets with Enter. Refer to user manual for detailed description of all options. Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables. Access Key: <- アクセスキーを入力 Secret Key: <- シークレットキーを入力 Encryption password is used to protect your files from reading by unauthorized persons while in transfer to S3 Encryption password: <-「Enter」 Path to GPG program [/usr/bin/gpg]: <-「Enter」 When using secure HTTPS protocol all communication with Amazon S3 servers is protected from 3rd party eavesdropping. This method is slower than plain HTTP and can't be used if you're behind a proxy Use HTTPS protocol [No]: <-「Enter」 On some networks all internet access must go through a HTTP proxy. Try setting it here if you can't connect to S3 directly HTTP Proxy server name: <-「Enter」 New settings: Access Key: xxx Secret Key: xxx Encryption password: Path to GPG program: /usr/bin/gpg Use HTTPS protocol: False HTTP Proxy server name: HTTP Proxy server port: 0 Test access with supplied credentials? [Y/n] n Save settings? [y/N] y Configuration saved to '/root/.s3cfg'
※アクセスキーとシークレットキーはGOMクラウドのポータル画面よりご確認ください。
エンドポイントはコマンドで設定できないため、設定ファイルを書き換えます。
ホームディレクトリに移動します。
# cd
設定ファイルを編集し、「amazonaws.com」をエンドポイントのドメイン名に置き換えます。ここではエンドポイントをst.gmocloudtest.comとします。
# vi .s3cfg
<変更前>
host_base = s3.amazonaws.com
host_bucket = %(bucket)s.s3.amazonaws.com
<変更後>
host_base = st.gmocloudtest.com
host_bucket = %(bucket)s.st.gmocloudtest.com
実際にオブジェクトのリストを取得して、動作確認をします。
# s3cmd ls
最初は空なので、何も表示されません。エラーが出なければOKです。
ownCloudのGUIからの設定 外部ストレージ(external storage support )を有効にします
Amazon S3 互換ストレージを選択します
- フォルダ名 (例 gmo-cloud)
- アクセスキー (指定の値:GMOクラウドのポータル画面で確認)
- シークレットキー (指定の値:GMOクラウドのポータル画面で確認)
- パケット名 (st.gmocloud.com)
- ホスト名 (st.gmocloud.com)
を入力します。
設定が正しい場合には、外部ストレージフォルダの左側の〇がグリーンに変わります。
ownCloudのGUIへアクセス
オブジェクトストレージのフォルダ gmo-cloud が表示されています
オブジェクトストレージのフォルダ gmo-cloud にWebブラウザでファイルをアップロード
ownCloudのバックアップ
ownCloudのロゴを自社専用のロゴへ変更
デモサーバー
Powered BLUEの デモサーバー
基本操作 / リバースプロキシ / SSLクライアント認証 などのデモが出来ます
ワンタイムパスワード認証
Webのサイトへのアクセスに際して、OTP / ワンタイムパスワード対応のWebサイトの構築・運用例です。
多要素認証
ワンタイムパスワード認証&SSLクライアント認証の併用時のWebサイトの構築・運用例です。多要素認証でさらに高い安全性を確保したい場合に有効です
終わりに
ワンタイムパスワード認証やSSLクライアント認証でWebサイトの認証を強化したい方、既存で運用のWebサイトへのアクセスに認証機能を導入したい方。デモ環境で試してみたい方や詳しい話を聞いてみたい方などは、ムービットの お問い合わせフォーム からご連絡ください。