Fastly WAF ルールセットの更新とメンテナンス (旧バージョン)

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

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

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

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

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

ID バージョン/日付 変更の種別 影響のあるルールセット
4fsI2JzgtoAXfwpZ89Fehx v13
2021-03-08
  • The OWASP Core Rule Set (CRS) was updated with 10 new rules and 74 updated rules.
  • Trustwave rules were updated with 213 new rules and 6 updated rules.
  • Trustwave rule 2500040 was removed.
  • Fastly rules were updated with 6 new rules and 1 updated rule.
  • OWASP
  • Fastly Rules
  • Trustwave
6wvihQHbaCG7NBPTfm20S9 v12
2019-08-29
  • The OWASP Core Rule Set (CRS) was updated with 19 new rules that mitigate SQL injection, Content-Type anomalies, client side code injection, PHP injection, and remote code execution. In addition, 95 rules were updated in the OWASP CRS to enhance their effectiveness or reduce incidents of false positives.
  • The following rules were removed from the OWASP CRS: 920130, 920280, 920290, 921100, 941200, 941310, 941350, and 944220. Rules 941310, 941350, and 941200 specifically were removed due to performance issues that may impact your WAF.
  • Fastly Rules 4112012 and 4112031 have been updated to reduce incidents of false positives. Fastly Rule 4112030 was removed due to excessive false positives.
  • The Trustwave rules have been updated with 197 new rules, of which 44 are for WordPress and 94 for Joomla. These rules include better protections for customers using these platforms to publish web content.
  • Trustwave rules 217055, 2066577, and 2100097 were removed.
  • Some Fastly and Trustwave rules have been renumbered. Renumbering is handled transparently so there should be no impact to your production WAF objects.
  • OWASP
  • Fastly Rules
  • Trustwave
1PD2HFpi6qwkAsePake7pw v11
2019-03-25
  • Introduced new Fastly rule 4170010, which detects CVE-2019-6340 (Drupal 8 core Highly critical RCE)
  • Introduced new Fastly rule 4170020, which detects the Magento Magestore Store Locator extension vulnerability
  • Updated Fastly rule 4112031 to include additional user agents
  • Updated Fastly rules 4113001, 4120010, and 4120011 to show correct match data
  • Removed OWASP rules 905100 and 905110, which would never match
  • Updated OWASP rules 932100 and 932110 to avoid false positives for Windows and Unix command injection
  • OWASP
  • Fastly Rules
3vnl3cwPda9Q3WYCDRuGW v10
2018-09-05
  • Introduced new OWASP rule 932190, which mitigates RCE (OS File Access Attempt) on low paranoia level WAF
  • Introduced new OWASP rule 941110, which mitigates XSS using script tag vector
  • Introduced new OWASP rule 944100, which mitigates RCE via Java deserialization vulnerabilities (CVE-2017-9805, CVE-2017-10271)
  • Introduced new OWASP rule 944110, which mitigates RCE via Java process spawn vulnerability (CVE-2017-9805)
  • Introduced new OWASP rule 944120, which mitigates RCE via Java serialization (CVE-2015-5842)
  • Introduced new OWASP rule 944240, which mitigates RCE via Java serialization (CVE-2015-5842)
  • Introduced new OWASP rule 944130, which detects suspicious Java classes
  • Introduced new OWASP rule 944250, which detects RCE via Java method
  • Introduced new OWASP rule 944200, which detects magic bytes being used that signal Java serialization
  • Introduced new OWASP rule 944210, which detects magic bytes being Base64 encoded that signal Java serialization
  • Introduced new OWASP rule 944220, which detects vulnerable Java class in use
  • Introduced new OWASP rule 944300, which detects Base64 encoded string that matched suspicious keyword
  • Introduced new Fastly internal rule 4134010, which mitigates CVE-2018-11776 Apache Struts v2 vulnerability
  • Introduced new Fastly internal rule 4113010, which detects suspicious X-Rewrite-URL header
  • Introduced new Fastly internal rule 4113020, which detects suspicious X-Original-URL header
  • Introduced new Fastly internal rule 4113030, which detects ESI directives in request
  • Introduced new Fastly internal rule 4113050, which detects ESI directives in body
  • Removed Trustwave rule 2200000, IP blocklist
  • Removed Trustwave rule 2200002, TOR Exit Nodes blocklist
  • OWASP
  • Fastly Rules
  • Trustwave
