昨今、Webアプリのセキュリティ対策において注目されているのがWAF(Web Application Firewall)です。
WAFは、Webアプリにセキュリティ対策に特化したファイアウォールです。Webアプリに限らず、人間が開発するアプリケーションには脆弱性がつきものです。人手を介す以上、完全なアプリやシステムは存在せず、結果としてセキュリティ上の穴となる脆弱性につながることがあります。WAFは、脆弱性を修正することはできませんが、サーバー攻撃を防ぐ手段として、またセーフティネットとして大きな役割を果たします。
本稿では、脆弱性に対する考え方と、WAF導入の効果についてご紹介します。
Webアプリの脆弱性の問題
脆弱性とは、セキュリティ上の不具合のことです。攻撃者がそれに気付いて悪用すると、情報漏えいや改ざん、ウイルス拡散への悪用など、さまざまな被害が発生します。そのため、被害を未然に防ぐための防御手段が必要となるのです。
開発者は脆弱性がないよう、セキュアコーディングにより安心・安全且つ正常に動作するアプリケーションを開発します。しかしながら、納期優先による焦りからミスが生じたり、開発者毎のスキルの問題、うっかりミスなどの要因により、脆弱性が生じる可能性がります。このような状況が放置されていると、攻撃者によって悪意のあるコードを入力されてしまい、前述のような不正な処理が実行されてしまう危険性が非常に高くなります。
脆弱性の有無を把握し、問題に対処していかないと、個人情報の漏えいや改ざんにつながるということを肝に銘じておきましょう。
Webアプリのセキュリティ対策
Webアプリのセキュリティ対策としては、以下の8つのポイントを押さえているかチェックしてみましょう。これらが守られていることによってセキュリティの堅牢さの指標となります。
1. 公開すべきでないファイルを公開していないこと
本来、公開されるべきファイルが公開されている(誰でもアクセスできるようになっている)と、重要な情報が外部に漏れてしまる恐れがあります。
ユーザーによるアクセスを想定している(公開する)ファイルと、非公開にするべきファイルを区別し、適切な認証やアクセス制限を行うようにしましょう。
2. 不要になったページやWebサイトを公開したままにしないこと
不要になったページが公開されたまま、管理されずに放置されていると、攻撃の踏み台として悪用される恐れがあります。
特にテスト用に構築したサイトなどが放置されるケースがあり、認証やアクセス制御が適切に行われていないことがありあす。不要となったサイトやページは速やかに非公開、または停止するようにしましょう。
3. 脆弱性への対策を実施していること
ソフトウェアには脆弱性がつきものです。すでに脆弱性が指摘されているソフトウェアを使っているのであれば、問題が修正された最新バージョンのソフトをインストールするか、パッチの適用を検討するようにしましょう。
ソフトウェアのバグがなくらないのと同様、Webアプリについても脆弱性ゼロは困難であると言われています。定期的な脆弱性診断を行うなど、現状を把握することに努め、必要に応じて是正することが大切です。
4. ソフトウェアの脆弱性対策を定期的に実施していること
ソフトウェアは定期的に更新され、機能強化だけでなく、不具合や脆弱性対策が行われます。定期的な更新を行っているかどうか確認しましょう。
5. 不要なエラーメッセージを返さないこと
不要なエラーメッセージを返してしまうと、そのエラーをもとに攻撃者が攻撃の手がかりにするかもしれません。
情報をオープンにすればするほど、攻撃者に対して有益な情報となる可能性があります。各種メッセージの表示についても注意するようにしましょう。
6. Webアプリのログを保管し、定期的に確認すること
ログには各事象を示す重要な情報が記録されています。Webアプリの動作に関する問題のほか、外部からの攻撃があった場合についてもログを分析することで、正しい判断と対策が可能となります。
必要なログの取得と保存期間を明確にし、証跡を残すようにしましょう。
7. インターネットを介して送受信する通信内容を暗号化すること
インターネット上の情報は傍受される可能性があります。暗号化することによって傍受されたとしても通信の内容を保護することができます。
具体的には、SSLによる暗号化が必要であり、現在はWebサイト上のすべてのページをSSLで暗号化する常時SSLが普及しています。
8. 不正ログイン対策を実施すること
Webサイトで提供しているサービスに不正ログインされてしまうと、攻撃者による不正な商品購入や改ざん、踏み台への悪用など、攻撃者の思うままに操られてしまう恐れがあります。
二要素認証を活用するなど、不正ログイン対策を実施するようにしましょう。
WAFによる対策とメリット
WAFは、SQLインジェクションやクロスサイトスクリプティング(XSS)など、Webアプリの脆弱性を悪用する攻撃からWebサイトを保護する製品です。
WAFを導入するメリットは主に以下の3つがあります。
WAFを導入することで、運用上の理由によりアプリケーションの修正が困難な場合や保険的対策のほか、万一のセキュリティ事故からの早期復旧に役立てることができます。ここでは、WAF導入の3つのメリットについて説明します。
脆弱性を修正できない
脆弱性の存在を把握しながらも運用上の理由からアプリケーションを修正できない場合があります。このケースは、メンテナンス計画の都合や修正に想像以上の工数を要するといった場合だけでなく、Apache Struts 2のようなフレームワークやWordPressなどのCMSを利用している場合も該当します。利用しているフレームワークやソフトウェアに脆弱性が発見された場合、開発元や提供元から修正バージョン、パッチなどに関する情報を入手して適用するなど、迅速かつ適切な対応が求められます。しかしながら、稼働中のウェブサイトに対する影響を考慮する必要があり、思うように作業が進まないことがあるのが実情です。
脆弱性の修正やパッチの適用を計画しながら、WAFを併用することで現実的かつ効果的な対策が可能となります。
保険的対策
情報漏えい等の事故が起きてしまうと、直接的・間接的に莫大なコストが生じてしまいます。Webアプリの開発は人手を介し、継続的な改善が加えられていくため、脆弱性ゼロは難しいというのが現状です。
事前対策としてWAFを導入することで、万が一のリスクを低減することができます。WAFは、Webサイトのセキュリティ対策の強化に欠かせない存在となり、近年のWAF活用のニーズとして最も多いケースとなっています。
今すぐ攻撃を防御
Webサイトが実害を被ると対策が完了するまでサービスの再開は困難となり、ダウンタイムは機会損失に直結してしまいます。
緊急対応としてのWAF活用は迅速なサイト復旧の助けとなります。
ワンランク上のWebサイトのセキュリティ対策に、ぜひWAFの導入を検討してみてください。
- カテゴリ:
- WAF