search
LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

[OCI] WAFにSSL証明書を追加して通信経路をHTTPSで暗号化する

OCI ロードバランサに無償のSSL証明書を追加しHTTPS通信ができたので、続いてWAFにもSSL証明書を追加して、ブラウザからオリジンとなるロードバランサまでの経路全体でのHTTPS通信の暗号化ができるか試してみます。

[OCI] ロードバランサにSSL証明書を設定しHTTPS通信を試してみた

お試し環境

構成は以下のイメージです。ロードバランサは既に構成済みなので今回はWAFの設定をメインにおこないます。

image-20201221153259939.png

前提

WAF の設定

1. WAFポリシー作成

はじめにWAFポリシーを作成し、WAFのエンドポイント(CNAMEレコード)を取得します。左上のナビゲーションメニューから[セキュリティ] - [Webアプリケーション・ファイアウォール] からWAFポリシーの作成をおこないます。
image-20201224165656473.png

[名前] 任意の名前を入力
ドメイン
[プライマリ・ドメイン] ブラウザから呼び出すドメインを指定 (例) lb.cocotaro.com)
WAFオリジン
[URI] オリジン(ロードバランサ)のグローバルIPアドレスを指定(例) 168.138.XXX.XXX)

WAFポリシーの作成 をクリックすると、WAFのCNAME(WAF呼出しのエンドポイント)が表示されるのでコピーしておきます。

2. WAFエンドポイントの登録

続いて、ナビゲーションメニューから[ネットワーキング] - [DNS管理] - [ゾーン]を遷移し、既存のDNSゾーンを選択。左のリソースからレコードをクリックしレコードの追加をおこないます。

image-20201224165849331.png

[レコード型] CNAME を選択
[名前] ブラウザからの呼出しのドメイン(例) lb.cocotaro.com)を指定
[TARGET(ターゲット)] WAFポリシー作成時のCNAME(WAFのエンドポイント)を指定

image-20201224170228727.png
CNAMEレコードが追加されました。

しばらくして、nslookup を実行しCNAMEレコードが機能しているかを確認できました。これによりブラウザからのリクエストはWAFエンドポイントに転送されます。

image-20201224170732735.png

3. Webアプリの動作確認

ブラウザからリクエストして、WAF → ロードバランサ → Webアプリ までが動作しているかを確認します。

image-20201224170948276.png
Webアプリからは正常にサーバー名が返されましたが、この時点では通常のHTTP通信のため、ブラウザとWAFの間は暗号化はされていません。ブラウザにはセキュアな接続でない旨の表示がされています。

image-20201224171131950.png

4. WAFにSSL証明書を追加

続いて、WAFにSSL証明書を追加して、ブラウザとWAFの間の暗号化を図ります。再び、ナビゲーションメニューから[セキュリティ] - [Webアプリケーション・ファイアウォール] をクリック、構成済みのWAFポリシーを選択。

左のWAFポリシーから設定 をクリックし、設定画面が表示されたら編集 をクリックするとHTTPSサポートの編集画面が表示されます。

image-20201224171319026.png
HTTPSサポート設定でSSL証明書を追加して、HTTPSを有効化します。

image-20201224171439286.png
[HTTPSサポートの有効化] チェックして有効化
証明書と秘密キーのアップロードまたは貼り付け を選択し、
証明書ファイル (cert.pem)秘密キー(privkey.pem) をそれぞれアップロードします。

変更の保存HTTPSサポート有効が保存されました。
image-20201224171816225.png
続いて、変更の公開をおこないます。
image-20201225064358886.png

グローバルで約20拠点程に配備されている OCI WAFの拠点(Edge PoP(Points of Presence))に変更が反映されるまでに約30分前後要します。コーヒーブレークして変更が反映されるのを気長に待ちましょう。
image-20201224172034234.png

動作確認

SSL証明書を追加して変更の公開が完了したので、HTTPS通信が有効になっているかを確認します。

ブラウザからでリクエスト(例)https://lb.cocotaro.com) すると、鍵マークが表示されるようになりました。ブラウザは Google Chrome を使用。鍵マークをクリックするとSSL証明書が有効化されており、HTTPS通信が機能し暗号化によりセキュアな通信が行われることが確認できました。
image-20201224172434661.png

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
What you can do with signing up
0