TOP » Apache HTTP Server で Web サーバー構築 » Apache HTTP Server 2.0 » mod_ssl で HTTP 通信の暗号化

mod_ssl で HTTP 通信の暗号化

Apache をインストールするときにモジュールとして組み込んだ mod_ssl を使ってサーバーとクライアント間の HTTP 通信の暗号化行います。
Apache を使って SSL 通信を行うために必要なファイルは、CSR ファイル(サーバーの証明書発行の署名要求)と秘密鍵と証明書です。
このうちの証明書は自己署名した電子証明書を使うこととします。

SSL 通信に必要なディレクトリとファイルの作成

CSR ファイル、秘密鍵、証明書を格納するためのディレクトリを作成します。

# mkdir /usr/local/httpd/conf/ssl.csr
# mkdir /usr/local/httpd/conf/ssl.key
# mkdir /usr/local/httpd/conf/ssl.crt

CSR ファイルと秘密鍵を作成します。

# openssl req -new -nodes -keyout /usr/local/httpd/conf/ssl.key/server.key -out /usr/local/httpd/conf/ssl.csr/server.csr

Generating a 1024 bit RSA private key
……..++++++
…………………++++++
writing new private key to ‘/usr/local/httpd/conf/ssl.key/server.key’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [GB]:JP国を入力
State or Province Name (full name) [Berkshire]:Osaka都道府県を入力
Locality Name (eg, city) [Newbury]:Osaka-shi市区町村を入力
Organization Name (eg, company) [My Company Ltd]:honana会社名を入力
Organizational Unit Name (eg, section) []:SSL部署を入力
Common Name (eg, your name or your server’s hostname) []:server.honana.comサーバーのFQDN
Email Address []:.「.」で入力を省略

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:.「.」で入力を省略
An optional company name []:.「.」で入力を省略

自己署名証明書を作成します。

# openssl x509 -in /usr/local/httpd/conf/ssl.csr/server.csr -out /usr/local/httpd/conf/ssl.crt/server.crt -req -signkey /usr/local/httpd/conf/ssl.key/server.key -days 3650

Signature ok
subject=/C=JP/ST=Osaka/L=Osaka-shi/O=honana/OU=SSL/CN=server.honana.com
Getting Private key

SSL を有効にした Apache の起動

通常起動しただけでは SSL 通信は有効になりません。
SSL 通信を有効にした Apache を起動するためには apachectl 制御スクリプトに startssl を指定して実行します。
すでに Apache が起動している場合は一度停止してから起動します。

# /usr/local/httpd/bin/apachectl stop
# /usr/local/httpd/bin/apachectl startssl

ウェブブラウザを使って https://192.168.0.2/ のように https でアクセスして正しく表示されることを確認します。

カテゴリー
Fedora のインストール
ネットワーク設定
OpenSSH で SSH サーバー構築
NTP で時刻情報サーバー構築
Apache HTTP Server で Web サーバー構築
MySQL でデーターベースサーバー構築
PostgreSQL でデーターベースサーバー構築
PHP で Web アプリケーションサーバー構築
qmail でメールサーバー構築
Samba でファイルサーバー構築
BIND でネームサーバー構築
Tomcat で Web アプリケーションサーバー構築
ProFTPD で FTP サーバー構築
システム設定
CMS でサイト構築
snort でネットワーク進入探知システム構築
ライブラリのインストール