Fastly WAF ルールセットの更新とメンテナンス
最終更新日 2021-03-08
2020年7月13日をもって、Fastly がこれまで提供してきた WAF はレガシー (旧) 製品となりました。旧バージョンをご使用のすべての既存のお客様は、引き続きサポートをご利用いただけます。Fastly Next-Gen WAF (powered by Signal Sciences) は、お客様のアプリケーションやオリジンサーバーに対する疑わしい異常な Web トラフィックをプロアクティブに監視し、お客様のシステムを保護します。いずれも、コントロールパネルのダッシュボードまたはアプリケーション・プログラミング・インターフェイス (API) を介してコントロールできます。Fastly Next-Gen WAF 製品をご検討、またはそれらへの移行に興味がおありの場合は、japan@fastly.com または Fastly のアカウントチームまでお問い合わせください。
Fastly はお客様を攻撃から守るために、速やかに Fastly WAF のルールセットの更新を提供しています。
OWASP および Trustwave のルールセットの更新は以下の手順で行われます。
- Fastly は定期的に OWASP コアルールセットと Trustwave ルールセットの更新を確認しています。
- Fastly はルールを Varnish Configuration Language (VCL) に変換し、キャッシュノード内で実行します。
- ルールが適切に動作するか Fastly プラットフォーム上でテストします。誤検知を減らすと同時に、パフォーマンスとルールの有効性を最大限に向上。
- バグが発見された際、修正を行います。
- ルールセットの更新を Fastly のグローバルネットワークに反映させます。
- 最後に、お客様に更新を通知し、最新ルールセットの更新手順をお知らせします。
ルールセットのメンテナンス
以下のリンクから、各ルールセットの更新と変更内容をご確認いただけます。
ID | バージョン/日付 | 変更のタイプ | 影響のあるルールセット |
---|---|---|---|
4fsI2JzgtoAXfwpZ89Fehx | v13 2021-03-08 |
|
|
6wvihQHbaCG7NBPTfm20S9 | v12 2019-08-29 |
|
|
1PD2HFpi6qwkAsePake7pw | v11 2019-03-25 |
|
|
3vnl3cwPda9Q3WYCDRuGW | v10 2018-09-05 |
|
|
67LUkBwzFzESzumlU2L0T8 | v9 2018-08-01 |
|
|
552NEtnDyzucKd3vTjLgFC | v8 2018-05-11 |
|
|
6LG4xleIDKWLblCJczGpi9 | v7 2018-03-28 |
|
|
1D0OPmXjm6ZMOe9rMGAeQj | v6 2018-01-25 |
|
|
2YXlqZJQxMkWyAjM4kggR3 | v5 2017-11-13 |
|
|
2vyJNHO7fngQYJXU8UGUY6 | v4 2017-10-06 |
|
|
4Z09wgjp7do8NrOIzlckFS | v3 2017-08-14 |
|
|
39EE4tZnEM9Q8hxFJMHYU5 | v2 2017-04-26 |
|
|
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>
WAF ID はこの API エンドポイントで確認できます。
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 のルールセットのバージョンを変更するには、以下の手順を実施します。
- 適用したいルールセットの新しいバージョンの ID は、ルールセットのメンテナンスのセクションで確認します。
- 使用している端末上で、
updated_relationship.json
という新しいファイルを作成します。 -
作成したファイルに以下の 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" } }
- 変更を
updated_relationship.json
ファイルに保存します。 -
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>
-
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 ルールセットを適用します。
-
ルールセットを更新するために、ターミナルアプリケーションから以下の 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>" } } }
-
最新のルールを 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
のレスポンスにcomplete
のstatus
が表示されます。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 を利用し、ルールセットのバージョンを変更すると更新したルールの適用に記載された手順に従ってください。