【特集】SSLでセキュアなECサイト構築
〜ECサイト構築に必要なSSL、その仕組みと構築手順を詳細解説〜
田中直人
ネットマークス
2001/3/6
Part.3 SSLサーバのセットアップと実際の運用 |
ここでは、実際にSSLが使用可能なWebサーバを構築する方法について解説する。今回は、独自CA局を構築して、そこで電子証明書を発行している。
(1) Webサーバ環境の用意
今回、Webサーバ構築の作業は以下の環境にて実施した。
●今回使用したWebサーバのスペック | ||||||||||||||||
|
Webサーバソフトウェアは、フリーのWebサーバとして実績のあるApache注1にSSLパッチを適用したものを選択した。使用したソフトウェアパッケージは以下のとおりである。
注1 記事掲載時は、apache_1.3.12で解説を致しましたが、以下のバージョンのApacheにおいて、脆弱性が存在することが発表されております(2002年7月12日現在)。お手数ですが、最新のバージョンのご使用をお薦めいたします。また、今後も同様のセキュリティに関する情報が配信される可能性もありますので、IPA/ISEC、JPCERT/CCなどで最新情報を入手されることをお薦めいたします。 ●対象バージョン(2002年7月12日現在) 1.x系: 1.2.2以上 1.3.24まで 2.0系: 2.0以上 2.0.36まで |
●使用したファイルと入手先 | ||||||||
|
OpenSSLのコンパイルにはPerlが必要となるため、Perlとそのライブラリをあらかじめインストールしておく必要がある。
Apacheの最新バージョンは1.3.17(2001年2月14日現在)であるが、対応するSSLパッチが存在しないため、今回はApache 1.3.12を使用した。また、SSLパッチ適用時にpatch 2.1または、patch 2.5が必要となるため、こちらもあらかじめインストールしておく必要がある。
SSLの動作確認のためのクライアント環境としては、以下のものを利用した。
●クライアントマシンのスペック | ||||||||||||
|
蛇足ではあるが、IIS(Internet Information Server)については、基本的にSSL機能を標準で持っているため、電子証明書をインストールして、簡単な設定を実施することによりSSLを使用することが可能である。ただし、電子証明書については、ほかのソフトウェア(OpenSSLなど)を用いて、別途作成する必要がある。
(2) 環境構築の手順
では実際に、用意した環境に手順に沿ってWebサーバとSSLのインストールと設定をしていこう。
|
(3) 電子証明書の作成
SSLを利用するためには電子証明書を作成する必要がある。
電子証明書を発行するには実際には以下のプロセスが必要となる。
- Webサーバの電子証明書の作成、認証局への送付
- 認証局(CA局)による署名の書き込み
- CA局の署名入り電子証明書の受け取り
なりすまし防止のために第三者認証機関を使用する場合には、上記の手順に沿って電子証明書を作成する必要がある。ただし、今回の例にあるように、独自のCA局による電子証明書を作成する場合には、上記の作業をコマンド1つで実行することができる(実際には、OpenSSLにて独自のCA局を作成して、上記の3ステップを実行している)。
独自CA局による電子証明書は、以下の「make certificate」コマンドを実行することにより作成可能であるが*、ホームディレクトリに乱数のもととなる「.rnd」ファイルが必要となる。今回はrootで作業を実施しているため、ルートディレクトリ(「/」の直下)に「.rnd」ファイルを作成した。
|
また、make certificate実行中に、証明書の作成に必要な情報を入力する必要がある。最低限、FQDN(サーバのDNS名)を入力しておかなければならない。ここのFQDNがアクセス時のホスト名と異なる場合、ユーザー側に警告が表示されるため、同じにしておくことが望ましい。
# ps -ef > /.rnd |
以下、make certificate実行時の入力例だ。
You are about to be asked to
enter information that will be incorporated |
作成された電子証明書は、今回はApacheのソースを展開したディレクトリの下の「SSLconf/conf/httpsd.pem」に保存される。今回作成した電子証明書を例として以下に記す。
-----BEGIN RSA PRIVATE KEY----- |
-----BEGIN CERTIFICATE----- |
(4) Apacheの設定
電子証明書を作成したら、それを使用してapacheが動作するように設定を実施する必要がある。サンプルの設定ファイルはapacheのソースを展開したディレクトリの下の「SSLconf/conf/httpd.conf」にあるので、これをコピーして修正した。
Apacheの設定としては、https通信のデフォルトである443番ポートにて稼働するように設定した。また、デフォルトでは、Webブラウザ側の証明書も要求されるため、この設定を削除している。
# cp ../SSLconf/conf/httpd.conf /export/home/apache_1.3.12/conf |
●httpd.confで修正した項目 | |
|
●httpd.confに追加した項目 | |
|
また、1台のサーバにて、HTTPと、HTTPS(SSL)の両方を使用したい場合も存在するかもしれない。Apacheは設定だけで、これらの要求を満たすことが可能である。例えば以下の設定をhttpd.confに追加することにより、同一コンテンツをHTTP、HTTPSにて公開することが可能である(以下、HTTPで「/export/home」以下を公開する場合に、上記に加えて追加する必要がある設定項目)。
|
(5) Apacheの起動とWebブラウザからの動作確認
いよいよ準備が整ったので、Apacheの起動と動作確認をしてみる。Apacheの起動は下記のコマンドで行う。
./bin/httpsd |
ではここで、Webブラウザを使用して、実際にSSLを使用した暗号化通信が実施できることを確認していこう。「https://panzer.netmarks.co.jp/index.html.ja.jis」にアクセスすると以下のダイアログがポップアップされる。
画面3 Webサーバにアクセスすると、セキュリティの警告ダイアログがポップアップしてくる。一瞬作業が失敗したように思えるかもしれないが、これはクライアント側にWebサーバが発行する証明書が存在しないため。「はい」を選択すると続けてアクセス可能になる |
一番上の項目は、受け取った電子証明書には、Webブラウザに登録されている第三者認証機関による署名が記入されていないことを表している。電子証明書の詳細は、「証明書の表示」ボタンをクリックすることにより、見ることが可能である。
画面4 画面3で「証明書の表示」ボタンを押したところ。Webサーバから発行される証明書は、ルート認証局から信頼されたものでないことがわかる(ルート認証局から証明書を発行してもらう方法は、Part.2の「電子証明書」の欄を参照) |
セキュリティの警告ウィンドウの「はい」ボタンをクリックすることにより、暗号化通信によるコンテンツの表示が行われる。
画面5 SSLでWebサーバにアクセスしているところ。SSLによる通信が行われているかは、ウィンドウの下側にある鍵マークが閉じていることで確認できる(赤枠で囲まれた個所。画面はIEの場合) |
このウィンドウの右下に注目すると、南京錠が閉じたアイコンがあるのが確認できる。この鍵が閉じている場合、閲覧しているページはSSLを利用して送信されたことを表している。
これにより、SSLを使用したWebサーバの構築は完了だ。
(6) 実際の運用における注意点
電子証明書には有効期限が存在する。make certificateにて作成された電子証明書は、1カ月で有効期限が切れるため、そのタイミングにて電子証明書を更新する必要がある。また、電子証明書更新時には、Apacheの再起動が必要である。
実際の運用時には、運用にかかる手間を考えると、1年程度の有効期限を持たせるのが現実的と思われる。
Index | |
【特集】 SSLでセキュアなECサイト構築 | |
Part.1 なぜSSLが必要か? ECサイトにひそむリスク SSLを使用したリスクの回避 |
|
Part.2 SSLサーバ導入の準備 カギの長さと安全性 ソフトウェア/ハードウェアの選定 電子証明書 コンテンツ、そのほかの修正 |
|
Part.3 SSLサーバ構築全手順 Webサーバ環境の用意 環境構築の手順 電子証明書の作成 Apacheの設定 Apacheの起動とWebブラウザによる動作確認 実際の運用における注意点 |
|
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|