Fastly WAF ルールセットの更新とメンテナンス

重要

発表された通り、2023年4月30日付けで Fastly WAF (WAF Legacy および WAF 2020) が正式に廃止となります。Fastly Next-Gen WAF では同様の機能を提供しています。疑わしい異常な Web トラフィックをモニタリングし、指定したアプリケーションやオリジンサーバーに対する攻撃からリアルタイムで保護します。

Fastly はお客様を攻撃から守るために、速やかに Fastly WAF のルールセットの更新を提供しています。

重要

Fastly は、このプロダクトの CVE ルールを定期的に公開していません。特定の CVE 脅威に対する保護をお探しのお客様には、Fastly Next-Gen WAF または Fastly WAF 2020 の使用をおすすめします。

OWASP および Trustwave のルールセットの更新は以下の手順で行われます。

  1. Fastly は定期的に OWASP コアルールセットと Trustwave ルールセットの更新を確認しています。
  2. Fastly はルールを Varnish Configuration Language (VCL) に変換し、キャッシュノード内で実行します。
  3. ルールが適切に動作するか Fastly プラットフォーム上でテストします。誤検知を減らすと同時に、パフォーマンスとルールの有効性を最大限に向上。
  4. バグが発見された際、修正を行います。
  5. ルールセットの更新を Fastly のグローバルネットワークに反映させます。
  6. 最後に、お客様に更新を通知し、最新ルールセットの更新手順をお知らせします。

ルールセットのメンテナンス

以下のリンクから、各ルールセットの更新と変更内容をご確認いただけます。

IDバージョン/日付変更のタイプ影響を受けるルールセット
4fsI2JzgtoAXfwpZ89Fehxv13
2021-03-08
  • OWASP コアルールセット (CRS) に10件の新規ルールの追加、74件のルールの更新
  • Trustwave ルールに213件の新規ルールの追加、6件のルールの更新
  • Trustwave ルール 2500040 を削除
  • Fastly ルールに6件の新規ルールの追加、1件のルールの更新
  • OWASP
  • Fastly ルール
  • Trustwave
6wvihQHbaCG7NBPTfm20S9v12
2019-08-29
  • OWASP コアルールセット (CRS) に新規ルール19件の追加。SQL インジェクション、Content-Type の異常、クライアント側のコードインジェクション、PHP インジェクション、リモートからのコード実行を軽減また効果の向上と誤検出削減のため、OWASP CRS にルール95件の更新
  • OWASP CRS からルール (920130、920280、920290、921100、941200、941310、941350、944220) を削除941310、941350、941200 に関しては、WAF に影響を及ぼしかねないパフォーマンス問題を理由として削除
  • Fastly ルール 4112012 および 4112031 を、誤検出インシデント削減のため更新Fastly ルール 4112030 を、過剰な誤検出が見られたため削除
  • Trustwave ルールに197件の新規ルールの更新 (うち44件は WordPress 向け、94件は Joomla 向け)これらのルールは、該当プラットフォームを利用して Web コンテンツを公開している顧客向けの保護改善を含む
  • Trustwave ルール 217055、2066577、2100097 の削除
  • Fastly および Trustwave ルール番号の一部変更番号の変更は透過的に処理されるため、本番環境の WAF オブジェクトには影響はありません
  • OWASP
  • Fastly ルール
  • Trustwave
1PD2HFpi6qwkAsePake7pwv11
2019-03-25
  • 新規 Fastly ルール 4170010 の追加。CVE-2019-6340 (Drupal 8 core Highly critical RCE) の検知
  • 新規 Fastly ルール 4170020 の追加。Magento Magestore Store Locator エクステンションの脆弱性の検知
  • Fastly ルール 4112031 の更新。ユーザーエージェントの追加
  • Fastly ルール 4113001、4120010、および 4120011 の更新。正しいマッチデータの表示
  • マッチしない OWASP ルール 905100 および 905110 の削除
  • OWASP ルール 932100 および 932110 の更新。Windows および Unix のコマンドインジェクションの誤検出の回避
  • OWASP
  • Fastly ルール