67LUkBwzFzESzumlU2L0T8 v9
2018-08-01
  • Introduced new Fastly internal rule 4134010, which mitigates common XXE attacks
  • Introduced new Fastly internal rule 4112019, which mitigates CtrlFunc Botnet Attack
  • Introduced new Fastly internal rule 4113001, which mitigates suspicious X-Forwarded-Host headers
  • Introduced new Fastly internal rule 4113002, which mitigates X-Forwarded-Host and Host headers that do not match
  • Introduced new Fastly internal rule 4120010, which detects illegal characters found in the client X-Forwarded-Host header
  • Introduced new Fastly internal rule 4120011, which detects illegal characters found in the client X-Forwarded-For header
  • Updated OWASP rule 930130 to include additional restricted files
  • OWASP
  • Fastly Rules
552NEtnDyzucKd3vTjLgFC v8
2018-05-11
  • Added logdata fields to OWASP rules 920230, 920260, 920270, 920271, 920272, 920273, 920274, 920360
  • Introduce new Fastly internal rule 4170001, which mitigates Drupal sa-core-2018-004 attack
  • Adjust threshold rule 1010090 message
  • OWASP
  • Fastly Rules
6LG4xleIDKWLblCJczGpi9 v7
2018-03-28
  • Introduce new Fastly internal rule 4170000, which mitigates Drupal sa-core-2018-002 attack
  • Updated Fastly internal 4112060 Wordpress PingBack rule
  • Updated Fastly internal rules that protect against DDoS bots (Rule IDs: 4112013 and 4112016)
  • Fastly Rules
1D0OPmXjm6ZMOe9rMGAeQj v6
2018-01-25
  • Update Trustwave rules to latest available
  • Introduce new Fastly internal rules to protect against DDoS bots (Rule IDs: 4112010-4112018, 4112030, 4112031, and 4112060)
  • Introduce new Fastly internal rule 10041 (which complements existing rule 10040) to block any HTTP POST body greater than 2 kibibytes in size that uses chunked encoding
  • Trustwave
  • Fastly Rules
2YXlqZJQxMkWyAjM4kggR3 v5
2017-11-13
  • Global update to OWASP 3.0.2 CRS release
  • Update Trustwave rules to latest available
  • Introduce new Fastly internal rule 10040 to block any HTTP POST body greater than 2 kibibytes in size.
  • OWASP
  • Trustwave
  • Fastly Rules
2vyJNHO7fngQYJXU8UGUY6 v4
2017-10-06
  • Updates to rule 932140 to account for SAML false positives in Windows
  • Reintroduction of missing transforms on some OWASP rules
  • Introduction of Fastly internal rule to protect against CVE-2017-9805
  • OWASP
  • Fastly Rules
4Z09wgjp7do8NrOIzlckFS v3
2017-08-14
  • Reintroduction of individual threshold variables: 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
  • Removal of unused threshold variables: brute_force_counter_threshold, dos_counter_threshold, outbound_anomaly_score_threshold, trojan_score_threshold
  • Additional bug fixes in OWASP rule set
  • OWASP
  • Trustwave
39EE4tZnEM9Q8hxFJMHYU5 v2
2017-04-26
  • OWASP
  • Trustwave
  • Fastly Rules

RSS および JSON フィード

RSS および JSON フィードに従って、新しいルールセットの最新情報を得ることができます。

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

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

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

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

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

1
2
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>

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

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

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

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

  1. 適用したいルールセットの新しいバージョンの ID は、ルールセットのメンテナンスセクションで確認できます。
  2. 使用している端末上で、updated_relationship.json という新しいファイルを作成します。
  3. 作成したファイルに以下の JSON をコピーアンドペーストし、<your rules ID> を使用するルールセットバージョンの ID と置き換えます。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    {
        "data": {
            "id": "<your WAF ID>",
            "relationships": {
                "configuration_set": {
                    "data": {
                        "id": "<your rules ID>",
                        "type": "configuration_set"
                    }
                }
            },
            "type": "waf"
        }
    }
    
  4. 変更を updated_relationship.json ファイルに保存します。
  5. WAF のルールセットのバージョンを変更するために、ファイルを保存したディレクトリで、ターミナルアプリケーションから以下の cURL コマンドを実行します。

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

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

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

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

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

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

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

Back to Top