OpenSSLを使うとサーバーの設定だけで、
安全な暗号化通信が可能です。
しかし、使用ブラウザに登録されている認証局から
認証されない限り、ブラウザからこのサイトは危険!
という警告を受けることになります。
自分だけで使うだけなら警告を無視して、閲覧を
強行すればよいのですが、ショッピングカートなどの
個人情報を扱う場合は、警告が出るようなサイトでは
たぶん相手にされないことになるでしょう。
一昔前は認証されるために、年間数万~10数万円を要し、
とても個人では払えるものではありませんでした。
しかし、最近は国内外にバルクを扱う格安の代理店が
出現していて、個人でも手が出せる価格になっています。
そこで、ブラウザに登録された認証局で、警告を出さない
というだけの目的に絞って、格安の代理店を使い
申請を行ってみます。
格安SSLをWeb上から申し込み認証を得る
(参考 http://define.jp/ 年1000円ちょっと!)
プライベートキーを作成
#cd /etc/pki/tls/private
#openssl genrsa -des3 -out hoge.key 2048
パスフレーズを訊かれるので2回入力する。ここでのパスフレーズは後から
重要になるので、忘れないように。
プライベートキーを基に証明書署名要求(CSR)を作成
(入力するところは太字)
#openssl req -new -key hoge.key -out mousikomi.csr
Generating RSA private key, 2048 bit long modulus
………+++
…………………+++
e is 65537 (0x10001)
Enter pass phrase for hoge.key:
Verifying – Enter pass phrase for hoge.key:
[root@ns3 private]# #openssl req -new -key hoge.key -out mousikomi.csr
[root@ns3 private]# #openssl req -new -key hoge.key -out hoge.csr
[root@ns3 private]# ll
合計 8
-rw-r–r– 1 root root 1743 2011-06-07 22:27 hoge.key
-rw——- 1 root root 891 2010-12-21 00:31 localhost.key
[root@ns3 private]# openssl req -new -key hoge.key -out mousikomi.csr
Enter pass phrase for hoge.key:
unable to load Private Key
3078178524:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:536:
3078178524:error:0906A065:PEM routines:PEM_do_header:bad decrypt:pem_lib.c:476:
[root@ns3 private]# openssl req -new -key hoge.key -out mousikomi.csr
Enter pass phrase for hoge.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) [XX]:JP
State or Province Name (full name) []:HOKKAIDO
Locality Name (eg, city) [Default City]:SAPPORO
Organization Name (eg, company) [Default Company Ltd]:Hoge Co.,Ltd.
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server’s hostname) []:hogehoge.com
Email Address []:info@hogehoge.com
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:そのままEnter
An optional company name []:そのままEnter
これで /etc/pki/tls/private/配下にmousikomi.csrが作成される。
申込
Web上での申し込み段階で、csrの内容を貼り付ける手順がある。
#cat /etc/pki/tls/private/mousikomi.csr
表示されたものを貼り付ける。
こんな感じのやつ
—–BEGIN CERTIFICATE REQUEST—–
MIIBzTCCATYCAQAwgYwxCzAJBgNVBAYTAkpQMREwDwYDVQQIDAhIb2trYWlkbzEQ
MA4GA1UEBwwHU2FwcG9ybzEYMBYGA1UECgwPQ29tc29uIENvLixMdGQuMQswCQYD
VQQLDAJJVDESMBAGA1UEAwwJY29tc29uLmpwMR0wGwYJKoZIhvcNAQkBFg5pbmZv
QGNvbXNvbi5QcDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwjN8UHRGWYNt
3oqW21T1YumikFMPJCtgeg1SEc9GMVCO45rfI/tAH6jv8MLXj25URMMuyG5evz94
wP4WJDKLAmJOpgHqRUeLII/WwL/jKQvGnVwvER1x8W1OmIyLjfLAgFFBSwurldJX
Hq2G3E0D0kF1vaChPoD1aQPys7VP6gMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GB
AK0PNoTF+EAbwW0UuP1Q3jf2+DkfHZSBq7vt9zKuhQBXpvQAbGbbt3btirayLNHE
ickkeCDQ7vyem4mE/6gfRkhlrL5lGIJOFpOCa6Wo0Tq2+qsQWeEGbTYYg2K5VPtw
SKGO2kKBzigutPg2S4OpMPj1BDHHnmTE40I5bhPxdp0h
—–END CERTIFICATE REQUEST—–
(本物ではありません。アレンジが入ってます。)
CRTが発行された旨のメールが届くので、メールから
コピーし貼り付ける。
#vi /etc/pki/tls/certs/hoge.crt
メールで送られてきたものをペースト。
httpdを再起動しますが、このままだと(システムを含む)
再起動時に、設定した パスフレーズを尋ねられます。
—————————————————————
サーバー機及びHTTPD再起動時、パスフレーズを
尋ねられない設定にする
#cd /etc/pki/tls/private
#/usr/bin/openssl rsa -in domainname.key -out domainname.key
# パスフレーズ入力
(再起動時、パスフレーズを尋ねられない。)
—————————————————————–
これらのファイルの置き場をssl.confで指定
# vi /etc/httpd/conf.d/ssl.conf
### 行頭に#はコメント行となります。
######### 基本設定(ディフォルトのまま)###########
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
####### hogehoge.com #############################
<VirtualHost 219.117.245.xxx:443>
DocumentRoot “/home/hoge/public_html”
ServerName hogehoge.com:443
ErrorLog /var/log/httpd/ssl_error_log
TransferLog /var/log/httpd/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/hoge.crt
SSLCertificateKeyFile /etc/pki/tls/private/hoge.key
<Files ~ “\.(cgi|shtml|phtml|php3?)$”>
SSLOptions +StdEnvVars
</Files>
<Directory “/var/www/cgi-bin”>
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent “.*MSIE.*” \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
“%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \”%r\” %b”
</VirtualHost>
### 複数のドメイン anotherdomain.jp ###########################
### IPアドレスは別物が必要
<VirtualHost 219.117.245.yyy:443>
DocumentRoot “/home/hare/public_html”
ServerName anotherdomain.jp:443
ErrorLog /var/log/httpd/ssl_error_log
TransferLog /var/log/httpd/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/mild-heart/domainname-2011.crt
SSLCertificateKeyFile /etc/pki/tls/private/mild-heart/domainname-2011.key
<Files ~ “\.(cgi|shtml|phtml|php3?)$”>
SSLOptions +StdEnvVars
</Files>
<Directory “/var/www/cgi-bin”>
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent “.*MSIE.*” \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
“%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \”%r\” %b”
</VirtualHost>
##########################################################
httpdを再起動します。
今度はパスフレーズは尋ねられずに再起動できます。
サイトを確認します。
https://hogehoge.com に鍵のマークが付いて
警告が出なければOKです。
*hogehoge.comにしか有効ではありません。
www.hogehoge.comやshop.hogehoge.comなども
有効にしたい場合はRapidSSL(R) Wildcardを
申し込みます。(1万円ちょっと/年)
*実在証明(運用者情報)の証明はされません。
*ブラウザの種類によっては警告が出るかもしれません。
(特にスマホなど。)
スマホ対策についてはサブカテゴリをご覧ください。
HOME
最近のコメント