3vnl3cwPda9Q3WYCDRuGWv10
2018-09-05
  • 新規 OWASP ルール 932190 の追加。低いパラノイアレベルにおいて RCE (OS ファイルへのアクセスを試みる) 攻撃の軽減
  • 新規 OWASP ルール 941110 の追加。スクリプトタグを用いた XSS 攻撃の軽減
  • 新規 OWASP ルール 944100 の追加。Java deserialization 脆弱性 (CVE-2017-9805, CVE-2017-10271) を用いた RCE 攻撃の軽減
  • 新規 OWASP ルール 944100 の追加。Java process spawn 脆弱性 (CVE-2017-9805) を用いた RCE 攻撃の軽減
  • 新規 OWASP ルール 944120 の追加。Java serialization (CVE-2015-5842) を用いた RCE 攻撃の軽減
  • 新規 OWASP ルール 944240 の追加。Java serialization (CVE-2015-5842) を用いた RCE 攻撃の軽減
  • 新規 OWASP ルール 944130 の追加。疑わしい Java クラスの検知
  • 新規 OWASP ルール 944250 の追加。 Java メソッドを介した RCE の検知
  • 新規 OWASP ルール 944200 の追加。Java serialization のきっかけとなる使用されているマジックバイトの検知
  • 新規 OWASP ルール 944210 の追加。Java serializationのきっかけとなるBase64 エンコードされたマジックバイトの検知
  • 新規 OWASP ルール 944220 の追加。脆弱性のある Java クラスの利用を検知
  • 新規 OWASP ルール 944300 の追加。疑わしいキーワードにマッチした Base64 エンコードされた文字列の検知
  • 新規 Fastly 内部ルール 4134010 の追加。CVE-2018-11776 Apache Struts v2 脆弱性の軽減
  • 新規 Fastly 内部ルール 4113010 の追加。疑わしい X-Rewrite-URL ヘッダーの検知
  • 新規 Fastly 内部ルール 4113020 の追加。疑わしい X-Original-URL ヘッダーの検知
  • 新規 Fastly 内部ルール 4113030 の追加。リクエスト内の ESI ディレクティブの検知
  • 新規 Fastly 内部ルール 4113050 の追加。ボティーにある ESI ディレクティブの検知
  • Trustwave ルール2200000の削除。IP ブラックリスト
  • Trustwave ルール 2200002 の削除。TOR Exit Nodes ブラックリスト
  • OWASP
  • Fastly ルール
  • Trustwave
67LUkBwzFzESzumlU2L0T8v9
2018-08-01
  • 新規 Fastly 内部ルール4134010の追加。XXE 攻撃 への対応
  • 新規 Fastly 内部ルール 4112019 の追加。CtrlFunc Botnet 攻撃への対応
  • 新規 Fastly 内部ルール 4113001 の追加。疑わしい X-Forwarded-Host ヘッダーへの対応
  • 新規 Fastly 内部ルール 4113002 の追加。X-Forwarded-Host と Host ヘッダーの不一致への対応。
  • 新規 Fastly 内部ルール 4120010 の追加。クライアントの X-Forwarded-Host ヘッダーに含まれる不正文字検知
  • 新規 Fastly 内部ルール 4120011 の追加。クライアントの X-Forwarded-For ヘッダーに含まれる不正文字検知
  • OWASP ルール 930130 の更新。制限ファイルの追加
  • OWASP
  • Fastly ルール
552NEtnDyzucKd3vTjLgFCv8
2018-05-11
  • OWASP ルール 920230, 920260, 920270, 920271, 920272, 920273, 920274, 920360 にログデータフィールドを追加
  • 新規 Fastly 内部ルール 4170001 の追加。Drupal sa-core-2018-004 攻撃への対応
  • しきい値ルール 1010090 メッセージの調整
  • OWASP
  • Fastly ルール
