VPSに無料SSLのLet's Encryptを導入
2019/01/31
SSLといえば有料という認識だったが、無料のものも出てきているという話を聞いた。調べてみるとLet's Encryptというサービスで無料のSSL/TLSサーバ証明書を発行してくれるらしい。導入してみたので以下にメモ。また、SSL自体ちゃんと理解していなかったのでそのあたりも調べた。
2019/01/24追記
CentOS6.10での導入方法は以下の通り。
SSL/TLSとは?
インターネット上で情報を暗号化して送受信する仕組みのこと。httpsで接続する。
また一般的にhttpのポートは80番だけど、httpsは443になるとのこと。
SSL/TLSサーバ証明書とは?
サイトの所有者情報、暗号化に必要な鍵、発行者の署名データを持った電子証明書。証明書を導入することでSSL/TLS通信ができるようになる。
導入環境
DTIのVPSでメモリ1GBプラン
Apache 2.2.15
CentOS 6.8
ドメインはDot tkで取得した無料ドメイン(仮でssl.tkとする)
事前準備
サーバにSSH接続しroot権限を持つ。
ファイアウォールで80番及び443番ポートを開いておく。
vi /etc/sysconfig/iptables
Webサーバを停止しておく。
service httpd stop
導入
#gitのインストール yum install git #tmpディレクトリに移動 cd /tmp #certbotをダウンロード git clone https://github.com/certbot/certbot #certbotディレクトリに移動 cd certbot #certbotクライアントの実行。必要なソフト等があればインストールされる ./certbot-auto
テスト環境ではTUI画面になり、ドメインの確認、メアド入力、規約に同意する画面となった。ある程度直感的にわかる画面になっていたのでそのまま進んだところ、「
Congratulations! Your certificate and chain have been saved at~~
」と成功っぽい表示がされた。
また、「/etc/letsencrypt/archive/ドメイン名/」のディレクトリに各種証明書が保存されるらしく、チェックしたところ正常に保存されていた。
service httpd start
でWebサーバを開始し、ブラウザからhttps://ssl.tkでページを開こうとすると、以下の通り正常に接続が行えなかった。IE / Firefox / Chrome全て試したがどれもダメだった。
バーチャルホスト設定
調べたところバーチャルホスト設定がいるっぽい。
#apacheの設定ファイルを開く vi /etc/httpd/conf/httpd.conf #以下を追記する NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin ドメイン名 DocumentRoot ドキュメントルート ServerName ドメイン名 SSLEngine on SSLCertificateFile /etc/letsencrypt/archive/ドメイン名/cert1.pem SSLCertificateKeyFile /etc/letsencrypt/archive/ドメイン名/privkey1.pem SSLCertificateChainFile /etc/letsencrypt/archive/ドメイン名/chain1.pem ErrorLog logs/error_log CustomLog logs/access_log common </VirtualHost> #設定後はWebサーバ再起動 service httpd restart
設定を変更しサーバの再起動をかけた上で再度ブラウザからチェックすると正常に表示された。
注意点
証明書の有効期限は90日間となる。一般的なものは○年単位という認識だったが、Let's Encryptの証明書は短めなので注意する。
一応「certbot-auto renew」で自動更新されるらしいが、バーチャルホスト設定側がどうなるのか不明。このあたりは3ヵ月後にでもチェックしたいところ。
参考サイト
関連記事
-
-
glibcライブラリの脆弱性とアップデート方法
レンタルしているサーバのアナウンスで「glibcライブラリの脆弱性」云々というの ...
-
-
さくらVPSでLAMP環境とphpMyAdminとFTP接続環境を整える
さくらVPSでLAMP環境とphpMyAdminとFTP接続環境を整える ■環境 ...
-
-
VPSにメールサーバを導入する方法
VPSにメールサーバを導入したかった。具体的にはThunderbirdでメールの ...
-
-
DTIからKAGOYAのVPSに引っ越した
DTIのServersMan@VPSからKAGOYAのVPS(KVM)へ引越し作 ...
-
-
WordPressのWP-Mail-SMTPプラグインが動かない
PHPのバージョンを下げてからWordPressで外部メールサーバが使えるWP- ...
-
-
海外IPの制限
海外IPの制限を行ったので手順のメモ。 まず「サーバー立てたらすぐ攻撃が来る」と ...
-
-
PHP5.4系でAPCが上手く動かなかったので5.5にアップデート&Zend OPcache導入
PHP5.3系から5.4系にアップデートしてから、WordPressがちょっと重 ...
-
-
apacheで特定期間(日時)のログを抽出する
apacheのaccess_logとerror_logで特定日時内のログのみを確 ...
-
-
中国のIPアドレスをiptablesで拒否、遮断する
レンタルしているVPSの一つが最近よく落ちる。原因はどうも海外、特に中国から不正 ...
-
-
ムームーDNSでエックスサーバを使う
ムームードメインでドメインを取得し、エックスサーバで使う場合にエックスサーバ側の ...
- PREV
- IEでjavascript関数の初期値
- NEXT
- iPhoneでSSH接続するアプリ