ただのメモ※ssl.confはシステムでどういう位置づけにあるのかどういうことができるのか。

ssl.confと言ってもまず何かわからない。
でなにを聞いたらいいのかもわからない。
ssl.confって何ですか?、って聞いたらふざけていると思われるだろう。
ではどう聞けばいいのか。
題名通りそのまま聞けばいいのではないだろうか。
もう少し明確な用語を使用すべきだろう。
もしそれができれば、今ここで自分で調べなくてもその場で聞いて、わからないことを解消できる。作業にもすぐに入れて作業量も工数で言えて、業務パフォーマンスも上がると思われる。
今回はそれを今後できるように意識し、進めていきたい。

ssl.confとは何か?

ネットで検索トップに出てくるところを確認してみる。
SSL/TLS サーバー証明書 : Apache conf ファイルと証明書インストール | DigiCert

なんかの証明書らしい。
Apache Webサーバがいきなり当たり前のように出てくる。
ネットで調べるとき、前提の知識があることを前提というのが暗黙の了解のようである。これがネットで調べるときに調査に時間をかけてしまう要因になっていると思う。   

設定方法が書いてある。しかしながらその設定がいきなり出てきてわかりにくい。こういう説明の前に何かが必要である。
では何がわかればいいのか。
ssl.confで何ができるのか?、である。
改めて読んでみるとやはりそういう記載はない。

ssl.confで何ができるのか?。

調査してつまづくのは、ここである。
ズバリ書いてない。 「SSLサーバ証明書」というのがよく出る。
そしてssl.confが出てくる。
SSLサーバ証明書」ってわかるだろうか。
いまいちわかっていない。
これを調査する必要があるのではないだろうか。

SSLサーバ証明書」って何なのか?

この言葉で調査する限り、そういうのを説明していない。
これはどういうものという疑問を持つのではないのだろう。
想像できるのは、Apachを使用するのに、「SSLサーバ証明書」が必要である、という仮説である。もうそういうもんということである。
なぜかトップではなく、何番目かにある下記のサイトがあるので確認する。
SSLサーバ証明書とは? | 基礎から学ぶSSL入門ガイド | CSP SSL
これによると、
SSLサーバ証明書とは、SSL暗号通信時に利用する証明書。
サーバとクライアント(Webブラウザ等)がSSL通信を開始するときにSSLサーバ証明書を利用する。
それにしても毎回こんな通信をしていたのだろうか。
恐らくhttpsの時なんだろうが、そのような記載はない。
SSLサーバは認証局が発行するらしいが、具体的にどこなんだろうか。正体が見えない。
まあそれは置いておいて、2種類あるらしい。
信頼された認証局が発行するSSLサーバ証明書
信頼されていない認証局が発行するSSLサーバ証明書

ここでわかったことは、

認証局の信頼度

というのがあるということである。
SSLサーバ証明書で発行される認証局で、
信頼された認証局は、SSL通信を要求するクライアントに、信頼できる認証局としてあらかじめ登録されているらしい。

SSL通信を要求するクライアントってどういうアクションをして可能になるのだろうか。
→仮説であるが、多分httpsでアクセスするユーザのことだと思われる。なぜこういう説明をせず当たり前のようにいきなり記載するのか理解できない。

クライアントが信頼の有無を判定する方法として、ブラウザでは、アクセス先のサーバで信頼されていない認証局から発行されたSSLサーバ証明書を使用していると下記の画面が出るらしい。

f:id:kenji148:20181123164639p:plain
認証されていないSSLサーバ証明書

オレオレ証明書とよく聞くが、認証局から発行されていないSSLサーバ証明書のことだと思われる。

改めてここをみるとSSLサーバ証明書のことがわかる。

CSRとは? | SSL入門ガイド | CSP SSL

そもそもであるがSSLサーバ証明書はどうやって発行するのだろうか?

SSLサーバ証明書の発行の仕方

先ほどのところにある感じである。
要は認証局が発行するのである。
逆に認証局を通さないSSLサーバ証明書の発行の仕方がわからない。

SSLサーバ証明書関連事項

本題に戻る前に、関連事項を記載する。
実際に理解して使用する場合は別途機会が必要。

CSR:SSLサーバ証明書発行に必要なテキストデータ
コモンネーム: 略(電子証明書に記載された所有者情報のひとつ) FQDN:サーバに設定されているもの
SSLの仕組み
SSLサーバ証明書認証レベル
共通鍵暗号公開鍵暗号
CAA:SSLサーバ証明書が発行可能な認証局を制御する仕組み

そもそも本題に戻る。

ssl.confについて

最初に確認したところに戻ると、要は、
Apacheサーバで証明書(多分SSLサーバ証明書のこと)を使用するときに、サーバに証明書をインストールするが、それを利用するために、色々設定しないといけない。そのファイルがhttpd.confであったり、ssl.confであったりするということである。

これでssl.confのことがわかった。わからないと不明な質問になってしまう。では少しだけであるが、ssl.confについての設定を見てみたい。

ssl.confの設定

少しだけであるがssl.confの設定について見ていきたい。
具体的な設定場所はどこか。
httpd.confに記載しても良いが、 ssl.confに記載。その場合、

Include conf/ssl.conf

の記載をhttpd.confにする。

もっと中に入り理解するためには、httpプロトコルの理解が必要な気がする。
ざっくり見たが読むだけではわからないが、ssl.conf、キャッシュもhttpで繋がってきた。