当サイトも、いよいよ、SSLを取りました。
一昔前まで、自サバごときで、SSL認証するなんて、金銭的に無理かなって思ってました。
しかし、最近は、激安で認証してくれるようになってたんですね。
なんと、3年で$10ちょっと、日本円で1400円ぐらいでしょうか。
GoGetSSLっていうとこです。

この夏には、Let's Encryptなる団体が、無料配布するとか・・
さらに、googleもSSLサイトを優先的に検索の上位にしてくれるそうだとか。
そこで、当サイトも激安認証でSSL化することにしました。
ちなみに、FreeBSD + Apacheの構成となります。
では、やってみましょう。
環境としては、OpenSSLが使用できる状態であることです。
apacheを導入していれば入っていると思います。
ちなみに、認証は、ドメイン名に対して認証してもらうので、必ず、MyDNS等でドメイン名を取得しておいて下さいね。

1.
まずは、秘密鍵の作成です。
とりあえず、作業場所に移動しましょう。
cd /etc/ssl    <- 環境に合わせて、ちゃんと、セキュアな場所を確保しましょうね。


作成するコマンドは、以下です。
openssl genrsa -out private.pem 2048

これで、private.pemという、ファイルが出来ます。
これが秘密鍵となりますので、大切に保管して下さい。

2.
次にCA(今回の場合、GoGetSSL)さんに作った秘密鍵に署名をしてもらう為に要求書を作成します。
openssl req -new -key private.pem -out request.csr

Country Name (2 letter code) [AU]:JP                                               <-とりあえず、日本ということで
State or Province Name (full name) [Some-State]:xxxxx                    <- 市等
Locality Name (eg, city) []:xxxxx                                                        <-都道府県
Organization Name (eg, company) [Internet Widgits Pty Ltd]:xxxxx  <-名前
Organizational Unit Name (eg, section) []:                                         <-組織なんとか、空で良いです
Common Name (e.g. server FQDN or YOUR name) []:domain.com         <-ここ重要 署名するドメイン名です。 今回、domain.comということにしますので、ご自身のドメインに置き換えて読んで下さいね。
Email Address []:xxxxx                                                                       <-メールアドレス
A challenge password []:                                                                  <- 空が便利です。
An optional company name []:                                                         <-空で良いです。

これで、request.csrという、ファイルが出来ます。
これが要求書となります。一時的に必要なだけです。

3.
次にGoGetSSLに行って、契約します。

 Domain ValidationをのViewSSLListを押しましょう。


Comodo Positive SSLが、安くって良いでしょう。

Buy SSLボタンを押下して、年数を押して、Create New accountを行います。

ここの写真は、既に取った後なんですが、本来、新規登録用にCreate New accountボタンがあったと思います。

支払い方法を選択します。

当方は、PayPalを選択しました。

アカウント登録が完了して、ログインするのかな この辺りは、忘れましたが。
次にドメインを登録します。
この作業で、2で入力したドメインが必要なので、間違え無いように・・・
どこの場面か忘れましたが、2で作成した要求書の内容を貼り付ける(コピペ)必要があるので、準備して下さい。
それと、サイトの証明を取り次ぐ為に、GoGetSSLが3つの方法を提案してきます。
メール、DNS、サイト(HTTP)にハッシュファイルです。
メール、DNSは、敷居が高いので、対象ドメインのルートにGoGetSSLが示したファイルを置くことで、認証します。
具体的には、apacheで公開している設定値のDocumentRootが示しているパスに、ダウンロードしたファイルを置けば良いです。
すると、次のステップに進めるので、後は、アクティブになるまで待機です。
10分程度だったと思います。

サイトにログインして、Manage SSL certificatesを確認しましょう。

すると、認証済みのdomain_com.crtとdomain_com.ca-bundleが入ったzipファイルをダウンロード出来るようになっています。

中身を /etc/sslにでも、解凍しましょう。


4.
最後にapacheに仕込みます。
用意するのは、以下です。
/etc/ssl/private.pem                                    <- 1.で作成した秘密鍵です。
/etc/ssl/domain_com.crt                              <- 3.でダウンロードした認証キーです。
/etc/ssl/domain_com.ca-bundle                     <- 3.でダウンロードした中間CAキーです。

apacheの設定ファイルを作成しましょう。
vi /usr/local/etc/apache24/Includes/sslsetting.conf


Listen 443
<VirtualHost _default_:443>
  SSLEngine on
  SSLCertificateFile "/etc/ssl/domain_com.crt"
  SSLCertificateKeyFile "/etc/ssl/private.pem"
  SSLCertificateChainFile "/etc/ssl/domain_com.ca-bundle"
  SSLProtocol -ALL -SSLv2 -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
  SSLCipherSuite AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:!RC4:HIGH:!EXP:!IDEA:!SEED:!EDH:!aNULL:!eNULL
  SSLHonorCipherOrder on
  Header always set Strict-Transport-Security "max-age=315360000; includeSubDomains"
  SSLVerifyClient optional
</VirtualHost>

 

最後に、SSLを確認しましょう。

 

どうでしょうか、一手間、ありますが、立派なSSLサイトが完成しました。

みんなに自慢しましょう。

 

 

Joomla templates by a4joomla