WAF(Webアプリケーションファイアウォール)とSSLの関係について知っていますか?
Webアプリケーションの脆弱性をついたサイバー攻撃への対策としてWAFがありますが、SSLについて理解していないと、正しいWAFの設置ができないということになりかねません。
今回はWAFとSSL、それぞれについての詳しい説明をします。そして正しいSSL証明書のインストールを行ってWAFを使ったセキュリティ対策を実現するために、WAFとSSLの関係についても合わせて解説していきます。
WAFの必要性とは?
WAFはWebアプリケーションの脆弱性をついた、サイバー攻撃からWebサイトを守る方法の一つです。サイバー攻撃の被害を受けると、Webサービスを利用する側、提供する側の双方が大きな被害を受ける可能性があります。
特に近年は、他のシステムとの連動などによって脆弱性が生まれ、サイバー攻撃を受けるケースも多く存在します。WAFによる防御が有効な攻撃に、WebアプリケーションのAPIの脆弱性を狙うパターンがあります。WAFはWebアプリケーションを防御できますので、サイバー攻撃の有効な対策になります。
以上のような背景から、サイバー攻撃からWebアプリケーションを防御するセキュリティ対策として、WAFの必要性は高まってきています。
SSLって何?
SSL(Secure Sockets Layer)とは、クライアント(ブラウザ)とWebサーバー間で送受信されるデータを暗号化する仕組みです。近年では、セキュリティの観点からTLS(Transport Layer Security)をSSLの代わりとして使用することが強く推奨されています。本記事ではSSLとして表記を統一します。SSLによって、以下のような3つの効果を得ることができます。
【SSLの効果】
- データの盗聴の防止
通信されるデータは、第三者から盗聴される可能性があります。その通信されるデータがユーザーのログイン情報や個人情報であったり、クレジットカード情報であったりする場合には、重大な問題になり得ます。
SSLは、第三者から読み取られないようにデータを暗号化します。暗号化のルールについては、データの送信前に送信者と受信者との間で決定されます。この暗号化されたデータを復号することができるのはデータ通信を行う二者だけであるので、暗号化のルールを知らない第三者に中身を盗聴されません。
- 改ざんの防止
通信されるデータは、途中の経路上で第三者から不正に書き換えられる可能性がありますが、
SSLは通信内容の改ざんによる被害も防ぐことができます。データを暗号化する際に改ざんを検知するためのデータを同時に送信しているためです。
ただし、SSLで防ぐことができるのは通信経路上でのデータ改ざんのみであるため、Webサイト自体の内容を改ざんされるような攻撃は防げません。
- なりすましの防止
なりすましとは、偽のWebサイトを作り、そのサイトにユーザーをアクセスさせてログイン情報等の重要な情報を入力させることです。
なりすましはSSL証明書によって防止できます。SSL証明書とは、アクセスしようとしているWebサイトが正規の持ち主によって作成されたサイトであることを証明するためのデータです。
SSLによって、このような3つの効果を得られるのです。
ブラウザとWebサーバー間の通信はHTTPという規格に則って行われます。SSLによって暗号化された通信はHTTPSと呼ばれます。HTTPだけでは通信データが暗号化されずに丸見えになってしまうため、個人情報やクレジットカード情報をHTTPで送信すると第三者に情報が盗まれる可能性があります。このためにSSLを使ってHTTPS通信を行うことで、重要なデータを守れるのです。
以前は個人情報やクレジットカード情報を扱うページのみをHTTPSで通信することも多かったのですが、現在では全てのページをHTTPSで通信する形が増えています。
以上のようにウェブサイトを運営する上でSSLは必須と言っても過言ではないでしょう。ただし、SSLが通信をより安全に行うための仕組みであることはわかりましたが、不正な通信でさえも暗号化してしまいます。
そしてWAFはブラウザとWebサーバー間の通信に対して第三者という立ち位置になるため、そのままではSSLによって暗号化された通信の中に不正アクセスがあったとしても気づくことができません。ではどうすればよいのでしょうか?
WAFとSSLの関係について
WAFとは、前述したようにWebアプリケーションを脆弱性から守るセキュリティ対策です。様々なサイバー攻撃からWebアプリケーションを守るセキュリティ対策としてWAFの必要性は高まってきています。
SSLは通信を暗号化してより安全なデータのやり取りを実現するということを解説しました。また、SSLによって暗号化されているのに、WAFが通信を検査することってできるの?という疑問もありました。せっかくWAFを導入していても、不正な通信でさえもSSLによって暗号化されているため、それをWAFで検出することができなくなってしまうのです。
実は、ほとんどのWAFには、SSL証明書をインストールする設定が設けられています。WAFにSSL証明書をインストールすることで、SSLによって暗号化されたデータを復号化してから通信内容を検査できるようになります。
自身がSSLの復号機能を持たないWAFの場合には、ロードバランサーや、SSLアクセラレーターのようにSSLの復号機能を持つ他の機器を配置します。あるいはサービスの背後に配置することでも、ブラウザとWebサーバーの間の通信を検査できます。
SSL証明書がないと…?
SSL証明書が存在しないと、WAFを導入していたとしても、不正な通信ごとSSLによって暗号化されているため、WAFで検知することができなくなってしまいます。
また、サイトを常時HTTPS化対応するには、SSL証明書の発行が必要になっています。現状ではサイト内の全ページのHTTPS化が一般的となっています。その中でSSL証明書がないと、Googleでは「保護されていません」とアドレスバーに表示され、サイトの信用度も下がってしまうでしょう。
まとめ
今回はWAFとSSLの関係性について解説しました。SSLはデータの盗聴、改ざん、なりすましを防ぐためにデータ通信を暗号化するプロトコルであり、HTTP通信を暗号化してHTTPS通信にします。
しかし、WAFはHTTP通信しか検査をできないために、WAF側で暗号化されたデータを復号する必要がありました。そのために必要なことがWAFにSSL証明書をインストールする作業でした。WAFとSSLの関係を正しく理解して正しくWAFを設置すれば、Webアプリケーションを守ることに繋がるでしょう。
当サイトでは、サイバー攻撃を防ぐためのWAFに興味がある方へ、参考になるダウンロード資料をご用意しております。「サイバー攻撃可視化ツールPrimeWAF 基本ガイドブック」は、WAF選定時に抑えるべき機能やポイントがわかる資料になっています。ぜひ資料をダウンロードください。