本文へスキップ

WAFとは?Webアプリケーションを守る仕組みをファイアウォールとの違いから解説

#WAF#ファイアウォール#セキュリティ#未経験#インフラ学習

求人票や会社のインフラ構成図で「WAF」という言葉を見かけても、ファイアウォールと何が違うのか未経験のうちはイメージしづらいものです。結論から言うと、WAFはWebアプリケーションへの通信の中身を読み、攻撃に使われる入力だけを見つけて止める仕組みです。IPアドレスやポート番号で通信を仕分ける一般的なファイアウォールとは、そもそも見ている情報の階層が違います。この記事では、WAFが具体的に何を守っているのか、ファイアウォールとの違い、現場でどう関わっていくのかを未経験向けにやさしく整理します。

WAFとは何か

WAF(Web Application Firewall)とは、Webアプリケーションに届くHTTP・HTTPS通信の中身を検査し、攻撃に使われやすい入力パターンを見つけて止める仕組みです。ログインフォームや検索ボックスに入力された文字列そのものを見て、そこにSQLインジェクションやクロスサイトスクリプティングといった攻撃の特徴が含まれていないかを判断します。

利用者の入力をWAFが検査し、安全な通信だけがサーバーに届く仕組みを表した図

設置場所は、Webサーバーの手前が基本です。利用者からのアクセスはまずWAFを通過し、問題のない通信だけがWebサーバーへ届きます。近年は自分でWAFを構築するのではなく、AWS WAFやCDN事業者が提供するクラウド型のWAFを利用する形が主流になっています。

ファイアウォールとの違い

WAFと一般的なファイアウォールは、どちらも「通す・止める」を判断する仕組みですが、見ている情報の階層が違うため、守れる範囲もはっきり分かれます。一般的なファイアウォールはIPアドレスやポート番号という通信の宛先情報を見て判断するのに対し、WAFはHTTPリクエストの中身、つまり利用者が入力した文字列そのものを見て判断します。

宛先情報を見るファイアウォールと、通信内容を見るWAFの違いを表した図
項目ファイアウォールWAF
見ている情報IPアドレス・ポート番号HTTPリクエストの内容
守る対象ネットワーク全体の通信Webアプリケーションへの入力
防げる攻撃の例不要なポートへの不正アクセスSQLインジェクション・XSSなど

この違いから、どちらか一方だけで十分ということはありません。境目の通信を一般的なファイアウォールで絞り込みつつ、Webアプリケーション宛ての通信はさらにWAFで検査する、という多層構成が基本の考え方です。ファイアウォールの基礎から整理しておきたい場合は、ファイアウォールとは?も合わせて読んでおくと理解がつながります。

WAFが防げる代表的な攻撃

WAFが見つけて止める攻撃には、次のような代表例があります。

  1. SQLインジェクション: 入力フォームに不正なSQL文を混ぜ込み、データベースの情報を不正に取得・操作しようとする攻撃
  2. クロスサイトスクリプティング(XSS): 悪意のあるスクリプトをページに埋め込み、他の利用者のブラウザ上で実行させようとする攻撃
  3. 不正なBotからのアクセス: 人間の操作ではない自動プログラムによる、大量アクセスや情報の収集を狙った通信

これらは入力内容そのものに攻撃の特徴が現れるため、ネットワークの宛先情報だけを見ているファイアウォールでは見つけにくく、WAFが補う役割を持っています。

WAFの導入方法

WAFの導入方法は、大きく3つに分けられます。

  1. クラウド型: AWS WAFやCDN事業者が提供するサービスとして利用する形。自前でサーバーを用意する必要がなく、現在はこの形が中心
  2. ソフトウェア型: Webサーバーにモジュールとして組み込む形。細かいルール調整がしやすい一方、運用の手間がかかる
  3. ハードウェア型: 専用機器として設置する形。大規模なシステムで使われることがあるが、導入コストが大きい

クラウド型のWAFは、AWSのネットワークサービスの一部として理解しておくと全体像がつかみやすくなります。クラウドの基礎からWAFの位置づけまで順番に整理したい場合は、AWS学習ロードマップも活用してみてください。通信を暗号化するSSL/TLSの終端処理と合わせて設計されることも多いため、SSL/TLSの暗号化とは?も関連する前提知識として役立ちます。

現場でWAFに関わる場面

未経験から現場に入ってすぐにWAFのルール設計を任されることは少ないですが、関わる場面自体は早い段階からあります。

  • アラートの確認: WAFが通信を止めたという記録を確認し、攻撃かどうかを見極める場面
  • 誤検知の調査: 正常な利用者の通信が誤って止められていないかを確認する場面
  • 導入時の設定変更の立ち会い: 新しいWebサービスを公開する際に、WAFの適用範囲を決める作業に立ち会う場面

現役でインフラの現場にいる立場から言うと、WAFの運用で最初に身につくのは「止まった通信が本物の攻撃か、ただの誤検知か」を見極める視点です。最初は判断が難しく感じますが、ログを見る回数を重ねるほど、怪しい入力パターンの特徴が目で分かるようになっていきます。ネットワークの基礎知識があるほど、この見極めのスピードは上がりやすいため、ネットワークの勉強は何から?で土台を整理しておくのもおすすめです。

InfraDojoで学ぶ

InfraDojoなら、ブラウザ上の演習環境でネットワークやセキュリティの基礎をコマンド操作から学べるため、WAFの前提となるIPアドレスやHTTP通信の仕組みを順番に固めていけます。何から学び始めればいいか迷う場合は、ネットワーク学習の全体像を確認しておくと、WAFを学ぶタイミングも判断しやすくなります。

よくある質問

Q. WAFを入れればファイアウォールは不要になりますか?

いいえ、不要にはなりません。ファイアウォールはネットワーク全体の通信を宛先情報で絞り込む役割、WAFはWebアプリケーションへの入力内容を検査する役割を持ち、見ている情報の階層が異なります。両方を組み合わせて多層で守るのが一般的な考え方です。

Q. WAFは未経験のうちから学んでおくべきですか?

必須ではありませんが、IPアドレスやHTTP通信の基本を理解したあとであれば、無理なく学べる範囲です。基礎を飛ばしてWAF特有の用語だけ覚えようとすると、何を守っているのかが分からず暗記になりやすいため、ネットワークの土台を先に固めておくことをおすすめします。

Q. WAFの誤検知とは何ですか?

正常な利用者の通信が、攻撃の入力パターンと似ているという理由で誤って止められてしまう現象です。WAFの運用では、誤検知が発生していないかを確認し、必要に応じてルールを調整する作業が欠かせません。

Reo|インフラエンジニアのアイコン

この記事を書いた人: InfraDojo運営者(Reo|インフラエンジニア)

現役インフラエンジニア。SESの現場経験に基づき、未経験からのインフラ転職と学習を支援しています。InfraDojoは、ブラウザ上のターミナルで実際に手を動かして学べるインフラ学習サイトです。

@Reo_engineer_

読むだけで終わらせず、今日から手を動かす

InfraDojoは、ブラウザを開くだけでLinux・ネットワーク・AWSの演習ができる学習サイトです。登録は30秒、最初のコースは無料です。