「ConoHa VPS に SSL証明書を取得してみた」の版間の差分

提供: tknotebook
移動: 案内検索
(certbotの操作)
(証明書の期限の確認方法)
 
(1人の利用者による、間の26版が非表示)
1行: 1行:
 +
[[Category:コンピュータ]][[Category:Linux]]
 +
[[メインページ]]>[[コンピュータの部屋]]>[[ConoHa VPS を使ってみた]]
  
  
ConoHa の Apache で HTTPS を使えるようにするため、Let`s Encrypt から証明書を入手して
+
ConoHa の LAMP環境 で、セキュリティ向上のため SSL を使えるようにするために、Let`s Encrypt から証明書を入手してみました。
してみました。
+
  
 
==条件==
 
==条件==
  
Let`s Encrypt で取得できるのはドメイン認証です。ドメインの所有権を証明します。
+
Let`s Encrypt で取得できるのはドメインの証明書です。ドメインの所有権を証明します。
  
Let`s Encrypt証明書を取得するには以下の2条件をクリアする必要があります。
+
Let`s Encrypt証明書を取得するには以下の3条件を作業前にクリアしておく必要があります。
  
 
#ドメインを所有していること
 
#ドメインを所有していること
 
#ドメイン上で HTTP サーバが動いていて Let`s Encrypt からアクセスできること。
 
#ドメイン上で HTTP サーバが動いていて Let`s Encrypt からアクセスできること。
#ポート443が開いていること。
+
#ポート443が開いていること。iptables 等を使っている人は 443 を開けてください。
  
 
==手順==
 
==手順==
  
認証用ソフト certbot をインストールして起動します。
+
認証書取得用ソフト certbot を github から入手し、インストールして起動します。
  
 
===Certbot用ディレクトリを作ります===
 
===Certbot用ディレクトリを作ります===
44行: 45行:
 
  ./certbot-auto
 
  ./certbot-auto
  
これで OS を自動的に識別し、必要なパッケージのロードと certbot の起動などが全て自動で
+
これで OS が自動的に識別され、必要なパッケージがネットワークからロードされ certbot が起動します。
行われます。
+
 +
この起動の仕方だと一気に apacheの設定までやってしまいます。証明書の取得のみなら
 +
 
 +
./certbot-auto certonly
 +
 
 +
でいけるそうです。今回は設定までやって貰いました。
  
 
<pre>
 
<pre>
58行: 64行:
 
===certbotの操作===
 
===certbotの操作===
  
certbot は下図のように GUI もどきの CUI 画面を表示しますが、私は TeraTerm を使用しましたが
+
centosの場合、certbot は下図のように GUI もどきの CUI 画面を表示しますが、私は TeraTerm を使用しましたが
 
大丈夫なようです。
 
大丈夫なようです。
  
 +
 +
====サーバのホスト名の入力====
 
お使いの apache の設定によるとは思いますが、最初にサーバのホスト名を聞いてきます。
 
お使いの apache の設定によるとは思いますが、最初にサーバのホスト名を聞いてきます。
恐らく 私の httpd.conf に ServerName がないからでしょう。ここにサーバのURLではなくホストのFQDNを入れます。
+
恐らく 私の httpd.conf に ServerName がないからでしょう。ここにサーバのURLではなくホストのFQDNを入れ、
 +
OKを押します。
  
 
[[ファイル:Let s Encrypt000.png]]
 
[[ファイル:Let s Encrypt000.png]]
 +
 +
 +
 +
====e-mailアドレスの入力====
 +
次の画面では e-mail アドレスを入力します。特に今回メールのやり取りはなかったのですが、
 +
何かに使うのでしょう。
 +
 +
[[ファイル:Let s Encrypt001.png]]
 +
 +
 +
 +
====同意====
 +
