一つのIPアドレスで複数のSSLサイトを構築
これまで、SSL対応サイトを構築する場合、
一つのIPアドレスに一つのサイトしか構築することができませんでしたが、
Apache-2.2.12以降ではSNIという拡張機能が標準でサポートされるようになり、
名前ベースのVirtualHostでSSLを使うことが可能となりました。
■Apacheの設定を変更し、単一IPアドレス上で複数のSSLサイトを運用する
http://builder.japan.zdnet.com/news/story/0,3800079086,20402262,00.htm
では早速、設定をしてみます。
【必要なもの】
- Apache-2.2.12以降
- OpenSSL-0.9.8f以降
CentOS 5.4の場合、OpenSSLのバージョンは0.9.8eであるため、最新版の(0.9.8l)にバージョンアップする。
# wget http://www.openssl.org/source/openssl-0.9.8l.tar.gz
# tar zxpf openssl-0.9.8l.tar.gz
# cd openssl-0.9.8i
# ./config --prefix=/usr/local/openssl enable-tlsext
# make
# make install
# openssl version
OpenSSL 0.9.8l 5 Nov 2009
上記バージョンのOpenSSLを使用するため、Apacheを再インストールする。
# cd /usr/local/src/httpd-2.2.12/
# ./configure --enable-ssl --with-ssl=/usr/local/openssl
# make
# make install
Apacheの設定ファイルを変更する。
Listen 443
NameVirtualHost *:443
SSLStrictSNIVHostCheck off
DocumentRoot /www/bridge-ssl.jp/html/
ServerName bridge-ssl.jp
〜
DocumentRoot /www/bridge-ssl2.jp/html/
ServerName bridge-ssl2.jp
〜
以上で設定が完了です。
各ブラウザで動作確認を行ってみます。
【動作確認(Windows XP)】
- [○] Firefox 3.5.5
- [○] Opera 10.10
- [×] Internet Explorer 8.0.6001 #Vistaだと大丈夫のようです
- [×] Google Chrome 3.0.195
- [×] Sleipnir 2.9.1
- [×] Lunascape 5.1.6
- [×] Safari 4.0.4
対応しているブラウザがまだ一部ですので、実際の導入には時期尚早な感じですが、
無駄なIPアドレスを削減でき、Apacheの設定がシンプルになるのは大変嬉しいことなので、
早く一般化されることを期待しています。
SSL証明書比較・証明書格安取得なら「BridgeSSL」
貴社のWebサイトは安全ですか?SSL証明書で「安心と信頼の証」を
Webサイトの安全を守る「SSL」という技術
■はじめに - Webサイトを安全に運用するために -
近年、Webサイトの脆弱性が悪用されたフィッシング詐欺や個人情報の漏洩、
Webページ改竄などの事件が多発し、2005年から施行された個人情報保護法により、
情報資産の保護に対する意識はますます高まってきています。
Webサイトの脆弱性の悪用による被害を回避するためには、
- Webサーバ、動作しているアプリケーションのセキュリティ対策
- サーバとクライアントマシン間のネットワークに関するセキュリティ対策
- クライアントマシンのセキュリティ対策
が必要です。Webサイトの運営者やネットワーク管理者は現在の状況を確認し、
それぞれで最善の対策を講じる必要があります。
このブログでは、最低限実施する必要のあるセキュリティ対策から最新のセキュア技術について、
情報システム部という視点から分かりやすく取り上げ、より安全性の高いセキュアな
サービスの提供を目指したいと思います。
■安全なWebサイトの運用
安全なWebサイトを構築するためには、構築時と運用面での対策が必要となってきます。
IPA(情報処理推進機構)が国内で届出件数が多かった脆弱性や攻撃の影響度が大きい脆弱性を取り上げ、
Webサイト開発者や運営者に適切なセキュリティを実施するように資料を提供していますので、
まずは基本的な知識として熟読して頂き、最後にはチェックシートがありますので、
運営を行っている、または、運営を予定しているWebサイトに当てはめチェックしてみてください。
- 安全なウェブサイトの作り方
http://www.ipa.go.jp/security/vuln/websecurity.html
■Webサーバのアクセス制限
Webサーバで一般的に利用されている Apache では、以下の4つの認証(アクセス制限)が可能です。
但し、これらの技術は送受信データについては一切暗号化されません。
「盗聴、改竄、なりすまし」といった手段に対しては全くの無力となってしまいますので、
クレジットカード番号や機密情報をHTTPでやり取りする場合には有用な方法とは言えません。
これらのリスクを回避するために有効な技術の1つとして、
多くの企業が取り入れているSSLによる暗号化技術の仕組みについて取り上げたいと思います。
■SSL("Secure Sockets Layer")って何?
SSLは1994年にNetscape Communications社の開発によって誕生しました。
インターネット上に流れる情報をPKI(公開鍵暗号基盤)という方法で暗号化し、
サーバとクライアント間でやり取りされる情報を安全に送受信することができます。
PKI
「Public Key Infrastructureの略で公開鍵基盤と訳され、
公開鍵暗号化方式と呼ばれる暗号技術を基盤とした暗号と認証の仕組みになります」
では、SSLで利用している暗号化のメカニズムについて見ていきましょう。
公開鍵暗号化方式では「秘密鍵」と「公開鍵」の2種類に分かれ、
秘密鍵で暗号化した情報は常にペアとなる公開鍵でしか復号化できません。
同様に公開鍵で暗号化した情報は秘密鍵でしか復号化できません。
この2つ正しい鍵ペアを利用することで、ネットワークでやり取りされる情報の安全を守ります。
具体的にSSLで暗号化されたWebサイトにアクセスしたときの暗号化通信を見ていきましょう。
【SSL通信の流れ】
- クライアントはブラウザからSSL暗号化でWebサーバにリクエスト(https://で始まるURLアドレス)します
- Webサーバはクライアント(ブラウザ)に対して公開鍵を含んだサーバ証明書を送信します
- ブラウザは送受信データを暗号化する共通鍵を作成するため、基データから公開鍵で暗号化します
- 公開鍵で暗号化した共通鍵をWebサーバに送信します
- Webサーバは暗号化された基データを秘密鍵で復号します、基データから共通鍵を生成します
- ブラウザ側も基データから共通鍵を生成します
Webサーバとクライアント(ブラウザ)間で安全に共通鍵を共有できたことになります。
後は、共通鍵にて個人情報やクレジットカードなどの機密情報を暗号化し、情報の送受信を行います。(7〜9)
SSLの技術を使うとデータは常に暗号化されているため、
途中で傍受されてもデータを取り出すことはできませんので、
安全に情報の送受信が可能となります。
SSL証明書比較・証明書格安取得なら「BridgeSSL」
貴社のWebサイトは安全ですか?SSL証明書で「安心と信頼の証」を