MuleのDLBのTLSクライアント認証の挙動を確認する
はじめに
MuleのDLBのTLSクライアント認証について、設定なし、任意、必須の設定を選べるためそれぞれに挙動を確認した。
検証ケース
下記のケースで挙動を確認する。
- DLBのTLSクライアント認証の設定なし
- DLBのTLSクライアント認証が任意、POSTMANで証明書の設定なし
- DLBのTLSクライアント認証が任意、認証が成功する
- DLBのTLSクライアント認証が任意、認証が失敗する
- DLBのTLSクライアント認証が必須、認証が成功する
- DLBのTLSクライアント認証が必須、認証が失敗する
検証方法
POSTMANからDLB経由でMuleアプリケーションにアクセスし、POSTMANとMuleアプリケーションのログを確認する。
検証結果
1.TLSクライアント認証の設定なし
DLBのTLSクライアント認証が設定されてない場合、DLBを経由するとリクエストのヘッダーに”x-ssl-client-verify=NONE”が設定される。

2.DLBのTLSクライアント認証が任意、POSTMANで証明書の設定なし
DLBのTLSクライアント認証を任意に設定した場合、POSTMANでTLSクライアント認証用証明書を設定しないと、DLBでリクエストのヘッダーに”x-ssl-client-verify=NONE”が設定される。

3.DLBのTLSクライアント認証が任意、認証が成功する
DLBのTLSクライアント認証を任意に設定した場合、POSTMANのTLSクライアント認証用証明書を正しいものに設定してリクエストを送信すると、DLBでリクエストのヘッダーに”x-ssl-client-verify=SUCCESS”が設定されてMuleアプリケーションにリクエストが到達する。

4.DLBのTLSクライアント認証が任意、認証が失敗する
DLBのTLSクライアント認証を任意に設定した場合、POSTMANのTLSクライアント認証用の証明書を正しくない証明書を設定しリクエストを送信すると、DLBで”x-ssl-client-verify=FAILED”が設定されてMuleアプリケーションにリクエストが到達する。

5.DLBのTLSクライアント認証が必須、認証が成功する
DLBのTLSクライアント認証を必須に設定した場合、POSTMANのTLSクライアント認証用の証明書を正しい証明書を設定しリクエストを送信すると、DLBで”x-ssl-client-verify=SUCCESS”が設定されてMuleアプリケーションにリクエストが到達する。

6.DLBのTLSクライアント認証が必須、認証が失敗する
DLBのTLSクライアント認証を必須に設定した場合、POSTMANのTLSクライアント認証用の証明書を設定せずにリクエストを送信すると、認証が失敗し下記のレスポンスがPOSTMANに返却され、アプリケーションにリクエストが到達しない。

DLBのTLSクライアント認証を必須に設定した場合、POSTMANのTLSクライアント認証用の証明書を正しくない証明書を設定しリクエストを送信すると、認証が失敗し下記のレスポンスがPOSTMANに返却され、アプリケーションにリクエストが到達しない。

さいごに
DLBのクライアント認証について挙動を確認した。






