LoginSignup
1
2

認証局を作って遊んでみよう。その①:検証環境を用意しよう

Last updated at Posted at 2023-06-03

認証局を作って遊んでみる

とあるOSSのWebシステムは複数のAPIサーバがお話しながら機能を提供する。この時、httpは認められずhttpsだけがサポートされるという状態であった。 オレオレ証明書を用いてやればいい。OpenSSLがあれば可能さ。。そう思っていた時期が僕にもありました 実際にはうまくいかずはまる結果に・・・

そこで、ありものパッケージを使って、自己認証局を作ったほうがうまくいくのでは? と考え実行した結果、難なく実現できたのでその手順と得た知識をまとめようと思います。

記事構成

こんな記事構成で進めてい効く予定です。お楽しみに

No. 記事 概要
1. その①:検証環境を用意しよう NGINXを用意してHTTPS待ち受けを開始するまで
2. その②:HTTPS(HTTP over SSL/TSL)の概要とCAの役割 HTTPSってなんだっけ?のおさらいとCAの役割
3. その③:CAを作ってみよう Easy-rsaを使った認証局の構築(=設定)
4. その④:Webサーバに証明書を導入してみkよう。 3の認証局で作ったサーバ証明書を用いてHTTPS通信をしてみる。

環境準備

論理構成

今回「認証局=(CA)」が発行する証明書を使ってHTTPSをやってみようというテーマなので、次の図に示すような登場人物が出てきます。

CA構成.png

Blowser

HTTPサーバと通信をして何らかの情報をやり取りする。例えば、決済データなどなど

HTTP Server

Blowserと通信をして何らかの情報をやり取りする。また、クライアントからの情報を元に何らかの処理をする。(今回は、「通信」にフォーカスしています)

認証局

通信相手の身元を保証する。「通信レベル」ってのが大事

今回の物理構成

本来、前述の構成にして一つ一つ別の仮想サーバにするのが理想なんでしょうが、リソースの無駄なので認証局とHTTPサーバを同一の仮想マシンに実装します。

物理構成.png

導入ソフト一覧

No. 実装箇所 導入ソフト 概要
1. WSL Ubuntu 22.04 WSL上で動作するLinuxディストリビューション
2. WSL NGINX Webサーバ
3. WSL easy-rsa CAユーティリティ

1. OS

この記事を参照して導入する

2. Nginx

1.aptのリポジトリ情報を最新化する

sudo apt-get update

2.nginxを導入する

sudo apt-get install -y nginx

3.疎通確認する

curl http://localhost/

<コマンド実行結果>
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

3.easy-rsa

1.aptのリポジトリ情報を最新化する
(すでにnginx導入時にやっていれば不要)

sudo apt-get update

2.easy-rsaを導入する

sudo apt-get install -y easy-rsa

以上で必要ソフトウェアの導入が終了しました

疎通確認

すでにnginxは起動していますので(インストール時にサービスとして起動している)ホストOS(Windows)でブラウザを立ち上げて、接続してみましょう

まずはubuntuで以下のコマンドでIPアドレスを確認します。

ip address show

出力される画面から192で始まるIPアドレスを確認します。

アドレス確認.JPG

このアドレスをそのままブラウザのアドレス欄に入力しますhttp://192.168.55.42(この場合)

ブラウザ確認.JPG

ここまでで、各種ソフトウェアの追加作業は終了です。

次回はまずTSL/SSLの概要の説明をしたいと思います。

次の記事>>

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2