LOG IN SIGN UP
Documentation

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

  Last updated November 17, 2017

Fastly はサイトを攻撃から防御するための Fastly WAF ルールセットの更新を提供します。

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

  1. Fastly は定期的に OWASP コアルールセットと Trustwave ルールセットに更新がないかを確認します。
  2. Fastly はルールをキャッシュノード上で実行するため Varnish Configuration Language (VCL) に翻訳します。
  3. Fastly はルールが適切に動作するか Fastly プラットフォーム上でテストします。ルールは偽陽性を減らす一方で、効率性とパフォーマンスが最大になるよう調整されます。
  4. 問題が発見された場合は修正が行われます。
  5. ルールセットの更新を Fastly のグローバルネットワークに展開します。
  6. Fastly は顧客にルールセットの更新と、ルールセットの更新手順を通知します。

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

以下のテーブルは、各ルールセットの更新と変更内容について説明します:

                 
ID日付変更の種別影響のあるルールセット
2YXlqZJQxMkWyAjM4kggR3 2017/11/13
             
  • OWASP 3.0.2 CRS ルールセットへのアップデート
  •          
  • 最新の Trustwave ルールの適用
  •          
  • 2 kibibyte を超えるサイズの HTTP POST をブロックするための Fastly 内部ルール 10040 の追加。
  • OWASP
  • Trustwave
  • Fastly Rules
2vyJNHO7fngQYJXU8UGUY6 2017/10/11
           
  • ルール 932140 の更新。Windows における SAML 偽陽性 への対応
  •        
  • いくつかの OWASP における変換不足の再設定
  •        
  • CVE-2017-9805 を防ぐための Fastly 内部ルールの追加
  • OWASP
  •        
  • Fastly ルール
4Z09wgjp7do8NrOIzlckFS 2017/08/15
             
  • しきい値変数の再設定: 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
39EE4tZnEM9Q8hxFJMHYU5 2017/04/27
  • OWASP
  • Trustwave
  •          
  • Fastly ルール

ルールセットの更新手順

最新のルールセットを利用するには、以下の手順を実施して下さい:

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

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>

cURL の実行結果は以下のようになります。relationships オブジェクトに<Your active rules ID>(現在アクティブなルールセット ID) が含まれまるので、この ID を記録して下さい。

{
    "data": {
        "attributes": {
            "last_push": null,
            "prefetch_condition": null,
            "response": null,
            "version": "1"
        },
        "id": "<your WAF ID>",
        "relationships": {
            "configuration_set": {
                "data": {
                    "id": "<Your active rules ID>",
                    "type": "configuration_set"
                }
            }
        },
        "type": "waf"
    }
}

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

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

  1. 適用したい新しいルールセットの ID をルールセットのメンテナンスから確認して下さい。
  2. 利用中の端末上で、新しいファイル updated_relationship.json を作成して下さい。
  3. 以下の JSON を作成したファイルにコピーして <your rules ID> の箇所を、新たに適用したいルールセットの ID と置き換えて下さい。:

    {
        "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 コマンドを実行して下さい。:

    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 コマンドで、変更の進捗状況を確認して下さい。:

    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 コマンドを実行して下さい。

    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
    

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

    {
        "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 コマンドから実行して下さい。:    

    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_statusstatuscomplete となります。

    {
        "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": "<updated rules ID>",
            "type": "waf_update_status"
        }
    }
    

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

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


Additional resources:


Back to Top