MTOS管理画面のSSL化:概要
はじめに
管理画面をSSL化する必要がある場合(6/16 追記)
普段MTを使っているとき、あるいは仕事でCMS導入する際において、
SSLが必要になる機会はそう多くはないか、と思います。
ただ、セキュリティを特に気にするお客様から要件としてあがってきたり、MTで顧客情報を管理するなどウェブアプリケーション的な使い方をする場合、必要になる事はあると思われます。
例えば、次のような場合が想定されると思われます。
- 官公庁系の案件で、デリケートな情報を扱うとき
- A-Form や A-Member を導入した時など、個人情報をMT管理画面上で扱う可能性のある実装を行ったとき
- お客様事情でMTのバージョンアップができないときのセキュリティ対策の一環(^^;)
単にSSLを適用するだけでは済まない
管理画面のSSL化は、
普段「http://」から始まるURLで管理画面にアクセスしていたのを
「https://」からでもアクセスできるようにするだけ、という単純なものではありません。
全くMTが使えなくなるようなひどい不具合は出ないか、と思われますが、
何もしないままだと、ブラウザがオリジンエラーの警告を出したり、
プレビュー画面を閲覧できなかったりなど、幾つか不具合が出てしまいます。
今回は、MT管理画面をSSLから利用する際に調整が必要な点について、
何回かに分けて解説していきます。
まず、今回はSSL化の概要について以降に書いていきます。
前提
本解説は、次の場合を前提としています。
- ドメイン文字列とサイトのルートディレクトリは
「http://」「https://」とも同一、としておく。
必要な作業の概要
URLのオリジンエラー修正がやることの殆ど
SSL化に伴う対応は、殆どが、
管理画面にて「http://」から始まる絶対パスを「https://」
もしくはルート相対に書き換える為の、MT本体ファイルの修正となります。
AdminCGIPath の設定
例えば次のような形で、mt.cgi へのパスを指定します。
AdminCGIPath https://example.com/cgi-bin/mt/
この設定を行う事で、
例えばログイン画面に「http://」からのURLでアクセスした上でログインしても、
設定値のURLに遷移させる事ができます。
つまり、間違えて「http://」からのURLでログイン画面を開いた上でログインしても、
「https://」の管理画面に飛ばす事ができます。
参考
6A公式ドキュメント。
http://www.movabletype.jp/documentation/appendices/config-directives/admincgipath.html
ジョン氏による記事。
http://www.accoun.com/old_diary/2006/03/sslmovabletype.html
管理画面のテンプレートの修正
基本的な修正方法
MT本体いじっている方はご存知の方もいるかと思いますが、
MTの管理画面はMTテンプレートで生成されています。
具体的には、MT本体のルートディレクトリ直下の、次のディレクトリで管理されています。
[MT本体のルートディレクトリ]/tmpl/
今回の作業の多くは、
管理画面のhtmlソースで「http://」からの絶対パスでURLが出力されている箇所を、
全てhttps://もしくはルート相対パスに書き換える作業になります。
作業上の注意点
プラグインとの兼ね合い
SSL化で注意しなければならないのは、プラグインとの兼ね合いです。
特に、MTの管理画面テンプレートをいじるプラグインが有る場合は注意が必要か、と思われます。
通常は、/alt-tmpl に、変更を加えた管理画面テンプレートのファイルを置くのみで済むかもしれませんが、管理画面テンプレートをいじるプラグインがある場合、alt-tmpl で書き換えた設定がプラグインから更に上書きされる場合が考えられます。
その場合、プラグインのコードに手を加えるなど、少々難易度のある対応が必要になります。
また、プラグインにより変更されたテンプレートのソースが、http://から始まる絶対パスの場合は、プラグイン側の該当するコードを修正する必要があります。
あとがき
今回はSSL化の概要について解説しました。
次回以降より、個別の一つ一つの事項に対して、具体的な手法を述べていく予定です。