SSL証明書を設定する

SSL証明書とは

SSLとは、Secure Sockets Layerの略称で、インターネット上のWebブラウザとWebサーバ間の通信を暗号化するプロトコルのことである。

インターネット上でやり取りされるパスワードや氏名・住所などの機密情報が第三者から盗聴されるのを防ぐためのものである。

『HTTPS』とは「HyperText Transfer Protocol Secure」の略称で、インターネット上のHTTP (HyperText Transfer Protocol)通信が、SSLによって暗号化されたプロトコルのこと。 このような安全なURLの先頭は『https://』となり、ブラウザに『鍵マーク』が表示される。

SSLの利用に際しては、認証局(CA)が発行したSSL証明書が必要である。

SSL証明書はドメインの持ち主であることの証明になり、署名さえ盗まれなければなりすましサイトへの対策になる。

SSL証明書を発行する

ここでは、SSL証明書の発行のため、非営利団体が行うLet’s encryptを利用する。 発行にあたっては、certbotというクライアントソフトを利用する。

Amazon Linuxで発行することを考える。 Amazon Linuxはcertbotに未対応であるため、まずはwgetでソースを落とし、直接インストールする。

$ wget https://dl.eff.org/certbot-auto 
$ chmod a+x certbot-auto
$ ./certbot-auto

この後、yesを選択して、完了しました!と表示されればOK。

いよいよ証明書を取得する。

./certbot-auto certonly --webroot -w [ドキュメントルート] -d [ドメイン]

証明書の発行を確認する。

以下のようになっていれば、OK。

$ cd /etc/letsencrypt/live/[ドメイン名]/
$ ls
cert.pem  chain.pem  fullchain.pem  privkey.pem  README

Apacheにmod_SSLをインストールするのを忘れないように注意。

$ yum install -y mod24_ssl

以上で、証明書の取得が完了した。

ポートとは

ポートとは、サーバが外部と通信する際に用いられる、情報の受け渡し先振り分け地点のようなものである。

番号によっては、既に決まっているものもあり、これらはウェルノウンポートと呼ばれる。

上で取得したSSL証明書を利用してHTTPS通信をするためには、Webサーバのconfigにhttpsのポート番号である443ポートの待受を追加し、証明書とファイルパスを指定すれば、httpsにアクセスできるはず。