ぽれいんのブログ

エンジニアになるために覚えたことを日記に付けます。

通信の暗号化

はじめに

インフラエンジニア初学者のぽれいんと申します。

転職する前はプログラミングスクールにて主にHTML、CSSRubyMySQL等について学びました。

※このブログでは自分が後々、見返すことができるようにまとめることを目的としていますが、もし需要があるようでしたら是非ともご覧ください。

<前回の記事>

porain.hatenablog.com

<参考>

ApacheでSSL(TLS)を有効化する方法 - Qiita

httpsとは?httpとの違いとSSL暗号化通信の仕組み

 

通信の暗号化

今まではhttpプロトコルを使って通信を行っていました。この「http」通信は通常の平文で通信を行っているため、プライバシーも何もない通信となっています。http通信において個人情報を入力するのは流出につながるため絶対に行ってはいけません。そこでhttp通信を暗号化する「https」という通信を基本的にweb上では見かけると思います。「https」通信はSSL/TLSプロトコルを利用した暗号化通信が行われています。

使用環境

暗号化の手順

今回のブログではhttp通信をhttps化する手順を備忘録として残します。

 

 

rootユーザになる

sudo su -

SSLTLS)化を有効にするためのモジュールをインストール

yum install openssl
yum install mod_ssl

作業用フォルダに移動

cd /etc/pki/tls/certs/

秘密鍵の作成

openssl genrsa > server.key

...Generating RSA private key, 2048 bit long modulus....+++
と表示されれば成功

公開鍵の作成

openssl req -new -key server.key > server.csr

Country Name (2 letter code) [XX]: JP
国名を入力
State or Province Name (full name) []:Tokyo
都道府県名を入力
Locality Name (eg, city) [Default City]:Tama
↑市区町村名を入力
Organization Name (eg, company) [Default Company Ltd]:XXX
↑組織名(会社名)を入力
Organizational Unit Name (eg, section) []:Sales
↑部署名を入力
Common Name (eg, your name or your server's hostname) []:11.1.1.1
IPアドレスを入力
Email Address []:popopo@email.com
↑メールアドレスを入力
A challenge password []:
An optional company name []:
↑今回はオレオレ証明書なので何も入力せずEnter

サーバ証明書の作成

openssl x509 -req -signkey server.key < server.csr > server.crt

↑を実行して先ほど入力した情報が出てくればOK!

秘密鍵のコピー

cp -a server.key ../private/

ssl.confの修正

cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.org

vi /etc/httpd/conf.d/ssl.conf

-----------------------------------------------
1.サーバ名の変更

2.証明書のパス
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
           ↓↓
SSLCertificateFile /etc/pki/tls/certs/server.crt
3.秘密鍵のパス
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
↓↓
SSLCertificateKeyFile /etc/pki/tls/private/server.key

Apache再起動

systemctl restart httpd

以上の作業でhttpsプロトコルが使用できるようになっております。

 

<URL>

https://[パブリックDNS]

 

上記のURLでアクセスすると、接続がプライベートではありません。⚠セキュリティ保護なしという画面が出てくると思います。これは、証明書が自分で発行したオレオレ証明書だからです。しっかりとした機関が発行したものでしたら他のwebサイト同様にアクセスできます。証明書の発行機関は簡単に確認することができます。

URLの鍵マークをクリックし、証明書をクリックすることで

・発行先

・発行者

・有効期間 等

が確認できるので是非確認してみてください~~!!

 

以上