ECSとWAFへのSSL証明書の適用方法 後編 ~WAF(クラウドネイティブモード)編~

2024年10月18日掲載

img-techblog-kv-alibabacloud.jpg

ソフトバンクの四役です。

前回、Alibaba Cloudを使用した「ECSとWAFへのSSL証明書の適用方法~ECS編~」と題して、記事を執筆しました。

本記事はその続きで、構築したWebアプリケーションの前段に、セキュリティ対策を目的とした、クラウドネイティブモードのWAFを配置し、WAFにSSL証明書を適用してHTTPS通信を行う方法を紹介します。

 

目次

前提条件と手順の概要説明

まずは、実際に手順を進めるにあたっての前提条件と本記事で紹介する手順について、ここで簡単に補足説明をしていきます。

前提条件:

本記事は前回執筆した「ECSとWAFへのSSL証明書の適用方法~ECS編~」の続きとなります。

前提条件は「ECSとWAFへのSSL証明書の適用方法~ECS編~」と同様となります。また、本記事で実施する手順は前回の記事の続きから実施しています。

「SSL証明書をWAFに適用」の補足:

本手順で構築する環境は以下の通りです。

img-alibabacloud-certificate-ssl-blog-20241017-01

Webアプリケーションの前段にWAFを配置するため、WAFのコンソール画面から各種設定を行っていきます。

WAFを導入する際、WAFとプロダクトの接続方法は、CNAMEレコード モードとクラウドネイティブ モードが存在します。CNAMEレコードモードはWAFを導入する際に、DNSの設定変更が必要ですが、クラウドネイティブモードはDNSの設定変更をせずにWAFを導入できるなどのメリットがあります。

今回の構成のように、WAFとECSを接続する場合は、クラウドネイティブモードを利用した接続が推奨されており、本記事はクラウドネイティブモードを利用した方法で進めていきます。

<参考情報>

接続するプロダクト毎の推奨される接続方法は、ドキュメントをご参考ください。

Overview -> Comparison

WAFへSSL証明書を適用する方法について、前回の記事ではCertificate Management Serviceのコンソールから操作をしましたが、WAFの場合、コンソール画面からSSL証明書をWAFにデプロイする設定を行うことも可能なので、今回はそちらの方法を紹介します。

最後に、本記事で紹介する手順は、Alibaba Cloudのドキュメント上でも説明がありますので、参考にしてください。

SSL証明書をWAFに適用

それでは、具体的な手順を紹介していきます。

まず、WAFのクラウドネイティブモードを利用して、WAFを配置していきましょう。

WAFのコンソール画面に移動して、リージョンを「Outside Chinese Mainland」に選択して、左側のメニュー一覧から「Website Configuration」を押下した後、「Cloud Native」を押下すると、クラウドネイティブモードが利用可能なプロダクトの種類が表示されます。プロダクトの一覧から「ECS」を選択して、「Add」を押下します。

img-alibabacloud-certificate-ssl-blog-20241017-02

この手順を行う際に、初回の操作の場合はWAFがECSにアクセスすることを許可するか否かの画面が表示される可能性があります。同意すると、Alibaba Cloudにより’AliyunServiceRoleForWAF’というロールが自動で作成され、以降WAFはこのロールを使用してECSにアクセスをするようになります。作成されたロールはRAMのコンソール画面から確認することが可能です。

次にWAFで保護するECS、およびポートを設定していきます。

ECSの一覧からWAFで保護するECSを見つけ、「Add Port」を押下します。もし、ECSが見つからない場合は、「Synchronize Instances」を押下して、インスタンスのリストを更新します。

img-alibabacloud-certificate-ssl-blog-20241017-03

次に、’Add Port’画面で以下の通り設定を行います。

  • Port:443
  • Protocol Type:HTTPS
  • Default Certificate:<「Select Existing Certificate」を押下し、WAFに適用したいSSL証明書を選択>