6LG4xleIDKWLblCJczGpi9v7
2018-03-28
  • Drupal sa-core-2018-002 アタックを緩和する新規 Fastly 内部ルール 4170000 の追加
  • Fastly internal 4112060 Wordpress PingBack ルールの更新
  • DDoS Bot からの攻撃を防御する Fastly 内部ルール (ルールID 4112013 および 4112016) の更新
  • Fastly ルール
1D0OPmXjm6ZMOe9rMGAeQjv6
2018-01-25
  • 最新の Trustwave ルールの適用
  • DDoS Bot からの攻撃を防御する Fastly 内部ルール (ルールID 4112010-4112018、4112030、4112031、および 4112060) の追加
  • チャンク形式での2 KB を超える HTTP POST ボディをブロックするための、(既存ルール 10040 を補完する) Fastly 内部ルール 10041 の追加
  • Trustwave
  • Fastly ルール
2YXlqZJQxMkWyAjM4kggR3v5
2017-11-13
  • OWASP 3.0.2 CRS ルールセットへのアップデート
  • 最新の Trustwave ルールの適用
  • 2 kibibyte を超えるサイズの HTTP POST をブロックするための Fastly 内部ルール 10040 の追加
  • OWASP
  • Trustwave
  • Fastly ルール
2vyJNHO7fngQYJXU8UGUY6v4
2017-10-06
  • ルール 932140 の更新。Windows における SAML 偽陽性 への対応
  • いくつかの OWASP における変換不足の再設定
  • CVE-2017-9805 を防ぐための Fastly 内部ルールの追加
  • OWASP
  • Fastly ルール
4Z09wgjp7do8NrOIzlckFSv3
2017-08-14
  • しきい値変数の再設定: http_violation_score_threshold, lfi_score_threshold, php_injection_score_threshold, rce_score_threshold, rfi_score_threshold, session_fixation_score_threshold, sql_injection_score_threshold, xss_score_threshold
  • 不要なしきい値変数の除: brute_force_counter_threshold, dos_counter_threshold, outbound_anomaly_score_threshold, trojan_score_threshold
  • OWASP ルールセットへの追加バグ修正
  • OWASP
  • Trustwave
39EE4tZnEM9Q8hxFJMHYU5v2
2017-04-26
  • OWASP
  • Trustwave
  • Fastly ルール

最新ルールセットの更新手順

最新のルールセットを利用するには、以下の手順で WAF を更新します。

現在のルールセットの確認

WAF のルールセットを更新する前に、現在有効となっているルールセットの値を記録することをお勧めします。記録された情報を使用して、WAF を以前の状態に戻すことができます。

現在有効なルールセットを確認するために、ターミナルアプリケーションから以下の curl コマンドを実行してください。

$ curl -s -H Fastly-Key:<your Fastly API token> -H Accept:application/vnd.api+json \
https://api.fastly.com/service/<your Fastly service ID>/version/<your service version number>/wafs/<your WAF ID>
ヒント

WAF ID はこの API エンドポイントを使用することで確認できます。

curl コマンドの実行結果は以下のとおりです。relationships オブジェクトでは、このWAF が <ID of your active configuration set> を使用していることに注目してください。この ID を記録しておきます。

1{
2 "data": {
3 "attributes": {
4 "last_push": null,
5 "prefetch_condition": null,
6 "response": null,
7 "version": "1"
8 },
9 "id": "<your WAF ID>",
10 "relationships": {
11 "configuration_set": {
12 "data": {
13 "id": "<ID of your active configuration set>",
14 "type": "configuration_set"
15 }
16 }
17 },
18 "type": "waf"
19 }
20}

ルールセットのバージョンを変更する

