Chapter 13. ApacheをセキュアWebサーバーとして使用

はじめに

 この章では、mod_sslセキュリティモジュールとOpenSSLライブラリツールキットを使用して、Apache World Wide Web(WWWまたはWeb)サーバーをインストールする方法について基本的な情報を提供します。本マニュアルでは、Red Hat Linuxが提供するこれらの3つのコンポーネントを組み合わせたものを、セキュアWebサーバー(またはセキュアサーバー)と呼びます。

 Webサーバーは、要求元のブラウザに対してWebページを提供します。周知のブラウザには、Netscape NavigatorMicrosoft InternetExplorerがあります。さらに技術的にいえば、WebサーバーとブラウザはWeb通信のインターネット標準であるHTTP(HyperText Transfer Protocol)を使用して通信を行います。ユーザーがWebページのリンクをクリックすると、HTTPリクエストがWebサーバーに送信され、リンクによって指定されたコンテンツを要求します。Web サーバーはリクエストを受信すると、HTML(HyperText Markup Language)ページ、CGIスクリプト、データベースから動的に生成されたWebページなど要求されたコンテンツを提供します。Webサーバーがリクエストを実行できないときは、エラーメッセージが返信されます。Red Hat Linuxが提供するWebサーバーApacheは、現在インターネット上で最も広く使用されています。(http://www.netcraft.net/survey を参照)。

 Apache Webサーバーは、意図的にモジュール方式となっています。このサーバーはWebサーバーの異なる特徴や機能に適用される多数の異なるコードから構成されています。このモジュール方式は意図的に採用されており、すべての開発者は特定のニーズを解決するために自分自身の小さなコードを記述できます。さらに、モジュールと呼ばれるこれらのコードは、比較的簡単にApache Webサーバーに統合されます。

 mod_sslモジュールは、Apache Webサーバーのセキュリティモジュールです。mod_sslモジュールはOpenSSL Projectが提供するツールを使用して、Apacheに通信の暗号化能力を付与する非常に重要な機能を追加します。これとは対照的に、普通のHTTPを使用したブラウザとWebサーバーとの通信はプレーンテキストで送信されるため、ブラウザとサーバー間の経路で情報を誰かに傍受されたり読み込まれたりする恐れがあります。

 OpenSSL Projectには、SSL(Secure Sockets Layer)、TLS(Transport Layer Security)、汎用暗号ライブラリを実装するツールキットが含まれています。SSLプロトコルは、現在のインターネット上でデータを安全に転送するために使用されます。TLSプロトコルは、インターネット上の秘密(安全)かつ信頼のおける通信のために提唱されているインターネット規格です。mod_sslモジュールは、Web通信を保護するためにOpenSSLツールを使用しています。

 以下の章は、上記のプログラムに関する、完全かつ唯一の文書とすることを意図するものではありません。可能な場合は、特定のテーマに関する詳細な文書を見つけられる場所を示します。

 本ガイドでは、本製品に含まれるプログラムのインストール方法を説明します。同時に秘密鍵と認定要求を生成するために必要な手順、すなわち自己署名証明書の生成方法、認定書をインストールして安全なWebサーバー併用する方法についても説明します。