img-alibabacloud-certificate-ssl-blog-20241017-04

本設定について補足説明します。プロトコルタイプで「HTTPS」を選択すると、HTTPS通信で使用するSSL証明書を設定する欄が表示されます。Certificate Management Serviceで管理しているSSL証明書であれば、「既存ファイルを選択」から、SSL証明書を選択することが可能です。

前回の記事で実施した手順の中で、Certificate Management Service上でSSL証明書を管理するようにしているため、アップロードしたLetsEncriptionのSSL証明書を選択しています。

ポートの設定が完了したら、「OK」を押下します。

 

次に、「Advanced Settings」を押下して、「Enable Traffic Mark」にチェックを入れておきます。

img-alibabacloud-certificate-ssl-blog-20241017-05

‘Enable Traffic Mark’は、今回、Webアプリケーションに到達したリクエストがWAFを通過したリクエストか否かを識別する用途で設定しました。

‘Custom Header’を設定すると、WAFを通過したリクエストに任意のヘッダーを追加することができます。このヘッダーの有無でWAFを通過したリクエストか否かの識別が可能です。

設定が完了したら、「OK」を押下します。
ここまでで、WAFの設定は以上となります。

設定が正常に完了すれば、以下の画像の通り設定したECSとポートが一覧に表示されます。

img-alibabacloud-certificate-ssl-blog-20241017-06

 

 

最後に、PCからのリクエストがWAFを経由していることを確認するため、Webアプリケーションに到達したリクエストのヘッダーをログに出力する設定を行っておきます。

WAFの’Enable Traffic Mark’で設定したヘッダーをログに書き出すように’/etc/httpd/conf.d/ssl.conf’の設定ファイルに以下の設定を記載しました。‘%{[CustomLogに出力したいヘッダー名]}i’とすることで、カスタムログに任意のヘッダーの値を出力することが可能です。

[/etc/httpd/conf.d/ssl.conf]
・・・
#CustomLog logs/ssl_request_log \
#          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
CustomLog logs/ssl_request_log \
           "%t %h %{SSL_PROTOCOL}x %{wafin}i \"%r\" %b"

・・・

それでは、PCのブラウザ上で’https://<DNSサーバに登録したドメイン>’にアクセスしてみます。

img-alibabacloud-certificate-ssl-blog-20241017-07

https通信は出来ていますね!

続いて、本当にWAFを経由しているのか、ログを確認してみます。

以下が’ssl.conf’に設定したログファイルのサンプルとなります。WAFの’Enable Traffic Mark’で設定したヘッダーの値である‘wafpass’が出力されていますね。

img-alibabacloud-certificate-ssl-blog-20241017-08

リクエストがWAFを経由していることが確認できました。

また、本記事ではクラウドネイティブモードを利用したWAFの設定をしたので、DNSの設定作業はしていません。念のため、Webアプリケーションのドメインに対して名前解決を行い、返却されるIPアドレスを確認してみます。

PCから直接ネームサーバを指定して名前解決を行ったところ以下の画像の通り、ECSのIPアドレスを返却しました。

img-alibabacloud-certificate-ssl-blog-20241017-09

クラウドネイティブモードでの接続は、DNSの設定を行わないので、少ない設定手順でWAFを追加できます。これはお手軽ですね!

さいごに

本記事では、SSL証明書を作成し、Alibaba CloudのCertificate Management Serviceを利用して、WAFのクラウドネイティブモードでSSL証明書を適用する方法を紹介しました。

前回執筆した記事も併せて、ECSとWAFを例に説明しましたが、Certificate Management ServiceはECSとWAFの他にもLBやOSSなど他のサービスへもSSL証明書を適用することが可能です。

本記事がAlibaba CloudでSSL証明書を導入されようとしている方の一助になれば幸いです!

関連サービス

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

関連記事

おすすめの記事

条件に該当するページがございません