「SSL」の設定

通信内容を暗号化する為にSSLを利用します。
作業は /etc/apache2/ で行うこととします。

鍵・証明書の作成

サーバ用秘密鍵の作成

Solaris# openssl genrsa -des3 -out server.key 1024 <= 秘密鍵作成

Enter pass phrase for server.key: <= パスフレーズ
Verifying - Enter pass phrase for server.key: <= パスフレーズ(確認)

このままですと「Apache」を起動するたびにパスフレーズを聞かれますので、パスフレーズを削除します。

Solaris# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: <= 秘密鍵作成時のパスフレーズ入力

サーバ用公開鍵の作成

Solaris# openssl req -new -key server.key -out server.csr -days 365 <= 公開鍵作成

Country Name (2 letter code) [AU]: JP <= 国名
State or Province Name (full name) [Some-State]: Chiba <= 都道府県名
Locality Name (eg, city) []: Matsudo <= 市町村名
Organization Name (eg, company) [Unconfigured OpenSSL Installation]: crimson-snow <= サイト名
Organizational Unit Name (eg, section) []: <= 空ENTER
Common Name (eg, YOUR name) []: crimson-snow.net <= ホスト名
Email Address []: kaz@crimson-snow.net <= 管理者用メールアドレス

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <= 空ENTER
An optional company name []: <= 空ENTER

サーバ用証明書の作成

Solaris# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365 <= 証明書作成

権限の変更

サーバ用の秘密鍵・公開鍵・証明書をrootのみ参照できるようにします。

Solaris# chmod 400 server.*
「Apache」の設定

「Apache」の設定はSSLの設定ファイルを変更します。
また、デフォルトではSSLでの起動はしないようになっていますので、設定を変更します。
なお、SSLへのアクセスは CustomLog で
/var/apache2/logs/ssl_request_log
へログを取っているので、TransferLog の部分はコメントアウトし、ログを取らないようにしています。

SSL設定ファイルの設定

Solaris# vi /etc/apache2/ssl.conf <= 設定ファイルの編集
TransferLog /var/apache2/logs/access_log
↓
#TransferLog /var/apache2/logs/access_log <= コメントアウト

SSLCertificateFile /etc/apache2/ssl.crt/server.crt
↓
SSLCertificateFile /etc/apache2/server.pem <= サーバ用証明書を指定

SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
↓
SSLCertificateKeyFile /etc/apache2/server.key <= サーバ用秘密鍵を指定

内部からのアクセスをログに記録しないように以下のように変更
CustomLog /var/apache2/logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
↓
SetEnvIf Remote_Addr 192.168. no_log <= 追加
CustomLog /var/apache2/logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=!no_log
 <= env=!no_log の部分を追加

起動方法の設定を変更

Solaris# svcprop -p httpd/ssl svc:/network/http:apache2 <= 設定の確認
false <= SSLが起動しない

Solaris# svccfg <= svccfgコマンドで設定情報を変更
svc:> select apache2 <= apache2の設定を変更
svc:/network/http:apache2> editprop <= EDITOR環境変数で指定したエディタで設定を変更
# setprop httpd/ssl = boolean: (false)
↓
setprop httpd/ssl = boolean: (true) <= 変更


svc:/network/http:apache2> quit <= 設定コマンドを終了

「Apache」の設定を再読み込みします。

Solaris# svcadm refresh svc:/network/http:apache2 <= 「Apache」の設定の再読み込み

Solaris# svcprop -p httpd/ssl svc:/network/http:apache2 <= 設定の確認
true <= 設定が変更されている

SSL認証を行うページにアクセスする為にルータでポートの443番を開けます。
http://サーバのIPアドレス/ を
https://サーバのIPアドレス/ とアクセスして、アクセス出来れば問題ありません。

▲ページのトップへ