ここで、同意を求められますので、Agree を選びます。何の同意なのか・・・まだ PDF は読んでません(^^;
 +
 +
[[ファイル:Let s Encrypt002.png]]
 +
 +
 +
 +
====Virtualhostの設定を指示====
 +
これは Virtualhost をどこに作るか聞いているようです。ssl.conf は元々なかったのですが、ここで ssl.conf を選ぶと
 +
ssf.conf が新規作成されました。
 +
 +
[[ファイル:Let s Encrypt003.png]]
 +
 +
====SSLへのリダイレクトの有無====
 +
とりあえず、MediaWiki等は、まだ設定で SSL対応にできていないので、HTTP/HTTPS の双方でアクセス可能を選択。
 +
MediaWikiの設定の中に http プロトコルを指定しているところが残っているため(^^;
 +
処置が終われば apache の rewrite で プロトコルを強制書き換えする予定です。
 +
 +
[[ファイル:Let s Encrypt004.png]]
 +
 +
 +
 +
 +
====無事終了====
 +
 +
[[ファイル:Let s Encrypt005.png]]
 +
 +
最後に、3か月後には切れるから更新よろしくと手順が表示されます。コマンド一発で更新出来るのですが、
 +
めんどくさいです(^^;
 +
 +
cron で
 +
 +
certbot-auto renew
 +
 +
をスケジュール実行した方が良いかも。
 +
 +
[[ファイル:Let s Encrypt006.png]]
 +
 +
 +
 +
 +
念のため
 +
service httpd restart
 +
で apache を再起動。
 +
 +
https://www.ssllabs.com/ssltest/analyze.html?d=www.nakamuri.info
 +
 +
で試してみたら証明書は完璧だけど、いろいろボロクソに言われました(^^;
 +
いやタダで評価していただいて、ありがたい話です。
 +
 +
修正中です。
 +
 +
==証明書の期限の確認方法==
 +
 +
証明書更新後、期限がどうなったか気になりますが、certbot-auto renew では表示されません。
 +
以下のコマンドで確認できます。
 +
 +
cd /etc/letsencrypt/live/サイトのホスト名(www.nakamuri.info など)
 +
openssl x509 -in cert.pem -noout -dates
 +
 +
と打つと
 +
 +
notBefore=Feb 22 21:16:00 2017 GMT
 +
notAfter=May 23 21:16:00 2017 GMT
 +
 +
というように表示されます。notBeforeは証明書の生成日、notAfterが期限です。

2017年2月22日 (水) 23:08時点における最新版

メインページ>コンピュータの部屋>ConoHa VPS を使ってみた


ConoHa の LAMP環境 で、セキュリティ向上のため SSL を使えるようにするために、Let`s Encrypt から証明書を入手してみました。

条件

Let`s Encrypt で取得できるのはドメインの証明書です。ドメインの所有権を証明します。

Let`s Encrypt証明書を取得するには以下の3条件を作業前にクリアしておく必要があります。

  1. ドメインを所有していること
  2. ドメイン上で HTTP サーバが動いていて Let`s Encrypt からアクセスできること。
  3. ポート443が開いていること。iptables 等を使っている人は 443 を開けてください。

手順

認証書取得用ソフト certbot を github から入手し、インストールして起動します。

Certbot用ディレクトリを作ります

場所はどこでもよいので

mkdir certbot
cd certbot
git clone https://github.com/certbot/certbot
Cloning into 'certbot'...
remote: Counting objects: 41606, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 41606 (delta 1), reused 0 (delta 0), pack-reused 41599
Receiving objects: 100% (41606/41606), 11.67 MiB | 2.85 MiB/s, done.
Resolving deltas: 100% (29658/29658), done.


certbot の起動

cd certbot
./certbot-auto

これで OS が自動的に識別され、必要なパッケージがネットワークからロードされ certbot が起動します。

この起動の仕方だと一気に apacheの設定までやってしまいます。証明書の取得のみなら

./certbot-auto certonly

でいけるそうです。今回は設定までやって貰いました。

Bootstrapping dependencies for RedHat-based OSes...
yum is /usr/bin/yum
Loaded plugins: fastestmirror, security
 :
 :

certbotの操作

centosの場合、certbot は下図のように GUI もどきの CUI 画面を表示しますが、私は TeraTerm を使用しましたが 大丈夫なようです。


サーバのホスト名の入力

お使いの apache の設定によるとは思いますが、最初にサーバのホスト名を聞いてきます。 恐らく 私の httpd.conf に ServerName がないからでしょう。ここにサーバのURLではなくホストのFQDNを入れ、 OKを押します。

Let s Encrypt000.png


e-mailアドレスの入力

次の画面では e-mail アドレスを入力します。特に今回メールのやり取りはなかったのですが、 何かに使うのでしょう。

Let s Encrypt001.png


同意

ここで、同意を求められますので、Agree を選びます。何の同意なのか・・・まだ PDF は読んでません(^^;

Let s Encrypt002.png


Virtualhostの設定を指示

これは Virtualhost をどこに作るか聞いているようです。ssl.conf は元々なかったのですが、ここで ssl.conf を選ぶと ssf.conf が新規作成されました。

Let s Encrypt003.png

SSLへのリダイレクトの有無

とりあえず、MediaWiki等は、まだ設定で SSL対応にできていないので、HTTP/HTTPS の双方でアクセス可能を選択。

MediaWikiの設定の中に http プロトコルを指定しているところが残っているため(^^;
処置が終われば apache の rewrite で プロトコルを強制書き換えする予定です。

Let s Encrypt004.png



無事終了

Let s Encrypt005.png

最後に、3か月後には切れるから更新よろしくと手順が表示されます。コマンド一発で更新出来るのですが、 めんどくさいです(^^;

cron で

certbot-auto renew

をスケジュール実行した方が良いかも。

Let s Encrypt006.png



念のため

service httpd restart

で apache を再起動。

https://www.ssllabs.com/ssltest/analyze.html?d=www.nakamuri.info

で試してみたら証明書は完璧だけど、いろいろボロクソに言われました(^^; いやタダで評価していただいて、ありがたい話です。

修正中です。

証明書の期限の確認方法

証明書更新後、期限がどうなったか気になりますが、certbot-auto renew では表示されません。 以下のコマンドで確認できます。

cd /etc/letsencrypt/live/サイトのホスト名(www.nakamuri.info など)
openssl x509 -in cert.pem -noout -dates

と打つと

notBefore=Feb 22 21:16:00 2017 GMT
notAfter=May 23 21:16:00 2017 GMT

というように表示されます。notBeforeは証明書の生成日、notAfterが期限です。