近年、Webサイトを対象にしたサイバー攻撃の増加により多くの運営者がその危険性を認識していることから、Webサイトのセキュリティを強化するWAF市場が拡大しています。
しかし、はじめてWAFに触れる方にとっては、ファイアウォールとの違いであったり、SSLで暗号化された通信をどのように検査するのだろう?などの疑問があるのではないでしょうか。本稿では、WAFの概要を説明するとともに、WAFによるSSL通信の検査について解説します。
SSLとは
まず最初に身近なSSLについておさらいしましょう。
SSLは、Secure Sockets Layerの略称で、クライアント(Webブラウザ)とWebサーバー間で送受信するデータを暗号化するプロトコルです。インターネット上でやり取りする通信データを暗号化して盗聴を防ぐだけでなく、デジタル証明書の技術を組み合わせて実現されており、改ざんやなりすましを防ぐことができます。SSLをもとにTLS(Transport Layer Security)が開発された経緯があり、TLSを含めてSSLと呼んだり、SSL/TLSのように併記されることが多くなっています。現在、TLS 1.3が最新バージョンとなっており、TLS 1.2以降が推奨されています。
WebブラウザとWebサーバー間の通信は、HTTP(Hypertext Transfer Protocol)でやり取りされますが、HTTPでは通信するデータが暗号化されないため、インターネット上にログイン情報や個人情報、決済に必要なクレジットカード情報などをHTTPのまま送信してしまうと悪意ある第三者に盗聴される恐れがあります。そのため、SSLを活用してHTTPS通信でデータを保護する必要があるのです。
常時SSL
以前は、個人情報を取り扱う問い合わせフォームや会員ページ、クレジットカードを入力する必要のある決済ページなど、特定のページだけをHTTPSで通信することが多かったのですが、現在は全てのページをHTTPSで通信する常時SSL(Always On SSL)が普及しています。
WAFとは
WAFとは、「Web Application Firewall」の略で、Webアプリケーションを守ることに特化したセキュリティ対策・製品のことを指します。クライアントとWebサーバーでやり取りされるHTTP/HTTPS通信を検査し、攻撃であると判断した場合には、接続を遮断することでWebサイトを保護します。
WAFと同じく、システムやネットワークのセキュリティを強化する対策に「ファイアウォール」がありますが、WAFとファイアウォールが担う役割は異なります。ファイアウォールは、インターネットと内部ネットワークの間に防御壁を設け、通信先や通信方向を制御することで不正アクセスを阻止します。一方WAFは、HTTPプロトコルでやり取りされる要求・応答を検査することで、Webサイトの改ざんや情報漏洩等を防ぐ役割を果たします。
WAFによるSSL通信の検査
これまでの解説により、SSLは通信を暗号化しHTTPSにするということが分かりました。そうなると、暗号化されているのにWAFが通信の内容を検査できるのか?と思いますよね。SSL通信によって、不正な通信であったとしてもHTTPSでやり取りされることになりますので、それをWAFが検査できないとセキュリティ対策・製品としては役に立ちません。
そのため、WAFにはSSL証明書をインストールする設定が用意されていることが多くなっています。WAFにSSL証明書をインストールすることで、復号してから通信内容、つまりデータを検査するのです。アプライアンス型のWAFやクラウド型のWAFの場合、この方式が一般的です。
SSL機能がないWAFの場合は、SSL機能を持つロードバランサやApache、Nginxなどのリバースプロキシを活用し、これらの機器とWebサーバーの間にWAFを配置することで検査が可能になります。SSL機能を持った機器と連携し、後ろに設置することで復号した通信を検査します。
ホスト型WAFの場合、SSL通信の検査に特別な考慮は不要
Webサーバーのモジュールとして動作するホスト型のWAFの場合、SSLの処理はApacheやNginx、IISといったWebサーバーが行ってくれるため、HTTP/HTTPSを意識せず、WAFによる検査が可能です。
多数のSSL証明書を利用していて証明書の管理が複雑になってしまう場合や、セキュリティ要件によって外部環境へ情報を出せないような場合は、ホスト型WAFの導入が有効であり、選択肢の一つとなります。
まとめ
いかがでしょうか。WAFとSSLの関係や考慮すべき点が見えてきたのではないでしょうか。常時SSLと言われる昨今、暗号化による安全な通信は必須となっています。しかし、攻撃の防御という点では、システムの設計として検査できることも同じように必須要件となります。WAFによる検査だけでなく、常時SSL時代のセキュリティの考え方として、理解するようにしましょう。
関連記事:常時SSL時代のセキュリティ
- カテゴリ:
- WAF