WAF のルールセットのバージョンを変更するには、以下の手順を実施します。

  1. 適用したいルールセットの新しいバージョンの ID は、ルールセットのメンテナンスのセクションで確認します。

  2. 使用している端末上で、updated_relationship.json という新しいファイルを作成します。

  3. 作成したファイルに以下の JSON をコピーアンドペーストし、<your rules ID> を使用するルールセットバージョンの ID と置き換えます。

    1{
    2 "data": {
    3 "id": "<your WAF ID>",
    4 "relationships": {
    5 "configuration_set": {
    6 "data": {
    7 "id": "<your rules ID>",
    8 "type": "configuration_set"
    9 }
    10 }
    11 },
    12 "type": "waf"
    13 }
    14}
  4. 変更を updated_relationship.json ファイルに保存します。

  5. WAF のルールセットのバージョンを変更するために、ファイルを保存したディレクトリで、ターミナルアプリケーションから以下の curl コマンドを実行します。

    1$ curl -s -X PATCH -H Fastly-Key:<your Fastly API token> -H Accept:application/vnd.api+json \
    2 -H Content-Type:application/vnd.api+json -d @updated_relationship.json \
    3 https://api.fastly.com/service/<your Fastly service ID>/version/<your service version number>/wafs/<your WAF ID>
  6. WAF のルールセットのバージョン変更には少し時間がかかります。ターミナルアプリケーションで以下の curl コマンドを実行し、変更の進捗状況を確認します。

    $ curl -s -H Fastly-Key:<your Fastly API token> -H Accept:application/vnd.api+json \
    https://api.fastly.com/service/<your Fastly service ID>/version/<your service version number>/wafs/<your WAF ID>

    新しいルールセットバージョンの ID が出力されれば、処理は完了です。

更新したルールの適用

WAF へのルールセットの更新が確認できたら、以下の手順で更新された WAF ルールセットを適用します。

  1. ルールセットを更新するために、ターミナルアプリケーションから以下の curl コマンドを実行します。

    1$ curl -s -X PATCH -H Fastly-Key:<your Fastly API token> -H Accept:application/vnd.api+json \
    2 -H Content-Type:application/vnd.api+json -d '{"data":{"id":"<your WAF ID>","type":"ruleset"}}' \
    3 https://api.fastly.com/service/<your Fastly service ID>/wafs/<your WAF ID>/ruleset

    以下のようなレスポンスが返されます。

    1{
    2 "data": {
    3 "id": "WAF_ID",
    4 "type": "ruleset"
    5 },
    6 "links": {
    7 "related": {
    8 "href": "https://api.fastly.com/service/<your Fastly service ID>/wafs/<your WAF ID>/update_statuses/<update status ID>"
    9 }
    10 }
    11}
  2. 最新のルールを WAF に適用するには少し時間がかかります。前のステップのレスポンスに表示された URL を使用し、ターミナルアプリケーションで curl コマンドを実行して処理の進捗状況を確認します。

    $ curl -s -H Fastly-Key: FASTLY_API_TOKEN -H Accept:application/vnd.api+json \
    https://api.fastly.com/service/<your Fastly service ID>/wafs/<your WAF ID>/update_statuses/<update status ID>

    処理が完了すると、waf_update_status のレスポンスに completestatus が表示されます。

    1{
    2 "data": {
    3 "attributes": {
    4 "completed_at": "2017-04-05 18:47:28 UTC",
    5 "created_at": "2017-04-05 18:47:27 UTC",
    6 "message": null,
    7 "status": "complete",
    8 "updated_at": "2017-04-05 18:47:28 UTC"
    9 },
    10 "id": "<update status ID>",
    11 "type": "waf_update_status"
    12 }
    13}

前バージョンのルールセットへの復帰

WAF ルールセットの更新に問題があった場合、前バージョンのルールセットへの復帰が可能です。現在のルールセットの確認で記録したルールセットの ID を利用し、ルールセットのバージョンを変更する更新したルールの適用に記載された手順に従ってください。


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。