Apacheは世界で最も多く利用されているWebサーバです。Windows上でもLinuxディストリビューション上でも動作します。ここではセキュアなWebサーバの構築の為にApacheにSSL機能付加する方法を説明しています。インストールは、
OS:FedoraCore5
Apache:バージョン2.2.3
で行っています。
Apacheをダウンロードします。(ダウンロード時ヴァージョン2.2.3)
ダウンロードしたファイルを解凍します
# tar zxvf httpd-2.2.3.tar.gz
|
configureを実行してMakefileを作成します
# ./configure --enable-so --enable-ssl
|
コンパイル、インストールを行います
SSLが動作するようにするには、Apacheの設定ファイル(httpd.conf)を編集します。エディタでhttpd.confを開きます。
# vi /usr/local/apache2/conf/httpd.conf
|
SSL設定該当箇所のコメントアウトを外します
【変更前】
# Include conf/extra/httpd-ssl.conf
【変更後】
Include conf/extra/httpd-ssl.conf
|
秘密鍵、自己証明書が保存されるディレクトリに移動します。(保存されるディレクトリは、/usr/local/apache2/conf/extra/httpd-ssl.confのSSLCertificateFile,SSLCertificateKeyFileに指定されています)
# cd /usr/local/apache2/conf/
|
opensslコマンドで秘密鍵を作成します
# openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
.............++++++
.............++++++
e is 65537 (0x10001)
Enter pass phrase for server.key:←パスワードを入力してEnter
Verifying - Enter pass phrase for server.key:←上と同じパスワードを入力してEnter
|
opensslコマンドで自己証明書を作成します
# openssl req -new -x509 -days 365 -key server.key -out server.crt
Country Name (2 letter code) [GB]:←国名を入力してEnter
State or Province Name (full name) [Berkshire]:←都道府県を入力してEnter
Locality Name (eg, city) [Newbury]:←市区町村を入力してEnter
Organization Name (eg, company) [My Company Ltd]:←会社名を入力してEnter
Organizational Unit Name (eg, section) []:←部署を入力してEnter
Common Name (eg, your name or your server's hostname) []:←サーバ名を入力してEnter
Email Address []:←管理者メールアドレスを入力してEnter
|
起動スクリプトを/etc/init.dへコピーします
# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd2
|
Apacheを起動します
# /etc/init.d/httpd2 start
Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Server www.example.com:443 (RSA)
Enter pass phrase:←先程作成した秘密鍵のパスワードを入力してEnter
OK: Pass Phrase Dialog successful.
|
netstatコマンドでhttpsが起動しているかを確認
# netstat -l | grep https
tcp 0 0 *:https *:* LISTEN←おおっ起動しているようです
|
|