From 9d532fb0cfb20f82255cb81244d288412aa56dc0 Mon Sep 17 00:00:00 2001 From: qiaoli Date: Fri, 24 Jan 2025 09:50:15 +0000 Subject: [PATCH] WAF Dedicated UMN 20250119 version Reviewed-by: Rogal, Marcel Co-authored-by: qiaoli Co-committed-by: qiaoli --- docs/wafd/umn/ALL_META.TXT.json | 858 ++++++++++++------ docs/wafd/umn/CLASS.TXT.json | 6 +- .../wafd/umn/en-us_image_0000001074633189.png | Bin 748 -> 0 bytes .../wafd/umn/en-us_image_0000001481923368.jpg | Bin 26321 -> 0 bytes .../wafd/umn/en-us_image_0000001675705730.png | Bin 11960 -> 0 bytes .../wafd/umn/en-us_image_0000001695522016.jpg | Bin 26321 -> 0 bytes .../wafd/umn/en-us_image_0000001710860016.png | Bin 27218 -> 0 bytes .../wafd/umn/en-us_image_0000002098463152.jpg | Bin 0 -> 983 bytes .../wafd/umn/en-us_image_0000002121808986.png | Bin 0 -> 12956 bytes .../wafd/umn/en-us_image_0000002126107914.png | Bin 0 -> 56308 bytes .../wafd/umn/en-us_image_0000002129833584.png | Bin 0 -> 209 bytes docs/wafd/umn/waf_01_0001.html | 2 +- docs/wafd/umn/waf_01_0003.html | 2 +- docs/wafd/umn/waf_01_0005.html | 2 +- docs/wafd/umn/waf_01_0008.html | 24 +- docs/wafd/umn/waf_01_0009.html | 12 +- docs/wafd/umn/waf_01_0010.html | 14 +- docs/wafd/umn/waf_01_0012.html | 2 +- docs/wafd/umn/waf_01_0015.html | 4 +- docs/wafd/umn/waf_01_0016.html | 4 +- docs/wafd/umn/waf_01_0020.html | 2 +- docs/wafd/umn/waf_01_0021.html | 8 +- docs/wafd/umn/waf_01_0024.html | 4 +- docs/wafd/umn/waf_01_0052.html | 2 +- docs/wafd/umn/waf_01_0060.html | 4 +- docs/wafd/umn/waf_01_0061.html | 4 +- docs/wafd/umn/waf_01_0066.html | 2 +- docs/wafd/umn/waf_01_0074.html | 2 +- docs/wafd/umn/waf_01_0081.html | 6 +- docs/wafd/umn/waf_01_0100.html | 2 +- docs/wafd/umn/waf_01_0154.html | 2 +- docs/wafd/umn/waf_01_0169.html | 3 +- docs/wafd/umn/waf_01_0172.html | 2 +- docs/wafd/umn/waf_01_0253.html | 107 ++- docs/wafd/umn/waf_01_0262.html | 2 +- docs/wafd/umn/waf_01_0265.html | 9 +- docs/wafd/umn/waf_01_0271.html | 4 +- docs/wafd/umn/waf_01_0272.html | 4 +- docs/wafd/umn/waf_01_0278.html | 2 +- docs/wafd/umn/waf_01_0287.html | 20 +- docs/wafd/umn/waf_01_0311.html | 2 +- docs/wafd/umn/waf_01_0312.html | 2 +- docs/wafd/umn/waf_01_0355.html | 2 +- docs/wafd/umn/waf_01_0425.html | 4 +- docs/wafd/umn/waf_01_1249.html | 26 +- docs/wafd/umn/waf_01_1346.html | 8 +- docs/wafd/umn/waf_01_3271.html | 8 +- docs/wafd/umn/waf_01_5249.html | 2 +- 48 files changed, 744 insertions(+), 431 deletions(-) delete mode 100644 docs/wafd/umn/en-us_image_0000001074633189.png delete mode 100644 docs/wafd/umn/en-us_image_0000001481923368.jpg delete mode 100644 docs/wafd/umn/en-us_image_0000001675705730.png delete mode 100644 docs/wafd/umn/en-us_image_0000001695522016.jpg delete mode 100644 docs/wafd/umn/en-us_image_0000001710860016.png create mode 100644 docs/wafd/umn/en-us_image_0000002098463152.jpg create mode 100644 docs/wafd/umn/en-us_image_0000002121808986.png create mode 100644 docs/wafd/umn/en-us_image_0000002126107914.png create mode 100644 docs/wafd/umn/en-us_image_0000002129833584.png diff --git a/docs/wafd/umn/ALL_META.TXT.json b/docs/wafd/umn/ALL_META.TXT.json index aa38ca3b6..2c4f6dc85 100644 --- a/docs/wafd/umn/ALL_META.TXT.json +++ b/docs/wafd/umn/ALL_META.TXT.json @@ -13,9 +13,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Service Overview", @@ -32,9 +34,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Is WAF?", @@ -51,9 +55,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Product Specifications", @@ -70,9 +76,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Functions", @@ -89,9 +97,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Product Advantages", @@ -108,9 +118,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Application Scenarios", @@ -127,9 +139,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Project and Enterprise Project", @@ -146,9 +160,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Personal Data Protection Mechanism", @@ -165,9 +181,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"WAF Permissions Management", @@ -184,9 +202,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"WAF and Other Services", @@ -203,9 +223,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"WAF Operation Guide", @@ -222,9 +244,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Applying for a Dedicated WAF Instance", @@ -241,9 +265,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Applying for a Cloud WAF Instance", @@ -260,9 +286,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Creating a User Group and Granting Permissions", @@ -279,9 +307,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Connecting a Website to WAF", @@ -298,9 +328,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Connecting Your Website to WAF (ELB Access Mode)", @@ -317,9 +349,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Connecting Your Website to WAF (Dedicated Mode)", @@ -336,9 +370,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Website Connection Process (Dedicated Mode)", @@ -355,9 +391,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Step 1: Add Your Website to WAF", @@ -374,9 +412,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Step 2: Configure a Load Balancer for WAF", @@ -393,9 +433,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Step 3: Bind an EIP to a Load Balancer", @@ -412,9 +454,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Step 4: Whitelist Back-to-Source IP Addresses of Dedicated WAF Instances", @@ -431,9 +475,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Step 5: Test Dedicated WAF Instances", @@ -450,9 +496,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Ports Supported by WAF", @@ -469,9 +517,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Viewing Protection Events", @@ -488,9 +538,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Querying a Protection Event", @@ -507,9 +559,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Handling False Alarms", @@ -526,9 +580,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Downloading Events Data", @@ -545,9 +601,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Using LTS to Log WAF Activities", @@ -564,9 +622,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Protection Policies", @@ -583,9 +643,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Protection Configuration Overview", @@ -602,9 +664,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Basic Web Protection to Defend Against Common Web Attacks", @@ -621,9 +685,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring CC Attack Protection Rules to Defend Against CC Attacks", @@ -640,9 +706,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Custom Precise Protection Rules", @@ -659,9 +727,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring IP Address Blacklist and Whitelist Rules to Block or Allow Specified IP Addresses", @@ -678,9 +748,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Geolocation Access Control Rules to Block or Allow Requests from Specific Locations", @@ -697,9 +769,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Web Tamper Protection Rules to Prevent Static Web Pages from Being Tampered With", @@ -716,9 +790,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Anti-Crawler Rules", @@ -735,9 +811,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Information Leakage Prevention Rules to Protect Sensitive Information from Leakage", @@ -754,9 +832,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring a Global Protection Whitelist Rule to Ignore False Alarms", @@ -773,9 +853,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring Data Masking Rules to Prevent Privacy Information Leakage", @@ -792,9 +874,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Creating a Reference Table to Configure Protection Metrics in Batches", @@ -811,9 +895,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring a Known Attack Source Rule to Block Specific Visitors for a Specified Duration", @@ -824,15 +910,17 @@ "node_id":"waf_01_3271.xml", "product_code":"wafd", "code":"44", - "des":"When setting a CC attack, precise access, or global whitelist protection rule, there are some fields in the Condition List or Trigger area. These fields together are used", + "des":"When setting a precise access, CC attack protection, or global protection whitelist rule, there are some fields in the Condition List or Trigger area. These fields togeth", "doc_type":"usermanual", "kw":"Condition Field Description,Configuring Protection Policies,User Guide", "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Condition Field Description", @@ -849,9 +937,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Viewing the Dashboard", @@ -868,9 +958,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Website Settings", @@ -887,9 +979,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Recommended Configurations After Website Connection", @@ -906,9 +1000,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring PCI DSS/3DS Compliance Check and TLS", @@ -925,9 +1021,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring a Timeout for Connections Between WAF and a Website Server", @@ -944,9 +1042,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Enabling Connection Protection to Protect Origin Servers", @@ -963,9 +1063,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Configuring a Traffic Identifier for a Known Attack Source", @@ -982,9 +1084,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Modifying the Alarm Page", @@ -1001,9 +1105,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Managing Websites", @@ -1020,9 +1126,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Viewing Basic Information of a Website", @@ -1039,9 +1147,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Changing the Protection Mode", @@ -1058,9 +1168,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Updating the Certificate Used for a Website", @@ -1077,9 +1189,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Editing Server Information", @@ -1096,9 +1210,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Deleting a Protected Website from WAF", @@ -1115,9 +1231,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Policy Management", @@ -1134,9 +1252,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Creating a Protection Policy", @@ -1153,9 +1273,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Adding a Domain Name to a Policy", @@ -1172,9 +1294,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Adding Rules to One or More Policies", @@ -1191,9 +1315,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Object Management", @@ -1210,9 +1336,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Certificate Management", @@ -1229,9 +1357,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Uploading a Certificate to WAF", @@ -1248,9 +1378,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Using a Certificate for a Protected Website in WAF", @@ -1267,9 +1399,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Viewing Certificate Information", @@ -1286,9 +1420,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Deleting a Certificate from WAF", @@ -1305,9 +1441,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"System Management", @@ -1324,9 +1462,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Managing Dedicated WAF Engines", @@ -1343,9 +1483,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Viewing Product Details", @@ -1362,9 +1504,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Permissions Management", @@ -1381,9 +1525,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Authorizing and Associating an Enterprise Project", @@ -1400,9 +1546,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"IAM Permissions Management", @@ -1419,9 +1567,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"WAF Custom Policies", @@ -1438,9 +1588,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"WAF Permissions and Supported Actions", @@ -1457,9 +1609,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Monitoring and Auditing", @@ -1476,9 +1630,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Using CTS to Audit WAF", @@ -1495,9 +1651,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"WAF Operations Recorded by CTS", @@ -1508,15 +1666,17 @@ "node_id":"waf_01_0060.xml", "product_code":"wafd", "code":"80", - "des":"After you enable CTS and the management tracker is created, CTS starts recording operations on cloud resources. After a data tracker is created, the system starts recordi", + "des":"After you enable CTS and the management tracker is created, CTS starts recording operations on cloud resources. Cloud Trace Service (CTS) stores operation records (traces", "doc_type":"usermanual", "kw":"Viewing CTS Traces in the Trace List,Using CTS to Audit WAF,User Guide", "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Viewing CTS Traces in the Trace List", @@ -1533,9 +1693,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Monitored Metrics", @@ -1552,9 +1714,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"FAQs", @@ -1571,9 +1735,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"About WAF", @@ -1590,9 +1756,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"WAF Basics", @@ -1609,9 +1777,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Can WAF Protect an IP Address?", @@ -1628,9 +1798,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Objects Does WAF Protect?", @@ -1647,9 +1819,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Does WAF Block Customized POST Requests?", @@ -1666,9 +1840,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Which Web Service Framework Protocols Does WAF Support?", @@ -1685,9 +1861,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Can WAF Protect Websites Accessed Through HSTS or NTLM Authentication?", @@ -1704,9 +1882,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Are the Differences Between WAF Forwarding and Nginx Forwarding?", @@ -1723,9 +1903,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Can I Configure Session Cookies in WAF?", @@ -1742,9 +1924,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Does WAF Detect SQL Injection, XSS, and PHP Injection Attacks?", @@ -1761,9 +1945,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Can WAF Defend Against the Apache Struts2 Remote Code Execution Vulnerability (CVE-2021-31805)?", @@ -1780,9 +1966,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Does the Vulnerability Scanning Tool Report Disabled Non-standard Ports for My WAF-Protected Website?", @@ -1799,9 +1987,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Are Local File Inclusion and Remote File Inclusion?", @@ -1818,9 +2008,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Is the Difference Between QPS and the Number of Requests?", @@ -1837,9 +2029,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Does WAF Support Custom Authorization Policies?", @@ -1856,9 +2050,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Do Cookies Contain the HWWAFSESID or HWWAFSESTIME field?", @@ -1875,9 +2071,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Can I Switch Between the WAF ELB Access Mode and Dedicated Mode?", @@ -1894,9 +2092,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Website Connect Issues", @@ -1913,9 +2113,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Does a Dedicated WAF Instance Protect Non-Standard Ports That Are Not Supported by the Dedicated Instance?", @@ -1932,9 +2134,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Do I Have to Configure the Same Port as That of the Origin Server When Adding a Website to WAF?", @@ -1951,9 +2155,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Are the Precautions for Configuring Multiple Server Addresses for Backend Servers?", @@ -1970,9 +2176,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Does WAF Support Wildcard Domain Names?", @@ -1989,9 +2197,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Does WAF Forward Access Requests When Both a Wildcard Domain Name and a Single Domain Name Are Connected to WAF?", @@ -2008,9 +2218,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Am I Seeing the \"Someone else has already added this domain name. Please confirm that the domain name belongs to you\" Error Message?", @@ -2027,9 +2239,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Can I Access a Website Using an IP Address After a Domain Name Is Connected to WAF?", @@ -2046,9 +2260,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Protection Rules", @@ -2065,9 +2281,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Which Protection Levels Can Be Set for Basic Web Protection?", @@ -2084,9 +2302,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Is the Peak Rate of CC Attack Protection?", @@ -2103,9 +2323,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"When Is Cookie Used to Identify Users?", @@ -2122,9 +2344,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Does a Requested Page Fail to Respond to the Client After the JavaScript-based Anti-Crawler Is Enabled?", @@ -2141,9 +2365,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Is There Any Impact on Website Loading Speed If Other Crawler Check in Anti-Crawler Is Enabled?", @@ -2160,9 +2386,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Does JavaScript Anti-Crawler Detection Work?", @@ -2179,9 +2407,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"In Which Situations Will the WAF Policies Fail?", @@ -2198,9 +2428,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Do I Allow Requests from Only IP Addresses in a Specified Geographical Region?", @@ -2217,9 +2449,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Do I Allow Only Specified IP Addresses to Access Protected Websites?", @@ -2236,9 +2470,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Does the Page Fail to Be Refreshed After WTP Is Enabled?", @@ -2255,9 +2491,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Are the Differences Between Blacklist/Whitelist Rules and Precise Protection Rules on Blocking Access Requests from Specified IP Addresses?", @@ -2274,9 +2512,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Do I Do If a Scanner, such as AppScan, Detects that the Cookie Is Missing Secure or HttpOnly?", @@ -2293,9 +2533,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Certificate Management", @@ -2312,9 +2554,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Troubleshooting Website Connection Exceptions", @@ -2331,9 +2575,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Is My Domain Name or IP Address Inaccessible?", @@ -2350,9 +2596,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Does the Requested Page Respond Slowly After My Website Is Connected to WAF?", @@ -2363,15 +2611,17 @@ "node_id":"waf_01_0100.xml", "product_code":"wafd", "code":"125", - "des":"After your website is connected to WAF, the size of the file each time you can upload to the website is limited as follows:Cloud mode - CNAME access: 1 GBCloud mode - loa", + "des":"After your website is connected to WAF, the size of the file each time you can upload to the website is limited as follows:Cloud mode - Load balancer access mode: 10 GBDe", "doc_type":"usermanual", "kw":"What Can I Do If Files Cannot Be Uploaded After a Website Is Connected to WAF?,Troubleshooting Websi", "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Can I Do If Files Cannot Be Uploaded After a Website Is Connected to WAF?", @@ -2388,9 +2638,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Troubleshooting Certificate and Cipher Suite Issues", @@ -2407,9 +2659,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Do I Fix an Incomplete Certificate Chain?", @@ -2426,9 +2680,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Does My Certificate Not Match the Key?", @@ -2445,9 +2701,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Are HTTPS Requests Denied on Some Mobile Phones?", @@ -2464,9 +2722,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Do I Do If the Protocol Is Not Supported and the Client and Server Do Not Support Common SSL Protocol Versions or Cipher Suites?", @@ -2483,9 +2743,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Is the Bar Mitzvah Attack on SSL/TLS Detected?", @@ -2502,9 +2764,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Troubleshooting Traffic Forwarding Exceptions", @@ -2521,9 +2785,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Do I Troubleshoot 404/502/504 Errors?", @@ -2540,9 +2806,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Am I Seeing Error Code 418?", @@ -2559,9 +2827,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Am I Seeing Error Code 523?", @@ -2578,9 +2848,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Was My Website Redirected So Many Times?", @@ -2597,9 +2869,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Am I Seeing Error Code 414 Request-URI Too Large?", @@ -2616,9 +2890,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"What Is the Connection Timeout Duration of WAF? Can I Manually Set the Timeout Duration?", @@ -2635,9 +2911,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Checking Whether Normal Requests Are Blocked Mistakenly", @@ -2654,9 +2932,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"How Do I Handle False Alarms as WAF Blocks Normal Requests to My Website?", @@ -2673,9 +2953,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Why Does WAF Block Normal Requests as Invalid Requests?", @@ -2692,9 +2974,11 @@ "search_title":"", "metedata":[ { - "IsBot":"No", + "IsBot":"No;Yes", + "opensource":"true", "documenttype":"usermanual", - "prodname":"wafd" + "prodname":"wafd", + "IsMulti":"Yes" } ], "title":"Change History", diff --git a/docs/wafd/umn/CLASS.TXT.json b/docs/wafd/umn/CLASS.TXT.json index 474c05c30..3fc0b76a3 100644 --- a/docs/wafd/umn/CLASS.TXT.json +++ b/docs/wafd/umn/CLASS.TXT.json @@ -387,7 +387,7 @@ "code":"43" }, { - "desc":"When setting a CC attack, precise access, or global whitelist protection rule, there are some fields in the Condition List or Trigger area. These fields together are used", + "desc":"When setting a precise access, CC attack protection, or global protection whitelist rule, there are some fields in the Condition List or Trigger area. These fields togeth", "product_code":"wafd", "title":"Condition Field Description", "uri":"waf_01_3271.html", @@ -711,7 +711,7 @@ "code":"79" }, { - "desc":"After you enable CTS and the management tracker is created, CTS starts recording operations on cloud resources. After a data tracker is created, the system starts recordi", + "desc":"After you enable CTS and the management tracker is created, CTS starts recording operations on cloud resources. Cloud Trace Service (CTS) stores operation records (traces", "product_code":"wafd", "title":"Viewing CTS Traces in the Trace List", "uri":"waf_01_0060.html", @@ -1116,7 +1116,7 @@ "code":"124" }, { - "desc":"After your website is connected to WAF, the size of the file each time you can upload to the website is limited as follows:Cloud mode - CNAME access: 1 GBCloud mode - loa", + "desc":"After your website is connected to WAF, the size of the file each time you can upload to the website is limited as follows:Cloud mode - Load balancer access mode: 10 GBDe", "product_code":"wafd", "title":"What Can I Do If Files Cannot Be Uploaded After a Website Is Connected to WAF?", "uri":"waf_01_0100.html", diff --git a/docs/wafd/umn/en-us_image_0000001074633189.png b/docs/wafd/umn/en-us_image_0000001074633189.png deleted file mode 100644 index 19b0e9bb0ca35cb713198db985d44026fa89c6e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmVeh4bY)!^&fNe20)a_HK~zYI)tBv0 z+E5gSpIaP?2(+C{&?Rgspb%mVE=!jE{mYVN=w3tx2YZV~1lm#+7KL^n$e0~33Tqbk z`*hQL^Xt=d@44qxIF93R&owt`@~qyZ)jFrC8yKcVr}M*;mj(h0C~_D@kx}F@(Pb4O z#Mt#>R3zK&4u#!4>J8l!sN19}GTZqap{3x+c^9PPI8?uUr?_9H+wHM1KaZv*h%PHE z1sCb{Yz))FG%b!#PC380^bFJ|Nn|rAl3HRYsxHXN=Wo3KZ~#DNBS|{-6rUuGH0{|o z#r-m$DqlSV1<0&xWHyqnX9I$EyF+omj1Yq7&o;@dYhwYS|K*#x4PL(3o_L<7)nU0h zv_k`m!tNg3ZjW^G36Iy}cQ##lv`kV4uzdPZl;O^P&;c-Z|DR93#_NLsg1Ll z)YwBmi*&=JR%^H+k56g`OOVgRul~dD#Zwp{mSmD$C)& z#B$5Dtijlo8GiqRnN1asA$9$aNZxn3Ag`~xGaDJEb^D?zq^gm@SON$J7XfJM#>}Rs z$B=UP_wkVcVk=RgpXEK;qdW6^4%|w&{;;|^IBGYbnD3z*H8}1(*d0NLK zkr44%)D0J+0qD2=ZGwSE(H&PG~7eHj~0}9NxTr&q1j& zaqD}w&BtPiSFa0r**7P(#L#s%)T$kpDjb%pIF9pATQwmBNi9Jxo1WaN{gP!}u=B2n zZkV1yOj0BgBEOXzTM$M5}W`D?ykYzEfCzDg5XwY0R`N8 z-tNBlcK^8J>;7~5?eU!&yT+)hbI#c7?6vn^Ypyx#dGUD@K%gwIBo9DB1^|!{FTnE( z;4J_X9UTK54HE+c0}BiD1r7-=4mLIp1raem2@NHXmWGm=nvRK!g^q!Pk(!!S=rzY1 z9)5m)Ad85EFt0clA3yIuH$lR}!otDEA;-lf=cT8n=l!2Pp1T2rm`GD71t>@i0AxZW z6hfruegF{BPc)=|9f1FOAR(imqM>78V!gmdoX|i3Kt@7AK}JPELqkPHob8AB9e_%R zMnumegHEhrhQZ)W!W)>7i^(Wk+e7+s>YR!1vr7=x3$mBw6qL-bSXf`P@e2qF35$rn zeJ3Zcps1v*`AJJ#M^{hZ+``hz+Q!z-)y>_*6YS+391q9#jyXuE<%J|$f&3&s2Km)g@o*hXeflJX!JbjL^2u}X3oS6yn&b` zvI)7hJy?u}wtH94Q;)cfuy+b8sJ8}1i7$&#jk~!Bo9DZ1GTE99P zW*r#Y>YAe<>sqUc{aeZ5B@C4x=<=di0sqIfG7~#Neaq68uC}0g(j%q|R1H|#B{z|; z_jzYLtpuxT`D!diigFb7|^>gB)&sW0E=`T2zB&FJ;^u}6Ve@YB?OSL8%( zb+))BGJ=6eFmHSjZ^L9el;?+rv8nR zDn0cJQ}tm9ma={j<4nzB%P<}jA@kUY2!Hs~m z$r~U{f;KMI-G$?(jw=1D54hYQZ>Z$Q24CO8IL9w$X%SeRl0z0bBY{cDL&MVS-M?wD z?hNoknK*pPJ?`CvcPQ`jhq5uRyD-GodSe0#P!e2;e5c~>Z8|zTBs1BMqHK`@Q7ve5 zCNT#5iJ-e(o1@iy${h^IuFMrJHU;<9=BID`j`q3H;ZEnb5g{I}`M9s(o1Z-%N3(BC znx<;6`N1=rvB3~2!84V?q!OXA_ewu3q)u4OPn+*4&+$opC85CJUFXt+Q-{FbwVu?_ zu1%xPm|*FNx@oxtlzen;ijR0Qq|CksTX7Noug;Uo4${5{%~Gc;b$MZ3->I+NSK;~y zg>~6DFdTD8($}W+8i)D#juPH7o^ek)=5Y8}k|yWF!W9;B_-sWpDM`>=JG#^ z-h(9Ym7gYcM@$-&1cw)64*|^KopN6Dbu;-+ZzAeG&c<&qv^my_t6kp14el=Li3;rMdPKu~A4s=9%U=0kH7AB_9YGa&8* z-|o?xg2sGR|H5smP804$c$R!ZT+O(udnYYSZW~C*%WJD@>9}UyG4__WO?@l?$wbqp zlkogD`~xnde0{?gsd*;TVgD+Bb6DDH4i|VMEWr8%Lv=;4!}V3^7m1e zC&qPV#rn1$wjgs5Ze_bU76~h%!Y11q2_|b^6o9qtR_M*r%80Wo|Cc_Z)I=q6wh|g8 zmYiz3xo3b)=8MsfAU`pcmRUOaWk>NI0w;G=B83GKq~j|cp)GX^n@RXSvGxElrdlRbFtpmJFjDiAHzw@h7CrF zdb@Sp!=3|pFX9Ou*7lB@v#`}}estL9?dA45-?(3@yPtU)pR^&2|Jx(O0}hvcHN6C; z&Cc6iD>%CnU<9F{`o&kY=&j7f0XXR|Y1iOC7+cMk6rrOvb2(zyr zuP~f_q9NdG7Vhk?n}l`SMB0FBxW#@0~C%n1;i zn|TQCqmI+{zFGY-tAn?BBdT!&1T%tQLNgoJtsl>Ox^DCVcN3cpQ}wXQeAm$QKam}m z#OBunetsszaEaCjV80387#_w=2&>XDMQ`@x!U_p)D2ax2P}E+##x^ch&%NFH;q5CX z&m~GWGA}BMZj`&L>eq8!HqA_~7~%C;d&$iTZC~1N?ueP50UNSkC6=4E?^9eKy>T-xbp2=cbO2%SP=f-*>DX5(D^gTB5YfgNopZ;f(gZ@~)sOcP!ZPN@Cr z#Jm9>?{<9a3&8c|+xkOzHGH+`2>-j{E-`DC8f8N}5DNLd`);OP&*?D} zTx@Qbm(5zUy=z<&z;jh?SM_!v8_!o@o77f-ogfvA*b_p&ds|#N<)cW`2xOjAkeG`pJ}E1*~EjNeLO!F@Krm2!(yR4O^+d6MS`u*p9Iyr^~pCeBMaB}HKQ zeRY+o-{6ApgM+s8m*0DD1!}|Ju%hfMvrn`$LS6fed1pV*I2i9vKgluEwMYwXT7=TY zgGY|R)iOEA2*<`x4zQu>s`q_=(Y3cc$lAp_@eHV2DDWR|{LGDPVwiBLTJmP%fh{s_ zHVr!QZQ=7Jq^g5X1dHvRM5BB;e83OsTz27jYIk+V|ME93jB@K$`I5+h+jN zvibw2$}=FR(7VI;G`p^|i|FKA|IKj6mr^?5c;^3j8^Aqf)ZN|_#aVyAl|aukz<1>%`F>&*c7O++j3EmC}N|2?8ozge3eWpyY)!9Z9GAnYuD^wGfze-h2#3x zZgPjEEyTHrG^iMPIecVKX?*?KgDF&d0^_l3x-}bS-9?C)k_#A*mn^VJG!v2oZGH6< ztgRJQqH!u#_>n>)D*;201@k!u3j2YH;==EBwDX;N^`SOS+T9%^C3F5TrNJ-Cy}LS#Q1HP+ofoe%}4kvGU%q# zMgg9_t$N~PHo3AG{;QiAmEVpv7JS0o2Me}Hv)f^EPk-^J1Br)v1mHKkm z#CaTW{7qSUtXcVra4#d!c$du@@b`SZpPj&+BOS;VlZFCsE8B${u>lBJ-#E?7t{&-A zb#1(Bi|~`wd9uCxK!czAPmFV+zD%qxB!zF*rnNhMBgDC1L7{%A-MSIx9Wf_K1@_*g zPOz#;%GeotsJpM!hwgrR24G~rc{m4T%W`cJAfa=2`9W|YXbE2T z3{b^f&W1rrkhY~ThZi~pz^O(+el{+qm=2-e$j^Z7mg?LXaP{$Ce!3I(p?)0~<;Bjs zpQj12UFkJ&_T?BrZ?n_4w4c+RFOOW<0hh9z-@Wgm3F01hn*JL70Xv-lD=^(u8Ra!E z4GjfGw;xK{$;4lSu88A*YEyM8O(P~gIJmNaE(`iW%N!eZrE54{QGF{>lsdO0dv zaioX({D?SJ{zn%#A=jp6p%ASNu4!P5SM|P>e z+6TJo3d&fAiqa3QPBATw>lRCH}yhJ2PN){(pz=E zyQlEo&a9qe-jbh5(`L%~CTzxV4@!zA?rtbUeR`bj1EXK+NAHhi3bB50LF$(LNt@To z3EFDvuf%@WG3V%OSnXtst;#S^YDmVG&jKi+fZNc-6|z>Rw9{p~4G zDzOYQ<+lvJ0J2CGhZsAYo&mktu)=4++h`z+58?a}R>CWR|H1pK5i=%K3aauHPA+wB z?fwkt*R+6%K?T8C6zzHrOdnq>D9k$Q>8YaW`$PR!@`0 z3?2m8ECR$E*1mBK;=bTH#X z4L}Y7)NbPUR{D~hH*7?Se_DS%_cv`9SLADyN*I@AHjtYoJKprsW0G$TPLsnOCQe^u zbBKOq1Bj1<#KXq}$X+$==LMqq#zE_hC>Q$EcVcd3ip!RAZw*tQ0Yjtsy`33Q$F7&5 z@Ykgv-h`(ZESuS907-a=$v^}t)Pi6gls5Jy$M&qc3OV}Pi>B>SDaYns;l_6o5hB6y zCCd&X-PsehI?Ut#n!tU=;71GPe6rJdllAPlZ1~sO@l0&aw~f)n*DTqC_4@=GawLF% z_ofr#KiNrmSyAb$1)|l*F)-Q;K$2qgM@>egarnx&-uWd5jjdHbU5nQhb`1>QO(}=B zCIrJCCNW04(Auq^0hnFiQpOKeTRn=jDO6~Q)Hj{RHXj6ibmmE+FQdiz+_&(FjrJGx zBsIo9nj`B@teIWY_+c_O_)(oZ4Q&r(0Vy4>TIQ~XZ`T%`tuW+++5qTNo zURPum&a5v!L=L(aiWEhfI@S`2{!Yz1BVa;sU*WSK=8%c|cBR;m2}Zk&kIg8}s=nJd zPdooB)%qtpub!uzsH=m#SjfvTn>k2=vgn&(Q!rhe@?9H5p$}KR=cCb)F}c@xoHNyc zD~?4UV2#Cx18^uVm(2Z?|Y!K9~NqG!PVYvXET?gvSbs1HneTj9ab{6p+P z@dZ{N3B9!0AupcuOqc#m6e_9q#m$P^ue8$(x3FarZl+&?q@UcG<{ZrRX0B*>9TYU% zV&~@xQxf0aBh4l);;H&RRKkM$1E>U`xi(~Hwz<+J+sTPXTZADq(@Z>0%Wc-80vh}aIO?Z?=ybT>J|`qg@a)h^i;-w1MjGsgfx+pnqYB7W2HJD;UmVnco)<9=!XD@@P?< z;#35t?f$@5h=6hbkC;G+1psLeNY)9Aql9@*)I|i?>mlFl6{mF#P~2bBKK&H9M31br zqa}f&QYI(y3wb2EL}N}^$j% zEk?T`D|3G-4Mop{IMC8)DmN1wycd?BPkjUJj5Ur;Ejvi~^jWQTvjm zQJujQ#c^2{&ptZ|9osxeI_ajv)E`*lWJR@&e?l*{r#PzkH;DHWRm%;0qqc9E)2HPa z|4MGU?u#x=He`C`+3H6_SB(!+JoyxEnX=Z5Quh^ybMUh(#5uQ}qSG?Gn<9$+q~2lh za7~vtO_NU;J_G!^_@Z?>zyW<}CZY8OGj8cxL2Dwye=}}5yp!}FU)vxs{%U7&?HVQV z3l0tW!gU3Ew!jglte~&-v)9;0>}pw0_wHfysN9TAawzbtGZT7WIq2L%tgrm7L#r4j zA58}8WB;l8gX-)PN`sTHE-aHf+A0103{C#z$?8cD-D=H~AaLyp7`gZLEF=Jz3F?v8 zT2+c=L^Rie!*i1g?3P*r_6OkS@HN6n&!H9DCNJ&cA$swZA@(BgBrNU|x^G5K+1G3n z25afweJIO+0q91~MgS(P|H{7q$-w{ZTT&$_3DTwKz*$I4Vfz!)`IT7x%~+~-iAa;g zn!>Gw!ug}<7k^~vY5u0Fsi8qrrnw;6T&_Jw@T~WnuvU*?npJ zMD?x_nPs>BNT<&?)`eFlkTcP&|*a}Sjsexig6bU?>* z_f%RpQEH9;zM7yF*Ul3NA*?7p}4op9Xg~k;>-q3WG7%Vpz_6j5L@5{7O zAallhUWrviEcEDy<~snHpae7#sR3F;bn^Ned^PY3GI7>F=eM90udmZoldF3w#)pP~Q}r#*M|;O6~E< z1P_$M5=9*9J1NC9lM^?6Za+P$+q+j6IB;?vJD4}r2hue~$_|m(k$%GKeo-gK^KT8- z{ReJz4h_NFKZmJVouElis>gtlR?35X2GmgxDRYxs^Tn@cPe`+g^Gyn`zW zFfs|3D1h1Z*w_1DR-DYbFjCiETZz}+GR-&q8`lEpjbFu*m)cbBlajV5|>~mzc47fXE z$FW{O`+Cm_9zF8Mm|Nn8%awuWFLeg@vZU(D*uCjE6j7QO&x`*ql9fG9R9?z~S;EED zB|FXo22)(t){N!Muqzt|CXuZ|zn|a-c~Pmm&NsBbJl_Es)1J>aRKS8Yn*~R32a*fq z%!3G;*$S02hhhzaY#Yqn#MUTh1_;36y6L*J4vze#hBTs>-!Vd6T*!|pwrQ5zVKR`e zNMq&&)wrmtdQKLlcEK;qWsL_E;Lj_1O4mDC9c&As_51DtwD9*cES|cKV;_d0n*meJ8LVp&V?-3Z_8DbC z7}Do4dxO||a0N)r=O-$PBKKdl4e@9(B->JN7^`V`oinEVEq*jQcx9c*gTkiZh%y-F zS$IRttA&2=eEqe)Uld%HtMk5ZI6_SEa?UZ7FZ>L85&WPe&i()bca(Cr#8g5x7Fuij zJLjZ@$1<)e{&b0%f#u4<&@E0Ktp?p?9~G-Kfq0^Vz=U{AVYsa?OPL|apJ=*4r7(u2 ztx+k{9F^6IVv|Tsit@r15oB!+Fq2r3le z9x3pxB;+A4S+=j)f)!0^n=u!qCYKIm^7F(ZN=zpa%&jvAsfT)oG_(zMv`j&qUhT^2 z?L;QjCVEN4Nv#jr?fL`Z0<^s6q~BYIA_N3x>gXD4>n&p#`(qN9P zJu)E_=!z0O3vcIxU>mSbYT|HXzbxl`meXz<@J$3>|%DU%I{-kTbIVQCyO7qT@^FF?3K*A}BPK@to=+KRP zaS_a`+UeMSFM8EPy}0b>Z;Q}(9NjqaF0Kcs_{oADn~ykxxm&mj12@aRYurFxbba&_ z^t}X%QgPFXb+aC|*W)7j)C;lTB$K&zr!ug4@4ePetG->Di=EC)?~wQ4X#CgUj4%Ez zwAbO=8zJ|e!EmfnJ5lYrip(M@(RJIo{B*AT-52E<#96M>VU^9CMhRzE9@TWP)bSWZ zmFTIrF?(3Y9g2}1F3Io=sBwD++#?lSH7gi+#X&=xBAxiv*?U_C zYP1|IH<_)|M=N)a)MGH_3h%bR9RyxDv?53oMS>0a(9cwD)dXO4Dymvrw_CMZHFNyG zJUnKNS$Gn!3r-*HsaB@Cns1cZf4k$NZ)_O{R>3+s)j!S&*mBOlN_^6Cx3)%717ILU z2#-M8{jMia4v$lx80N%5Ugg`a6Tqc8(hdSLCZv@Fn8ugJRLS~*S3JhpTiKBd^FSPN zIhQ6Oq3MIV0!qIDNZgx>c9x$(E;^{!lF4<2z9exU8XM;ji9Hc0u4*_>A#Ht2XViQg z$&zzu)(=h60CNMTQ(}Bbw$2P%Y5SH$)*!AyQE0sw>`3YYMw!&f(@BAo1RpOeL~QaY ziG0)liIbSow#m9W)FPqkoh;&Z1vL3_$eI`bzk3oxNUDuy5D%tX_;Zsc0EK;(q$Eca zTr}}&+!>Uf0VzmAXhXT=Kur@RYWJeRl!DAcXSdovu!p`lNHv*$Wkw9<957a z>mWr?>)s6#V_e{e8Hee)d14>h!Ji&`Uubw%f*Z4rdoe%W>_e{M z#YXt{6IXFR(t$wNQ_!4LFP9ZG`!V_@aJu8o=ai7+%D<*(yQf})p^i-^G~ys9mes^w z5_@m*No|bqb~DfOplK&uSh0Lp$~cx$#aSgI8ne8}69a~3RtrTBwN4wQtk*;#b6$D>`nL=F0$x5@#ik?|0IltFC81Cg;HUvTk)^ zIjd3y6L<#~ciO9Tzv8=KY?;VRDY&nCE<)n~2e*{f$0zRQHle3nbghar4}V%}q$rcN zy83-=>85;NzKSUwC|i-|+`DAJrZ)Qo@8A2f>Bc4^0b1OLgqKtn#^Ibhetlv^tj#eD zudq1>E8j%dcCWWlxSqtbIj}%r=i^DXxvMa8+ApHWVo^6^ zFJ7o%+mo_3&hedLx1pN2f>1 zxqa}FytmJ6VMiMiOV#74S8Cv(Kc}w@@M?PD86a(UH5S0;M{>`+r0ZvJ>V+RFwX+3B z)ZdL05QPUGjqQ$C4?U8MCP0`s3m6N#La!K`BVc2wy7c&qA85hvz**rPSM?ZlgJjj% z$Znkmmbt~QFn5v{nA6e_?SJ0ynuV?=V}$|O3|tZTj2|Z|u+wExd%hRJ<#g|t$r+z< z|7GVX`AB!0#MGR`|Lx@=7*SNE(nhRf(fq&&?R%}Un^DUf2l-|0pIe$q6Esb<>J%Co zRxM{hU(Mh_W8_&*eg_oo2f~Y|89$e(guY0UxK>>vHFRDCFidk42g}U2qosodl-hb5 zb!GcVrT!i2(DY#X==B*x+GpA+XS-wE93r1tVhAJdYfZ_tyLCAb61;UnHBB5Y9|!DJ zN#V?^bwKr{$iUosb(8HvWus5wtgX$>pJLhFmOW{@GZMyM27wm&hiNxd>cTW48AG+g zT!R4URhmA(%=6UC#JT@jN7Ly4Sx1vwpws~a=I0yhcU>7;N3W8QGq1ZcdpD941h&uc zx}w@iOKr|;^me1km4vBg!#?;$lEXn0{2S51z4s1{36N(1K8UO}^A`tG-;3l_n{Km~ z)G9FxZ_1mDZ4&EB=0bR%!i9KsKc5j?6XsApWSMVAh8G)W)l^zrrM%Tl^TrD$>CeZh zCw{M#^8;eAi9ve5Mvf9ELkJp|@CehX#_C^iwb?d#VSf2>U*3gy-Ddh9u4IT3m)Ql2 zpQA@2=Sm|FcJhQTEuV3*BF3xeX~)yQczIE5A^*EGPh7kmyAZ59ERX!HM}1-Q@2sse ze?yfcH}_>mMBK%xJ?J(y+eIK$nf`t%A2b}(s6YO&{|h+FwkA?E5MF8~5Pl+Z)iohI zW=!hivC|mgc-iQQnP4a@+geeY`SUO`b z)=r3>z2>!8+gzwPGjL4zX3*Q80VY#d0r;?$UhbU5rA3of!x55NeTISEl{y+T}l7L53U7XMdXZI=2Vo`59_HiG)8S%-(J-g4VFyXk(K=F zUm&bg%Mn*bvZlVsAyC@q)8^ztMB(PG4G6shmX4cC|JGD^31blZ7_oBAd_zF^O>1(6 zr}k0a2um{E?^QU^0N&j2ih&v%B&x8_>VHtnSM4Xv}e^UM$8b%WG{zavKLM3y~i^HHJu>`{~A><}OcnEgb1-WWZ@D8GI= z^!IzGkFrWuwr@O!@g;+2NX3@E`&8wZAEfcC2$q&C>kghY(C)fN>fR&wTg-y0Y`Gmc zrw>z99k3&Iei+ifbB%s&ze(HzzD0m{X=KTk)o|I_Z79Eoe&s;cPm9L#H^lFTM}9I% zuTpnG&6}?)Ui(tsEOB@ESefJ9m1{FwfgM48VhNY6CNCn7J= z^8%vt1t%uxOU|`0>ZZ4r%AWv*nvSsXTkYD$w(oIlSXG2fz8N^LMMT7%4bP&v91z(j z=eZ$+%~)lL62nllBm0h`kogRg>zT20F4(o-nDy73qvrc_x#P=qLj})QMM)!`BthbBmF!Q7V4XhJlJ3$AsaC9%inu+c@cW0OuLxq*eTn+5KrW zmC-_%NBVBsslY==rZ%})^;_KxU~jd7k&KrE&7TVBgcE`zqr1r4EP;vex^aPL02(i> z(4CV}?);|K8dUtvbIJ*M@N*v@chbdo+5RkDyznd~8t$*$6#_ual~vm`(;0eRisl zc_A~8qJFK9LM@2?+79oJm1iIKmAR=Vf#rYtH3jF{0{y(orS=rMKQEYCgQY`fUVRnGP4b9s0DmCnpv-3NAyVZt0151>J1H(xHd0a?enNIg z{zG@a=v|DS3O?Vc*~N}?!h%zkjed?dRTeumG&Ph;#h|$9&-JoFw&>R9i*1oLZV4^$ zgv=$LoJ~`No4^e5CkJzNBas!mwe;_Vd=}9d<5~MR!QR1B6KsLMmGw*WIUzsu zwST{H7#-eMq@ck=`s6o;cAnZ4z9bInO{ZijOmyLdg@GarHP>Nj_c@;~>i(4GNcmz5?* z@(J=GyOa6@4S!B!c@w;Qnl?61Q|2TlKVB(OkNLHbn^rMaCkHNC_o&_1lTn_W9uC^X?+`-$a~tqVCPzpy=O4#RC=1 ze{ZsGn)+MSpYT_5>p`7D3g-A%*q6B6UM6Zc2U_qp6KpnaT@qmRNbuUO7@$lZg-1B1 zLueYmy<94ov7TPOw)~*C6dX!!>TyCBJOiz&xvo-wAaaAnS(gqt{pzJ*P?7%qiB0N9 z=qGNIR(yMBBeNrwyykEO?_=0^nd*(t6;LB6}`k?W81y|3*&TPi=f+>Dqxi<3R-ixd)S_puW{ zd2ds6Psn^&hYOs0FfKR5+>>Cd0i zoji+Ihnyna9$cO5dfJ_7ndXc1rM=QFa=X@S6ahVdd*dvppxlcg$8{^>xaA&9nF~L;1>*W z$=-PQ80c+juRSmE))klw;6mqN!Ol*SKl9|!2I>cG3NL9gb*pAB`H1ADLNYuDy^4+k zaNsl$PNlPJRlL`Z*=NIvBZL7igkM=!FO5P;x_8{G!)XZ@o_-6^;9-!}dVRQie|{`8 z72u&m=YdhACYsjdwONh30doZ68`{1ROh!Uyefhd3)`ddR)JsHUWMte0l%E%yf)d#Q z)7mV50IB$7;t8qE>!ZCp19)2d(gdwga3#S6^>wX=Rba<3`8o zW?3Micjz_e@Lutlzj4M@RZtXJI_^=+w`wp*0VEU7ThV~;V&VD=T$Oto^pHmQb?2nV|jIToBXwl((xw|!& zkbHlv%rIRLrsU>4f=7$%%jlY`zn`>UE17LGc21w73QZBQS8DUeI^>JZN?zEFo_xu} zUyZ$=#ua@ppIy|08yv(G?6^h8h~a;nI=sC*L9Oi(ety=QMKe2ISZGtTvQ8lVy{<*t z`(#zoxWKo0J2rW4O1=p%g)xOGjU`IvyE|LoEamS299tr=Hw{vy(hR-sys-GfCOw+J z{pn`ldSgir&L0znnT9n%2Pw^8v8VGIVX+zs*BB*?wbZe5Nn0BLut~4y$2FVQ_Z~CD z2&ChT(cubhar0lZLizBu%_2T0)T!42Ssnj~4;Iij8Q@?z=v(BfwY{M+&6|V34NgAf{hO;xo4hslrg&I;DATRcQ)z(V@VmMCAFXAnFDghxX`bk@F;XR2w^$(#|{(pg0`y-!32Y-8I z%>_a5$2({xt3qTqR83(jadk{E4GJd&1zKI>BZi~*R8KWe(nqL#pkF`^NPo<`rg^#w z5fDL|$S!4v0c=`$Jj3+iA`@HHMc^jYNl988{pyGYbtV;aM}56-;)yMCBi*Asdn|za zG}6rOQ=2NgnZYNTuJgZxU7#`ruAdG`;=kj5Ko?vbR`DA}T{XZy5d2WMmiLXfU`49X zi?%VV*NhIG`QFh_G;FPlqK1byRgzAT#`wWTl z2w;e<^NF-Ac1CY*yQw+B6EjFW8lx1m*wM$D;$%AYkjCEqla_%>o6m#pX{B{6_|*sK zC>6Sn=46m))Igl3N&pe)^S1saU43JebtRwR-3Z?Uj&252$up!_Ymu z{|s&YP&>_`vCD~hZhhuOs9!y=d#GY&}@umI=Pm>hj@ozxD!I4^9Ga zi?7rg8-TghwMqCaddAfKlQya(*JSZDhk&p<>)&5pnVctu@60*qb_lem+U#TE*RY7?NHhOOO~m*C00Q1vnRSl-ybRNFChu=IAy_x z`)@vXG=-#p5sD{*D^BoAs5?-j@Ni$fTyWLA zLFP-1*i+VY`ybl!Z%-?bP&UYg`A-Ua_hjT;$fSsTfu%>m^1l`w{&rfkmXJ1zd2@u= zn;!(ZF1L!U47)v0oH^=+5HKn+vhl^|SY)s=K^I?$8v5BA=GC5x%M|H@10Fm;14jJ) zby#zHf!c%901A=eO`J+Sv%V?RI$!p`44m1rnXLW{Tk1JmbBiDsd0N0E&l@@)FN4`&;)7P9*{UNp= zSB%sg{ChVJ*vU{NFLIO2PU6xf_ECNfke?XS=fLv%`kO=>8`mY~?A@urr&Wygu|gmf zkmYa2dO5*i+4#kACB|6x>1*|u`&loiDjXY5J`2y=%yLwO`|hD|Fn&-I8R_mGE_6tL zX~0;NAGPxemb^tSF6C6ER8f3mfANFJGE835bcF2_*I!|Z9lZ6t@^!eYk039z-p84dZt~r{^V?W)F-S`l{gi;>X+aZU zIGu(Z{{uO)Li6y!k&3~hAD7$r24gQsLsO#HjxHodr9D=*tb~Fos~hinY=46g&J3Y3 zJ3c zk#H2f%_w0@PovXeZEVLY<4IFNR_)3sZ?Rle9*T;yldY*#3`+B_boFyE|6-Za>%{Qa zgZIuUdOM!)nu25=2>mpK0HoEQ0lAgJg>6_SrcaXyO~pPI_YUBDG8LVSVD zh|nF*?#9~PrCK6Zt)GH^V_he>>Q7%25xU-Y0ow{UVZ{ix#Tak zOZNZMY1RMg+pqu9H56#c_U<=`o+We3}Y!`LTv`>pXarkdVwG z!RF=uh``SHm;NhuX8iXb?Ckx{-hl$|aToBCO4XhC;jJb@U&+)3BLu>x9&<|(!Zaci zIA$Ciq?wjmZl|$-FL7EdI()v=!`%OkR)|!N!#NTCi-a8Y=r4G{7{^1xfB!_K>IJ0k zkr9&3KthBL(au$Y-<4|=iV&0P-SR#I{<|N6%aqxVNCBN zseF|JuerF^mwj{^e|}J^Z*BaP$QSP?XRECo4K7l@zc6{kE!Qv7o^*C9nK?4-g0oNt znAENL_?ABd26WV(0d9f&puwX!QvFXSzn!;vi1J5A=lA}BmdCT70g|^Sx4)kO&`$xq zt_UBS=va8X=z?o~`J}_Wz(#FiQs%jFo^kLDxIA%3XjrRZQ~&L{g@0Wa^JPlkaJ(?L zDNPOoHIE1h{+bLc%lyT=6ILej-ozyuaPf6oNBH&OGhkXQ8>Yq~wYPrsbZ7F!7We=D z&}ap<334rXV=Zd->Q{xL@@Q*1!cJNe3^c0jcL z=ioK@Ch_8fPR9IDsJyR|mBhwBWuY=~>2F)!19LlN=WmA->Sec5U;OL_bXtUEuB+va zy^|%;wI$fOj`}IJlKWOx4+-ShaO&-0jN;D#wpq!{2OW`87`x(}JC>8Rqgj~ z0Q?XLk1bR1 zRX2(&anki}Mc-B>-tV_elV}S_4Z`IlZ5cBZG zXPD>U!r08}5jTjQj^yDj>n5JG`gfh2w|t~XVWbM0x}^{*KiT`6!L|8!VZu9?B!3lM z7JJTaaSh*`y8QCN6ZTlE8vm@03QjzfV!JfHbjXO~(f6Vz%(xP#c89Zj_R(U~(#{sN zJ-DhF6VuMnu3838Xg+StH&vceY=5Mn6gOvcHIy2VgOYe?i^e8!)GjU6rUcMOd|4v* zpqT~u{}j0)qmkFPsy}Z^Q^+0R`0~yoIhnxSN*KA$sa+}WAc13HxiEvL?igo=n+0|I zN}wAo)kEpuv86)w2zt;+Gvt%uyo#gVG6-YyA!-?d2v@~D5yW90=rBOtK*IWTik}O= zGCAz~*H@gGwHp4a^TADrSciW8A)oebjVSkXwA} z4PUbi>sJn!cts46RV2pd;j0q^eXIPf6(hFYrx654JNZVHL7tK7yPG)P&qupMP^*D0 zil)K7YMfLTOB{5ffqhXuS$=+Ge)*#-mf9@3Fc&Jmgp;~O!?M; zeokd~l{mr!Zwu#gS2HV1Yo}DCkW2u@4sfE$vUo$^u2IR|QdHgXZuw}sfOw|EeiAd5&QM*kzqS4zp5h)S&ILB75n_t$wy$Qe*+6Uo7VP;DfLe?J85zOE9Y$Q(%odD%%*7uG;8iidzmcG z+*}|uE7{V?TGDp~>@dZc#E9V%7@RP~zhZJ&wv z3L#Am!NKti8-Gcw*bSgSltC@AyaNUT^xpM%w<@f)H`Q` zE-o&v>a$mzKz;Cv)^vqav~Z&hfY(=4A#d2FtE559x$!H7OOZ zc%m|}uKv`m(L#+zA0`*Rg4CWVz_t7(f!AnFh&}pM)zkVqy9#)-DNNWbMwZFBL`#ku z0N4bGeX>^jWqZmDQp9OuWy~A{{Uoq{F$8==Ar92kWd0JHmSs?>-{bTkVVg(J5bc*X zsL=rEs~c2thQCWxIvS}oFw%KDEy)4S+ScxxIkpmPv_)-lWwNN6=OC%2w&0S!B3)G~ z(p4$0%I1uzTVg1ytb11^fE|;=#S<79D?DJz9qdpoZcursKM4jD z8^ly@gXW=yg40;YVOm3DEfja^6cfAboggahT0vC@ta_e1c@*-C8*?g;t3lxbo%+eE zbV7$439iAF;}v+^t2NEvYqyP?zAb054LmdIM`mpuYARcUmBpMf>xu5zPA5#W)hc>F zKfTAu+7shzBi}33gQXofZP{=!o5uH*EVajaGepiHf@dA&v{%WrCChoXDWH@{ zq9*dc(5wviav{OS+mvYoBiW=LhVS6Q55K#wQE4&rR=lvwFNIZ=kCYcW8DNr-X~={| zlkQp62ysQpFSbD$R10+AkBTm01H%zWHnm(a{llkqU`$ZIq%GBLa1(RQ8>tspViFh% zGt0!51&b?QV$sH`zgSY+s2Vq&GjO)6(DcXz%l()kE3#Y`GE`%XNJ|RzD(-X^(6hJ7 zBghVXeL0HmPB^*-6Hq5*O794Z*uDq0brD9k?y?YVJaWQV^Z*p&D`-W+_b(K>ropS) zrswM+0#YYDc?Z4EfPkMjxi(pjXGXAbzf1ku_3mod!TOS-bnQBr%fah#g<0cME7LFY zHt$llg?mO@k);*|-b?0NZU>MQWJ&!xADB%IQs+ADCA-{W6>rpIX8eM}Xd{eDJP2CS z9-reb=r90lAHE}O@8#+E?n2V^5nY}3+C*crKE`I~vAjrk<454qO}SgDmG|}+;c<+= znpN2m6Wr5R9g<7!gw|xm4psV9wcsOX($*nj$q}l*AC$LD;&oz$tA-GN%9B{RmHP}( zd)YP4cA%p?Gvz>P?~rT{Yd|JN#uJ2R__jL_3YXH3FRKhYW-Y&Jj?`mJj(;h=xQgNq z*tA|iF0bsL+SN9>kb%oQ?IJ|!`IZIsUDH?Ukz}6US2s7`1jAqG8X49o&X!8rojIcT z_RR#xULPQ|T6l5vdA-pmb0`kRUw)3>g$96zRQ+f(ir!gkppY z1PdTlIztOW=txmINR759KVt{bZ%)Jjf>ptAKS!>pPI8SGtz0dyle)#tH z@BNKh_15=QZzc62+Y)HYk zD9dm>CXRtwScF(tQ=~Ikb3~_Hh8I{wwKlUn@-7JK%5Qb@JC<_wFKua~QJbgLrY}5e z^MXV?At8~mVvoionCW~^U2E4PCqf$UHlM*FjNz(Pfkk9vdd@NjdQig<-gFU_GFxppAs zm1g-fOk}!@{fc#!-TwVCp|ea)Xn#ut(s9KBB*Qbls74CBgCZr-q>UGO@ce`#(OwnT{`W| zw#~SxTXR~pC5^sTLDllkWtjWuR#7CTHSX}#OL!Ot(&)-r9j<4Wi}E2H8S+*8CaZM9 zFvFc8;49GgRMk!PO^u@*T#@Lxr_k_j^9xcA!rUSdTE3S4t1;`h1M66$>Iy!?6C97S z_4P)p43v~Rr#d#$e3oxvGncPcywT2IPPB-<=EY)blO6nPhIg6r(p5h*FT|85vN~o) z$%OBih6Yg=8A(dY!?v1l8+h%y!_0qq&%r&w`YQe*JF!krk{vs9#JqJd6P#T7#pagy z7!vvVjum%>F1K4`xCD_&h5IYI-7ldbGAFAqaks3sTx+mLBtjx)ya;kN?hCHcK>yoh zNOu1SuUmMYWnXVuw<{t>?l!CZEBx(QFetIip`_kiC=KJm>IRS&(!VkwZBBu5` z3&7ASFCkPOoSzk@@z?Q7{{GrynzI5Jolm22Zs^G`5gx1ThA;fX>(bDpn#IOeJ}?Et z#vu-pUQJo;&}`^>W+=|VrZ*&6Dag2nuH=0y&Ud!(KvfNKU=WWB_<(c!RPW|h4MX8j zW>Jy30)~hXV0-@~OZ9qy`uEWexh9?tTAc%)u!u?2iFyMi$sZklF%m$GdZJ1<>a3FWyU+m>%GkvD$H>;}WHh67MvWutaK zQ|tTBEo6KIBH#9J`F^eqMHSF_zg2E4?R`@IjD5`QY@%YTH zZubJ%s-s@t2vMN#mG4%&L`;2|p?chEyH^I$SXE8~MP~sz(}om=29kSXVs<{LfK&5# z7)kKf%>q;P8dF>LKzdnv*Fr9b?D3WUn$KZL;DZ2Hibk;$0cwp zzU3W8RAIl#9MR_I9BNTsWgc2m@Pxw3(Vo%~3U9gDM!-^MDY?{T&HuDPP+Gumw|*m` zPJ}!2$MJUia3h;qQM->ixxc3&Z-tl$VbPC6g3?j( z(y|Jx>t>?K)O()XLW4nlVWt6Kdpf}onptpzV&e2kJ&>i-3w)~4xB2<>*EVxFA<)UH zIXRkb@})9xWWen8+N%2DLzt6bx?+}EC2?SZn@QD;9xQ@80=WWnjOv81bx(U-yR6Nu z+8m`~qCH1R&!S+f=i6>RCg_D|5Hd5?-u48q%xLv6&KfhFfLZPeSyzZb<~Pz?1L?2# z`_gBn(1MCM9#eT^y0f%PSVXpH!sh_^Un;ZjmE%Ip z-XKQCE5WbGzjsbPLEBclN*0PPHTyldYnJPS3zhw<9ubY%8qxW7J5Vb;Frawf1hQ82mPNj&u7 z6Ob$Co)n+Mnm!YmA&0?eXkL7cV%|06wWw@tFm1wJQy*sXwnAU1W!Ii)K?(2UT1W2i zB;SxW%5k3&$z!Hhn*=L8k-FFf$aJ(NLXrr+?Ce`fj=he5zCuh5s;c2Fs4S)%2X5yeCRF9*JNMsnb?HV5!jrB*o>$8Oz!x`RJvP}2p1<`QW>n{a* z;2+7tYD(g~YNftz+-4Lg!o_I~{ifWd3U-hYiPaWOgr+uxpXHFNaLnwcI8G)D>_yHl zPfw`EdU8*p4+}a{=4%@mG1ZTt82;~i86@m=^FkK)no;VGfvGEIO&ZJ3((#ImXgW>qXp=oLR7#3b8~QSy%H0jSjs4D`0XTstzMJ~IZ0PF3u* zHO7BwoMh2|*f?i!k(#QYR=#6EISsIjfdC2#68h=Girs@x)ss=^`90w|d%^>!-2i|? zxn6+%CaCref1qXxu$)6p`)oq{=C~<8$ib&SjPi$59`;cOKC3N(WvC}Qshn7+l?*a3 zKo8T-0!br`li*W+DpN^cp2cAGk~4nt_g{Wg6S{Q}?J2WduJEHjqoa&M>_>$CA;Zf< zkb!#xpa0TgfW0TH#u4Pf&;EW6&t-iN@7};q>fN~B)s)*e@Z-T~{uo^`tdWe|!>51u z?@~EW9!vhgpTrNraphG{MmCbYnq+Dj{_exn9VjQQ0%3YC zkFpXotM)F7R`Hs0wR?6pQ_!xdr3cH{{gjmgNioKOnVb4);+vqf>O)~7_VCaSI|Woj z+aORlr~jZ*+eePbO^13uil!K5{}+@>nRylW{p%ISG~f4ui>pQ;v7vbC8KfFDK)Q(p zl-!JKLDtK=24()%Nn3xliT&B6snOcyUA7`)s!0MMl;#+vQk3GBvu#Nbof)m=q6BbNC?07=^YCsW4dXJ& z?)J$mCZpLICPAsKlpsP#s?`HwM=`ejPeQ>P>j^q`#0^8)se3%j-K%!P3UFAyymu

PN`YB!s7vc{A$Q_Iw@qNy-yre$85W-?PG$4pJZ%=-nX$z(FiG%uN{ zV_9Y?m={n`$gIdr%_|BbDXA#}DhhHx+nL{c=DhED&sy)fpR?BQ57u7n{oUW|v!Cbl zJfF`^Z%^0tYkpV*0)f^acRTtM2(-!t1X{6Eb2V_M?+)!Oa9I)kldBU5-??oH__Hd+ z(Zdl0dYQRa5%?|eU+c1)Z!`$Bp>_GUf*$$o0tjU3ar~&`&j|s1Hj=Q*HPCccd7$a{ zrPV1JO^)eDt*d|QKk~cg+&5?Jw{EE(=sDt9SD5i~|BF@J+wlgqW&v9=t6trYsO!0e zY#&VgaZTE{?}}d<%p_kiWq-_MTa#VE^#&Fbl7 zjyxdfK*33qdu&dzMEFakFoh9~%ER9yT>03R{i1{7TAZxWQOY$Ar2K`@f;IIK;iu2 zx=Cf*Ey7|nMJL@m*LxKRboO;+Q06`xn8YbsHGHrm9wErjeQ2ZG)~*bT#`vAxmsBMc zM8zJt&fFf7|H;+tHUHT1qV@)MzI4?*^cvK(-g>?zW#K7ZDzEjvkYYDh&`(A?Wpy~J zmyW%^G@Xb0@j`Qirnfc8Zz^-HEly6woN9(l53l~Qm0XA7AAaAC*lif^L_uCLpll2s z#QHOEMjV68M!b6x`UB(9Q8TAsoW28r&TENoJB*R`zy9oii7wUusC`{zxy8*Hhq^kV z&GcG&>NcNuymUB-10d;aHvx!*_5e7AZcXyd2#ujnhVcA=S0*$Ggsjc4YiE&FD> zo+>PUUrgDi`KI)J9-kR>)X`CYTSP^C9e%x$?A4A9Mgzot!rn>*&ZseVu;!F7lr7s5 z_Uc~1J&(Wp51;8y`^NWt7B$yAcl^a)toA^(Y;A{8)KF&fEj$yba{5-uTv;~>8jf7RBd=aavhT^wO`dX zsgY<_)04KEON^S$Vy$yYXXQF&{RIE5&D(f`(XXs&pS(09>ETX7WDN3=^pNgx0>`=? zXJj?PXi~2P8VrJu`}42}(d*g8BCkU}XAsoc^D&j7(kTbVFzraD95E9TWVdbd z!)Zjsi2Ac()wuOe-4!5E-oEz1$LQ-jFsFBXb-IfB(Gbhl7Ss9M77U4vFLg82EsHFQ z;f-;@6u4n}&W94s=rQlIpD|`ZWK1y2DGP5IWmaQp4)xsj$#{HGzHWT{qLvHF{<3TI z!mC>4@Mh%sxwjKH_wPz*OdRVhxSj=UhjHoqN@A*!-NtlHz^h!1=WGkgjG3hltRI$d zECr{=!)oR-U#!6BLhDLTkOYcLa0TV~vA5pFcJEH;H7xX=E$<*5N@pQcjm%Fq-$R@v z@6y#8o9BLh>`$vvkmDwgv1A=PYiaIC5~tz*|Qrzhk5(mI?aw7opSaCqiUqNmEOAu0tib z^)@v?0y}#)e{jwt>)D;4eYz#QYpZvPQjNMGlOuBKgo8B3N5Y@`2oF?^OccbSm_$C_ zUOd-N&V*zJ@bzAO9!h2)QHP6IJHQ)=q;{V|SJ;7^#!K-W;hm_6Av7FVlpo!qOemD8 zkk&rnNNC+2iF0N%)9R`RJ7n||q=U7gq%pj>Yq0Ud3Y3@1IWJo$%_#B^1T#zOU=fMpc6>g`(ybkX0ufY4sytZ%X|IJWf7 zMq(<&Ni3Z!h?D=+h=ylh!SOdyQjO5h4o2wYNp}1Wak;q8#Z!9OL^lu%XYp2NJKv2; z0qI4ocag1_9zmWny8;?{;=Srl_oDCI(k~ZE-?P-8 znqs>`9z2FMJhqj6WOpnkLx;ApqcMw%^fT>edL1$kLq-H7gN4X|FR+2^-(RPn(f=tG zP4*5{<{j5G8k;rR11Zk@V2(5LJ^LNF+`@EC)I9mN=f?D-sYXJKS++Lxo_Z?XaAKZM zmhMA0*~aH;2L20Nep}3n} zNw$IN9+x%jO(>jUtcgsoB*8rnu1jgW!IznIe=-&K4stT&Fsgu)X8mv>q!l{Hy3!pb zvDDbU3s_xhWcs=h)QEKM#>7{h_{yi0LJ~%CDY_O>yF+{H8s^pQ8w}rF-KqWkBkv3A zJd=`d7!_W7*8unTy!_nT_$!fz@xKVidtVs!Hr{&ZsXUkH&H-&qzk7T&XzFux(8jE9 zH@99rXaHIWUN?SGTh1pQZ&YGhuhv(?nN$XS@=Sd*&0SsIGz?8wo*M|DTi1nNm07bC$XV`*n{$op1eR{*S{SCE7kLqUeveIe28M zxW|M0YCqU*vvXFgK5KL68{UWOSE&yzSmVo6v(RmGy1Sh$gcr86JYgku4C=$1pKr9* zc9-Zzpmgf{Ezsxg3JOVcC@QirId^6CabSKGPFeAmm_}P!pLF6~_oa!iLld%cLFjAY zW-VGsnOW+JHkJ`wbAQ@5$c_6~t(zlTl)7!ZP+3Ql2TgjHaWI;eW3rAP(%&rd^Cgpe zb$#bOvPQATL}3Rtze}&qA9ZXllEr1OJK$4;liW))Vq>Iz;Db!m=PTjN)$RPp;dW@- zR^rh4=t;*t8jpF-V_hv&_&R>LpZs_P+3GY$2Nnw2G!| zd7TlFE~}}4TAn5OV9{yHUC0-GmTA-%Mb`4VihVmr2&{{m>D*u*KhEmUZ*Cb|95K0i z;fWn&;AvAcPTlNFWA8qpF#g63R@MVeInK9=O;k`{>eK(<9O3M z^?A%m0Pbzda4`E0fKzw0066vAf9?hZa^ENZ`IT}Gfzd2wz(sHO?t!1*XmhSG5hMNu`NT7Xa_rN`AiO+f`L;Gc38s`rl%&D z-HX7p8Ylf!U?ZPTe7*nLncZbY>*;ElN+s$Vsz&$raQ2tO<&?EvP`3Yo;QsMYcW6k3 zi<#5%GJy6msE;0nW0gJD1uRSC2}%%(saqeKygcJeckUdYd^cRTyK@inUL(KfX`S7~ zQ;$=(h_3(dz8Xe5P#oFWEJ1f9&rjhe<%@p)=qBl>WFfM+jW$8#uDn-!Nv#raJ0APU zhtNgON|Ngn7j_E6p$mgAl=dNPOXRdMdhB3)Gr?980js?gB7~z2g+n8+q2R=(#-6S# zyjfd!3#Q?+#XNW%#3W=`>K+I8k#S2w;E_}#jaChlkbaf2$UBuE7j{}Mxmn6D+WvXA zF=<~)=TCp{oY?%aZhDOR@nPs2lJ-R&$&HMpD9OPua70Y??AIW$Fu&;6&n*T2m@bM9 zsaFoeC3qR0YUQrNIq>kXTOwz{+B$dH%uReCzu7k}U%H zU;z1#%J7w?w~z8IFM%h|AfqF8qLY(jLVW@g>yYz_?0ix)I(lH~;gikC%w@am=-$uw zIksE(W?sEEoacB{{uyR}ww^cE@>* z^iO(EBinCZa~+-p!T^(S3mwGdOq))Ue#Vj_OSUkN&P#1phej2CrFs%?vHS+0y|IP- zD`a%^X6e5fU$SvP+0~o$gPO5hPkYta3MYB&LY$lR`9F#aA(7T4FbPh7Woq@_O4beS zlbz3%a>`!ats3R0Hg1w2UnV3D(BGE2nLz~3bZNru4<`+9I)2Y-ECTxm@q0AXgjh#u zYIfmeTU&QqnzA4v*_TlUb?A5spItO%ZUb0_YJAiLF zESb4|yNJo&&qwYJ`jyfq?kM;Yop-LzVcCBHuB8sKRi0|ZcJ5y~zZv%XxOTLms;kVj zIEh>&9{=mhK;gWNd3r3;k51S;Z798l%%@+A9F8Q)*U@+9=t~MePP1o(;;{JAqAFNW zt#=vHyj2zhAB>Cu4~0DU{vzi7o8joGM$Q{I87{SgJ`dR_zG{3E7+`kAPjs!#w;qcn zxdSN+ZY!L_kRW|wjP>Uzi+sdLI_BhFME-{JxL6+fa@u< zC^pV8Ii){9E;i9^v?G2gE;F77<(_}O zpK7i7@0Te4PX@>TBN6zYgZy^^mVa*7Key|D9~}Otb^X)2{x4Y9FJJHfUF{FMsdZ(! z77hBmT??o;g05aSUaotBHe@fC(LpwD|FMTQrvs9?7e!0Gk%tgcW_t%s+2i%Vj;iRL zXxH{fQAO7w4;Y-Lp~z+Wquf+?^kjo-Ao2lBHIX|J4-@?)YU!f&4JWGfIv8sD3;u!> zrgQ=BHTU7|)EvAuWJKjb(*s_82&942Bbf3qsJsN*t>AT0`>5ajw8jC?S@IB7(Nw|u z87WgQ@(T-T0w19HD=jUTXM%7}QvG^6)x;2D(fz5z94V5>g3iBzN!*FabNW_?Y01Lz zi4!oy!dTatU{z(}%aYr0smkkvTs_O`U`y=#{1cv(fKOV`cEORB_LmXSsa zEKc^eKc0Dar@}C6xVKC3T#D#IuHMB_ln@~5iO!Nkk&5a23>Q3bLYIYI4+tFjy@?8B z#rxwxZ6@I^OG|qS5h**9XV+e9d!FIl$)IK3FhaU*8c<%SM;*~^ z19$dnC{XNKnt>*U9PWce~S)_m7sQZSm5m|!nhSb5ry@iHTZGP|$e zQrP|j_yLO?&ojgr_XXmv9ra_ND7RO9>T8s=TdiBvl)KVB4ad0Q-{tm0XJDU-g6u(C zh-~YPzY{!~;8AK72D+`v-S8+~=1|AH_zMa_Ct~!ly7gHC!>YovIJPt9QiVAUPSSnm;Ld8Me zaLQloMseqqp_%uvUh#A{D()WN4vF^RM2Gnnz7wq(s~HpD+Z{lkA(wF|e)#rxQvAu> z?-`M1b|bJCqO)C1h!475Aq|~KT0g<-PUDd?SA^Fu6Xtnm$Os-XjmJ?YhoK2v>;17x z8P`j^>!lv8M?vdS4cM$7rAL*zN#*Cek~Y6#q%^a&x}qcWqDpN2B@G`x>8)>VPX9evq~bo16v4$JD7CZbu*G<`8e4I$zzrk-nF7B!FRw^`*r>Oucn|u zW8Ko{ST!9Msrr&N--^_9QO)X)XD-YpyQo?j2*KoukcW#<#84-HC8X^_is0Q{V?OjptF@y9G3i=B0d7 zdYj>cY~1jO_auf`6;6XoJ~IeB@IJ~l7s!46)mz!EeldnRW3tXPMK8oO!WgsOL30Q7;Z)AR7P&2%zlNk$7oKx`#y*#i` zpHXXvn_DKvoBobLVO!4Vuy1XTI5>brqTw=v&vm}wVXF#W zz!EUNEVg%=L)C9`X%QIlkT%3eru_tBg>H~yu?zVfg)azR^H1N8EPgbWTyDzqRmMAX zm2H@FxFz%$?wlXj87I=aJ|KAyi9<^xCQPNAS64%|j`A&HgZPf4*-$0+VK1*T(jCc0G9^%D}IEDYxJ zN%i&Pk&l`!u6i+*buF&C*>6On7Fjj`$G4V=%ljG_k??G*q2)c?!>^?;zc;*+rt$bJ zm7SBI7GDc%_L{FIyEMUV@|Q|4KkVYwx+|H;N4T0V*H8_p8wYAcZqvG82raG~gB;>E zmTMO{Vv4WB^E1cuJNHw;iAtF?HgW1Yzo99iST8mqW zTJk)6R0^~UR>O=u%n|5(*qZOfCRi{CRj$%x`Tb~gCNVcYg>A~(2hs=XB8yp8%Cf{I zJAx#df-@SGq^E)@1wE?wC)M2j+(QaY50%|ffPUe||30%ZJ;FW%Y5)GHwyl(STAMoL z>|cq#3(tjl>S*V*UESI3aCTR)E_n7)(&XZh&E!c6Ms#g2K3Tp;-q+~bPCv4$JBlT` zCCMDvCC}-EoYZGr6e;Wq+v(wyaSW=@>KqA=ke#FRsfCv@f~p(Y zWQF2^3&(3tsfi%PuIJ&BbMyzQRO?x3=-2z5l=A2TDx#NRh14_GXJ9N+!E>2i4^4E3 zD8)BXln!D;V~YJio@hAKnM-a$Im5oUh-7)CbUotNgcsCNh)|`ir@wI2rfu$-}Y5Px$0{QS|N3 zATFjd58>Y*%uT9tP`|%a2*!)UNxr%D&*PVhY@MZH4r4))jTk>FV-sJfBRwHH2TNu` zT*Ua0U!SiZZ>LDbXIY&GVUtmq=cw-arr|g$$I?9hxsXY2YQSQOO`A}@Y=$J*FOd#5 z&#A@hgIGYNf0~9N$=weyI83Epm8!iS0Rbz9-8&w8c`AHI6drfaNaT)W&dyEPW~M@a z)FV4kZsR>P8lS#O+B$e5VasvDg*04#9Bb6^N%FoEhTpi3UJFtFco3RXAH1IaLCl$K zi5$k;bppI42Eh=FR@$9W>?>LqqcL|q)UpDRgt<9mpRFNT0-{SW*02p~{v`SiL;D2l z#yo5M3HRNimPyzCW*?sH26BL54yWRSlACc?Ooh?s&QRc^DpKqnF}Qv*n@vGZ<|9k` z_HPz%B{YbL*Y6I*vo*n(@Uxef%w>)OcIaKf=lnDq|r@CCgW4*O#j!rC#%@w>KCp?=RCZ&P;w8 zfNRy^2hG`;eG8+m@;En1&|$=qYJ5TOC2?6A!Fv%qCp6jp0X%<>?c6m>4p(>|vX3EY z-yFpnKgQJ`RfGDFb~)gD3KOP?9Ir-Aw?sOty&*Y;dgl@PwQ~Ho?-ZiAHFiGc#z>P!RXpH=iNt$z3PRqUTdU@0W8h6)mNH z{dOP+>i`)`zNj&^Y;l+RQcB{ML7#+YnHtT)rzxLSh72CtzKZn6#_Y1d^?!c3f_E%h znEFtprrmM|$&?Ov`_aNUCR(gvX*n$vm5120BCc-Gxz;2jiiC}mgae8Zl~X@Q?l0l)#m?*b6p~O8X(m9jSZ!6R z8SB!S z!|g6v+9y^dF8FZ{7kD}Vb@Z_Qr})LHwZJ;;07~qJ4)*_6`aZft30?{nsZx?=8!<{lynT0yY^CI|)k1CZEeQmCI!x4gANhp3n#Ja(o2lP>K-26gQfg&_oeT$!dy_y3OODBetIgBRL0_cc+Qau8_ zI5*)eY$hc>Enzd3=}qaUAc8o0`1!JM@fH4GX|8erN>f8&x^Bh9I+uyfAE+Yggvt*0 z2NzJzT}klVl>YG617bYn+1!*u&(q3m|{4x6d^ zz!Nl-rc*Y+fSTKFCawBwM*k6c)7fRVb8*G1Bs2-7xhordeCzd$?G_MacWyPxU`yGG zlQir?><<@?%89IX;|q?*=IEH$MROh*#tB;{ z9((Ty029Jj{+2=sg-=!8NhqwSd4y(xc3Ot`HFnQ$ypXZOE9K#vqh{HWoK6WVc+wwZ zK0a_c8xU>E9~V8EHQI16`*Y9}bax;JO01PC8e!YyxWF~-ugQST zFI#lctVdQ0tHTaP1$1y@clu-EMFW`#d3D6+qwo?v(W< z{`M*^Sx}W#;cdLiG!rkjs0!IiOW}4*w9?cSbIE2Y26_BHWsoz|Ii>IGC*G|r3B6<3 z(AU(jlFy`+x;2TYu@kds!rzJ&>=%j9H*ol6hNZ6Nqv;PH9NiDzRs%ZpLv=;cx)u-`_y zjRV68Uj-9M3ndNzA{Dxy;Ag!4Tk9{QM?YE0L)AZ^oABo5>tShpfQJs(w0(VOwN|%E zpYGB6`ze3VfUeyAm)j!J4kd1dZ>&)xN^FO{jg>`4r`$H-j2r<_K!Ym=-k*>>KEOV- zYR8nmakswN@K1la1<%E&nh*2-XZ%?%ATn8ZzM#+=C~MA~0F*bYs{z{e-*cP&H%zS# z!)S^VFpY8@X3vdV`7&Ez3;4?!+KX^k{&s7Hkh)A-rbf`naaECUAO^7hBL&$*X-0ob it(OJdxWj0IRK4H(l;T7WuMg-3blk=BDBkJ(Z~qC0!}osx diff --git a/docs/wafd/umn/en-us_image_0000001695522016.jpg b/docs/wafd/umn/en-us_image_0000001695522016.jpg deleted file mode 100644 index cc595ad9d701606c635b1c2ed8a69e1d022041ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26321 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 diff --git a/docs/wafd/umn/en-us_image_0000002098463152.jpg b/docs/wafd/umn/en-us_image_0000002098463152.jpg new file mode 100644 index 0000000000000000000000000000000000000000..821271f43feb28a06d1994ed496edd991c9f3b54 GIT binary patch literal 983 zcmex=R#4GXS5VScl9tgh z)6mv8G&V7oSF^COFtX7zGB#x7;N;}t;t}WN6*p9rQ8XkO{6E6Dh=GBTl@SaWpn#Ey znFZ)F4o)s^Mh0ex9FT;_B1sA`FflSSGqEtUva+xMjj097F|Y`-3Mm>ovIz$!vMUve z7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51dF0O9w9-dyoA)#U6 z5s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OPfBE|D`;VW$1c6Rw zVqsxsVFx*xk*OSrnFU!`6%E;h90S=C3x$=88aYIqCNA7~kW<+>=!0ld(M2vX6_bam zA3?4LJDNB*H<9INxSQcl{(pc$kb^;lL4uhP=z2j$W#fGFh2{sq%f)DwEZAQRe%jZ=IC1+N!C2b?dIE?>p_=ON&?EI`N*d$z#sq zhH_22vlp%;75qEosa|sW@bzyOb61o3R5M`7l%(6$t8IVPAC|eQv^r$Z zl1b57+g@e8Fy|=M{;ln)Y!RIf@^a^#8vJ0G<7T AR{#J2 literal 0 HcmV?d00001 diff --git a/docs/wafd/umn/en-us_image_0000002121808986.png b/docs/wafd/umn/en-us_image_0000002121808986.png new file mode 100644 index 0000000000000000000000000000000000000000..57e84690a69d47156dd305c3ed74e104d142bcc0 GIT binary patch literal 12956 zcmcJ$2T)UAyDyAX3q?ghx&lg<-U)~b2t<%xrH5XnhZ2FmpdwYOl+cSb=|~k3g9M0# z-lY=)L^=UN?#B1bx$pUA&fI&x`Mw!S_GIPRYpuPWXZ^~`+vnQqG*?-!l8}(lXgqzQ zM?ykY47_fT3pH=2YhJt%fLIG$wEvVGUiSA>dX&ZgYQX&8HE^dYMsUJHro6go z(t@_?hqW<9X_lW*hI?dPgkv z!Qi!l%(RZ3SWkOUscU6}QK*Zi@e4o0!+^00Q%thHwuX)p-u{ro5gzJ4BPRJ5Ly2E&h(A)6Vp0aXy6Ye-!7r z-Ct+j6|w(=)zcowtDTiDtaA}^gg_}QTEtX$J00DPKifl%&kM(X^*uks9|Rzw3$K~b z{?qPhG?TNQorK!Ck=uiqp-lN zj@O}-rl%wSK5rJeC`nOv84nA89N*D9bTD*2^r+|**QtE^{;MyxvPs+6!dvz5Jc`w0 zy&aKElAL3-N<}9paB9l(uZd+vf4%jAS7-3tqo#)u(}JzSwj*wpWc!;jhKO6FSq?QL zl5{GFtic?CKEq}1<_C;e>R$ANB{Zr5VQ>+* zu+0V|mU8j2GG;RUzkMvC2LGLs6mikNZy5G{{oB-l|NpwdkBfBr`BuMpY+kw%c(y07 zi+k}L%r|>4Z4irm=S&?Z?EaNMssGpc^M6dR|J~qILEG_S%mIv>=%Y$Mm8m3`0 z$DI%Z#Q$?BQNp6xGM<+5E6MukM0JiYBUoVBX~i&!XwRRFHPtc^Wza4i%n}ZTA}~Di zVsV%23^^V4a>om$j0MhXmP<0i>lD#b?oG2}W3_hXeXFjA8HHU;D>qh9*7=)vt#XBu zcAwHO@9nTu)T?KFuYEd9CT4=vJ%|#hJWvf|RSRx!3shnm6^Ul?>*vdq|1u}H2`W~= zwfVH1?IMG%tj-phh9_$5>NH73&eJI0eLFxXpL?H7cM_(7Y-K7EZk*r>R{r%U?UdF5 zm6KhxgbT$5J9iQek?5VnX-_NoW3*EPra039|LqbL+jBTqk&x(dk4RXewlZPAqD>a4 zfx{9gMF~EJ5!b3O_sz#1(u}<{sLTVqZgE|Pu*QK7C)@~2KVr3pOLVGvZkL4p|X2_0lwe4L_5C3||&Vk6R4M+Na_Oyi?h>+c#PJg@m}kd49M2 zPU-3OWB2BTsDl6kLN)LlzgF^=p7*dgJmxKNGF3Pe)>J>KAhPo z&e+VkXrGg~!zny2ksP%fvRr~|KboV#X5BzYDp>Bck6Q){pAORNC=QA1{BGO)+)b-B zs!;%bAGAL5GtK7qr@cqrs<(V&puhcEc458*{zi@t($>{;~L`+XG=j_?5*nVE!9 z{nE8x=_tp-=-UuA7UvQV{U>3@n`Q2XosLhYc$M)#=iFP5=7Os-E?3oP-8;VzE*U)B#$ZlP-|4;pD6bs zBjMa1DCwK|g%3UNTk$=C^31Bm7`?#*+jI4%h_G>zJlShW75)|4aoF-D-M1w(d9P4b zYY?w|;$E?~x6{oYy;IvD)+ zk6c0!8#yhMoSytMdELMR(lYAGul3srVy`UwYNHamzP;AGuj8Q8Qq=QSQUP{;cEXk< z&ps|VzV*))`VIY5hS$ClHEd-JeQ`$4pG=|DXb{!&nt2ziyeW9f7W*W&jc_;} z`Y!tNc}8>;`JiwYM4^|nk956lK~aQVCOPfH_e;NR7rv@pXBC!Ft$aWm>meEPi{#s% z*R|BPqPo9*yb;f~V_B?3N2a;TU{lUFJW6Jm<5D4h9qSG6Elb3c*&}t+^5UK_KM7)j zT(3SOxU+mQE0T%;D{))rsn_$V`91ln`AW0ew65hDc}rU}1(!&wdh{(!CRE32<7hT+ zughC7t}#XpX%zcJu&UV>9%sB?bv`>!cma>-)n)|^B_5@tv%%LcwVSh*s>L5TD$(9& zGPCfy$yL`MpBT@WXZt!a=F1!EjQuAkt!p{KsVonMo_0LH14;^d5@Tm+Z&Wi^d!Y4+ zGKjpp=ynwHfHUZ;^t9Ut!|%H*+95{8&1`)VFinU3y8{XSyWIXy=|)`hL-;6fQTG%q zvNQ$P$B4hH73jNzo^m3V#SIl2nvsQT?>8q7mb!AU7F0c(JIFwV+|Shh=wj5AH^fa^ z+#HYyxi!r0_h7?vYYZ3jZjZ4#Z_(c`LY5PMDmA&SCDJabz(GAp7rT)aDrbqOe305B zKHcSi^OxES$qp?#XdTCF9y&3czf!3Fc;`D`OZAromWFLnPF_N}6~X23JKvQZQ7ZKH zO9IZz*Q|~o`Cm%Hh({@J2Rx`7Qe!R3^z4w+g5^?t8l~u~HKoGZ-loogO&-~HIAGHx z_ZL~-8ymQkTHi2uN!VK?miqP(^exsDO)5z;y3=^^OOG#pZ+Vu8TmKl`GZl&##*e*Obw~Lkf4>VWL z`7hQZIdK`x-Y0m0BmW1?=)b%3f6J|;9HvJ2wY0Ou8_xZY`*T1F?EqSG9?Dn6pkU`d zp`Tj1ULu9le#Ek-jlBq%mGoZxeljvB2DR@nCS zRBfx+Xy(cUY|m79WlK8inFXz+VB!9>q(gE(tA#6RR!Xt#3eus!$vAsSxeVheBLe0_ zWrQu;WPu$&*!kN(S4?vSXn2tY+vCD3iO!X$ep+T9S{TAHpV!{m_t#5@u0Q6~bgig~ zV)kKL%<|rrjn2{edNm-Q54FxaFcvTfHI0TIlT8b3KEB!h>G+gy$ zSjVyw?+Vp3%9GnJ|F(FkE!UL&&qC{da;^J@TNd{q!y1_7L8>~pPD!eIaYJH>{_w|< zttdY}Tz`hdFqQIgS4EEoHzI=K8X6aN)LK95KRsGvfWxoBQCDfAqy4F(UPwr~EXB%H z=_E#_t_<~#yah(!Zol!peyq1sF&Qlq_5oc0^4`y);BS}djh{9N18dSlla3nc^{0-y z`9u8?CscZz)Thra1#)JL^AcbC^nKalA(x-g|Fr$}%VL&Bch9a95N@}(URvDG)=ZG= z&g?cTe<=PW*+DS}y@`+HOpbumx{Y0z$}nS;e1_3?iS=Xz~pt|`9r@)jjf&mJBWw;UcW>dG&}Tg5|iPWQ-(5(Ly0v1 zj&Nfp^aPkvA{S*$M7}I1?f-h5P5)vBimk+abge4u#I~ND$4bt#-StbB#woWuiRZp3(2>x=VxDQG7jgFjkfiQ){P}hbW88T%`UVe)tip)31LDIl zfV9)w9R@z8fbyp!%mA8c06+fDiyrSdY?vDdhL$QlAF_8+f<~`ruzd>FoW}4AFDiJW zFizW2vrYxE=H?I_O|4Q_K6OK?&VkSk0(&D&dl!q4|he0vy-?Yly_&z?%|iB|KJHN3vY zR2)ew&&S$M577zZ(b@ME&+hE8)a&E#K)v(=xY9wGa_T@p`~{;i%bm$TbE%)vb_kLT z%r{QX>0f_Vr2Zl2E30Rl*Z^Ev`2~>3lfkP+B`HDcuVZrzR@XrA8aAj}*F0vp#1Z)$ z=Ys;JJtKB=p8slPg9<$^SYZ+aLBsdEO zgrQk`*Af#vTQJ3L9IGij4e>(?f1+n#&j1CO&O9%P0Kizfs%LYf2 zj&Qe*gK;b6Yd^TW3LXXb-i zu$lCq0s4pe^_Xs8wHvrCoIt^_R}d#JaGFJg0~u9x=*e^Na8IG=vCYvXw*2Gm=kDe* zi!!l6`Fo2!F?DCzZP_^^K%l#)S#6>sq`$7v-?wkCvO~lT^iiGfp5o3Nh=m#-YJ-rg z*nPNEANJ$d{XIA_gwbGk5%HdX9jNxW`T^-_dtt~KMVAY=y-OC~_4GK(GbNtaz0t~N z3;Vv=6c4B!K-}#N zhN&vErR?Ng2-kbOs$69D7?pAuxTe@j4htEAWNcP( z%J+#QIY_r({a2sgEyP>vfUSn{?X5DFpQ}QpM2TK$)ADm2qSAM#w&6%G-HTbJSZ5;%0GLl526<9%~v)^`|0&hGQ|1K3V-4*sqPXSqC zcZbs}YSEW;s+OdY0cvPRXwwEbYDJoFea5dQw-WcxYEW^J)ne=82KU)FbI+j~%r4i| z?tJe~3`|5-cbsfYI)(=^Z?Nu(e$Un=QQaCGFKbZ}9VkeN3-&a4AV5~%xL14gjz(ns z*JO_2+fZa=tkaCZTmT{zN}jqiL;hUFCQuZ@3}G1#dPQ;hA?8_Zkf}!#h=kvSgNBY& z8cGKbTztC;q7!yGe3jqf5`f?T=cd<>UskJjCgSa#VA$_)s#;9p*6q~k2WrAzG~XY; z5B#kg*1P9ayY>A*tFQ7iRzXNw`^ zwTgjnNRlxj@fh-SFv?00vR(vfz5EE1y^^O%&FvAuj3;pCvajRv{ojQuTM!)+p1}(L zGes_`@IH363lyf~U9?gE&2on>o_FtNVbW1`Jz8^e?f1v~V+)QB>Cq2A9D#X-C4|z= zxqdlyc!>QQ=ymc=ST`E$9d=$zjc@>JZ)K;xOdx(GjS#9t!-_0OEFT`Mbar3f`0mp> zD-*Ta1V({A<2oVG(P}+;%#Y;zRT=1heJp(u<)8xgeWFyd@r5W{sXf_xj=IDBwasNofty6#gC8gQ4^M){LtbULqAfyr=Oh+s2=bhY&CGR9`dDhL(Wy;q0 zgcZJ1w-+(1=Q{;S`YDCYy(R6)RE!3dKai40NsBFI$Y-bY{S1>Nj3~!s4yNS|2HDpVE&@C`d$j|U>r@XsE* zP?5|sn?E~yi$`uhnAt>qMgluulc3o(<}qaZ9mAQd{nD(R=5zVr!_5ol=yvi&P&D7eO?B$0LQlc6CMWFaXnmK5e~pO( zx|%y;3)Ywb>%KoPF8C~ZT{2xPk52g_I*;L}`EY)jw!ghnE9rWF<&-^r_tyQK-itRi zSYEuLczcCPtCLKhgGLcxpY=dNV#)pY+sT?JGeuq^#QkfE$;5K!|K-9si~fI4;Qw>B z{(pFoeBqe7>JiJolX5V+d%B4qC)Q)FaHgjVQH=x@EfzYGVk&yY&NfG;p?b=G5LKder6NB}HRFekoO9UULGU$75=0ek1= z3rpt$;~pv_;xOiJHL3*j$I*VmKq3#Mi*Zj&4{DqrWX_-6udMA8n8e!#zgr99+xH{F zgH|(q0iZ*RKcra;;-|-Q0%`&L=x9J@9()1jp+LbsZ6oZw7&GrDiyFzSF819T1QFkB zIB!4ZC!GCBz8`wOh#^Xeh6{ew4){?RKtUL+ng)O=_biM^Fzry~xIJuaV)Ob$MxAOm zMwT|HFs;10L%tH&!CzRNYoMR{5<6!{nI8wywaOQ@cc!7?bDwnhyu168&ynN$A3>c; zch_LVHvADjWLAF;R#VY+3k%D0oIXbGP7b~(F4`|&bD3rsj_!_A*iLT*IDAF^BO7V~ ziGW!@<0-(nMFSnmdB*BqTCw12b!v8aVJ!~>Od{#oQk^K@MzFWIWh`%-*=RH=5^`=dZ6wtg>n^m-E3%;jIi~e1t(E6Io!u5o8hP<=cH<#R zE@0$5r!8R1(<%WE&d@z2R*>nPtQR*BV|w2VZoZ`t3$xIqAFt4<;I=zmk>DpR$M9En z=!M#{!wJWUN1f{Tk7Sq*$az5r*vO`Gl;lGQ))55nP%QG~90`O+-J}p{FSuYgjNt3` z?Yn(|k#z%3*olYruM)oVDkU1)uP@wvemb+JlxFzg%Jp@_EXAN*aRxThS;6WyaqK9U zwJgAaf;;KEIBX}uod7eabKYA+q0DyZPq4#) zEkC?DSyzYak!!|voYv0iABw=*V%9o`f(Bu{%Aokryr#^n_U95E!GH)b(0hq?q<6tEkbb6mupZxB$u7Bm{c5gRUcZt)U z9p_{O#MG-yeP-ZYt)^X zarkx9hb5s8)E}6yEd`##VV>>O8nY{Hb%UiHi2cD57iQ7w7-FST&4c;A!#czUJ+?PJ zeQ=GAn5R_p3JlLp1}lq8pYP^?V@Y2z340Df5if64`a$4%ZiMRbG{3EC{gZDEAc{34 zf9PRf^7*`{>+l{jj?mYXzbl7bW*o6{@ssLo-aFXHC)z*jjc#kzTU z37$+0ECS>P@7LS8KIe;n6)%1Gq?!?1^78vx?xS{qe?zeMF5mgZZ)-leDiVs(niRjU zoi(9g71nC%ZxB_=rh6s-<&S_V)q9?!hQ)hvC?VCh^{&Wk>u_e zEX&AdTr9?Ed)jqgS7{KJuDz0QG%%=6&eD$%yZ_wg#lRphsMBB_Ps`8%co$m=3;)p9 z_Pv<9AeY6IIaLH9wD3aAh@I;9kFNB4Z~p3bkxSm`Og)9I_HO;axA5F}6K zcfRltGa-fZpiPC-r*!lT3r4m?JF9o6R#EP6eZW)afFTMO=B-vnNX7R_BOzgy)O$Q8 zLVYDNjjw&RTPP4d0P2`@bW;x-p}^$at*ddrL6Yq3f2M(uWUKK&b7Ft5$d=Ius)blt8Yc7rHV3P0ght}}YTOI3Z z>O8B4O|Y#cEj?~o4D@cB%sKNLPuqGIbgZp}yOt$boJL`XUmAERr?y-dzJz)?d7q_V zLQN?i({?#MBS*dEPG}ObE?y|};CqOLaq@j#<~@z-K;fP6>S?okLQ+jgs=T z;n?M$yzq)n*R7v&4V{S19JDZ~guBmm8B3Rp4;t7I8MyAG%L#26^GLQaU`8%5bn(GN zfFxS_1g_t`ff(<}OoXl&h)+77boRxK7vgK#`Q#P?cZw3{Rmv zPT9p=54&_0p8e5O(Y}Ynl)$TCsLICxym?PCUkd@Y93`rydrO_6erewe=^l!?ZZRCh!4jP z`WmZWKoFU~???3cqkK$z61Qw8Lz>uQ590|XL$63=4&#>$jBYqEv&HzY1Sfty_W>nK z*(TquyiU#(9774UunV4ubGW300L6ij%d!-46j%yCXjmDC1BY{(Zd*h)I2E;q|vbi=kf} zcE=_0Jk!XQJtSwZRIjv{r>W)hs2@I1%_F>*PR5LW@mgd-2w|a=_z^vmBTxNt)XFUH z!Nd5))B}BRuIlU?zq9!Q{g$&1v(HaOFgw8`8~4XUI(9QBq!*v!{ zxjrjJIE1{+oU+=75L6+js;jJsh^>1G4qtB3lBtG2Q(2G(gJHi~lhf$TbSq3=R+!-A*0Mf?HXRexPUkm5Y6olI1$g5_brt7&t~yWd*tD*L z^2gs06oFGdT9F?+Jd6tnWXQ$9TBSGn=jFTDCo1B-!1# zz_pXz6F9CSj%aO;t6fqL>)nZ8Vk(e&_Y@H_7=yjrS!HYHa`e$Tm2&R{N^?l%_m7hz z)xoQEf>61#o4Kc*vk{Enr@ympeyM44+{N!Msm_>+=+hUk{GQ7km*)`SAI*ujFBJAv zbF~PN)y*TUq%O`zo@F$60%xLh&~VymR^HlB7dmj=V2>1;OM7dAF^*j}mAp*Xn6zMo zvgKd33*!KSupA|=TD69LJ`~V)oO8HLLL^L@sez-;_IT$}`#*VD5B@p4H=K763vQ(z zE_h9E?{@35jgHYEq~kI!v}qYf-UyeHS9|r3T)cgJfqfrc-b7@h4q_S8EnU3 zQB?k0l9VazFevG?`(?XR<_=_xUH2bt4~>WWPoyPs_fUkQ0C*N!{r-5=?s=$={BMq7 zX(>%a4`z!E;SgjcC|FsK2A;3(#|K<=i_M8@w<~qsza@$my4i!gYUIOicgWty z0U77W6J@^})cQndy(2u|Qr`%7mxSlCXW{IY;A6)p)Io9XS7JA;Rmn^*QrtA2pIPPz zrWVE4E$h&3fh=`ObRGF-(r?Y0cR)RKjWrPV`=~COATlbit}-mNN3&Jc3HI)EGQBs< z`CzDk@rXq{E9I(_f$bHSb?*fU0d9!XK(RPOcbU_(k~9ezoNGRQZty&Rk^aa;l}c^$Nmy0H%;Ob)u3WH?1 z9Pdu+eFp}?aPK+W%N%<{*j`bj!&==9fh}?t{FbY67V&JScyUI^u|m|4DU)fgaBZAvI&-VlP%=1Ehh%j@-ye+X2i zvja5W8h7$8d{8Fn;ad{1c_*upZD>rXkC>uNl%fQi3^ZG1_Kp0_kE1Cktw5TV)P9wW z=()_HqNWq2p(F74$uXRi zYQf*VMQr6yZ$C!M#zC+T2ALiwvSyVRtw_Y@un2eoCo^%CzqtotY@Vbf zgRr`H9PPgSJrUpuOp^Y)OpXz)TEl%jNMZijOT@K58LgqJz10elY@!< zTy4SIuXAF{^U(YJoNb&dRVA1Hh=x%t*3XCVnU)kRfWNWsMf2-UkE8bs#LLUzb%ZBi~*YtlU33J6g=q%V|N<2Qc@YPQwf9 ze3L__@+a?E%8(Z_1# zC!SVyCt8BAd7n>L0=bU|sw3SO!{7E$oz*LFmNI!)yD4^ZL50j`)0j`Qt&~n@wxQFB z%2B`5dnygjgvU}Yr&IY5l0F$vqI$mTFTWEux98j0dr+USV=(>N^XS&x^e9w6sPsCs zUIV8 zlE5PI3`NYM_}23oLThek{9pn z&l(*iYw9ViZ{-@>-Dw{yph@w7HeqfE&K1nilIh3Vdv=(fv;Isf929l>4_%p{Vr_;2 y4oh7~hW7vCFHub5(#MEt7b>fBdeJ`dQe^HC+~?~e6!=C7iH557ld4D75&sMH2U0Kq literal 0 HcmV?d00001 diff --git a/docs/wafd/umn/en-us_image_0000002126107914.png b/docs/wafd/umn/en-us_image_0000002126107914.png new file mode 100644 index 0000000000000000000000000000000000000000..d6db1701ea09e1e5737734aafbadc6c02b5b92a7 GIT binary patch literal 56308 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

L@;*rJgS{3=`#uj7kmIHk)j0>9;lm56*=>Yuj zO8qcBr}BzceBPhQ7@Yr!a%O!P&KxMnnEprD1Nj&0h5eztD6^92|GI*B69?ITVy)#o z`r>HLNW|fs@f|M2!pyEhAQ-@vhX?yNjU;-KB{#~;%WH1+b}jS+-HZE%gbn=3)9d*Y zqo89I7nX2Z65D;~8`HxEL_mc5=RbCSJ^W)IXwUggE9p=*L+qz}SKjz|Pvd+&QWTf3Ap3^(hW+*gdYTE!`_bw7FnX%)#l65Y z;oVo?yc#;$$Za+cv{fYmhCU$lio$v?9=z|H6m zrNIcAJ>zqqpN~3zoYPn~UYmB&{Gu%}7p!)29#07Ud5<+2cb+s@VYT=e#vyDP;8 zPk3b}*F|P`hmr|AfBlooXHuBn&Y?Xe!oi#dQa^L-w_MwjJl+Cg&oHG#%Nz~&B@rixst)>el+Q_?}`4uM|)1o^X(nY5L zQvWg_8f<-^afC7N7kufP_sijGbWg!oU&u_~`fk}Fm?-EG2m~o*<8{?&jqy|BtND(z z=mz()Wc~(7LxYet_~{AT!UZ2Deqph>zFy{&8JXKi^K3*QFip135%r=`Ao8eT=ocsJ zL_AcBSK`i^Q?QY}9>Lg1Z0dviM!bIglM@x>(kmw|eL}zK@9Y;K#Z;vm<|79fDOMx*Y&{TE^J@jG_zgeR7c`eiPxeKo>9x^?V04*#)t z!|>A&ymyl^kC)Ih&CpySQ-L8{czw+&7K7K3g!ssLN*Yr_XXx4POUj$R6xTF#v}p86 zKUj{`HP_?Q^%Kt@)LczGmD+Ov=GV1}0M;~na;jHxf+KN#s!)&aCz$TKBayrv;uR0J zx_#TzDjr8$s@`-6O~HHszt|CbLT~)9zpuUa_7^!~(4IpmVwue>P#lADSe72vv0GBG z$?q&~EF{v`ebTv+hfdW5bZ0SY>c=j@mTLF%1ljV53JOx2L&CofDrI4*{bIQ0J-9gx z(nLQjWu>O3*7`Kp1C|>PCM(014uw=rpt6cqf!)bC%sHmGhkb9zXsqAHOJ>$*3RaT5 z2CrTB^zk=JtD=$ab&`9`lRg&P5CM0gHqT%7V_v5q zm@2mb`=a=n@EgN;qHUOL9HU4(J1D|BKb)$I7?SlUkYT8$BewKBflKdQ9jpwB43Q>Z zTg}hCM?SQ(nh_Xo3Xy~v2B`Vz8AD#wRsS`|!le~CByziwLg zzO!g_3d3EjIk+{=vlwfALguFDZ{UxXU>go@%YFJhBerPG=7*ZGLkQt|q8Gu^UbHv* z;)b3x-=xm3yVo_iYj)R>pAMs(c|>VM)CA~@cu{c}-k@zeoQyu|QRvz3<$eAiBQ@cp zCp_D5Xv??ZNQpsJTKC%Mvy)!ZXxfzDzZlOL04cG5&@Q+- z7f5z)kjYV}&2!(`r;_Y1CMy_L2Dt8o?Vf9_>xU}a&fcg_tUvgi=`ue;>bsJ!`Rt}g~#F|kHl#!cADl6_Z&L!1CqUyw#j(V zJ@}`;H-ftBZ)|!84|Ds!X|Il_bK!r?1MqNQz5j0vIJiIA&;18V6R_>!Z#@JHuitN7 zK;iYtzn?3PdDQbCJatgVL;VL4+VRqR{(pUG+lOHXZrm7|N-uc>{P^l%@E0}z^WBgC E8^2}LGynhq literal 0 HcmV?d00001 diff --git a/docs/wafd/umn/en-us_image_0000002129833584.png b/docs/wafd/umn/en-us_image_0000002129833584.png new file mode 100644 index 0000000000000000000000000000000000000000..ded594beaa30e7002625abb2dd3b125642bb410b GIT binary patch literal 209 zcmV;?051QDP)3M) zj}?48Gr>nvvSQCisO-yiY02xJK{*Uqw171DbnHE|wK_C((wQIs|9?C=!6$mzLzq$w zJrE5CAr?H`Q|;rEmh9s*;S9{i|NsA^>Os)}GWO%%Mpsk~sCqCp9PB`|0pdECJw$7O z+jDukk532G4`3(ZumQ=QXX}#F*1d!X{Qv(EuLhVsNO}lr0O|n%>;{qnfj1|W00000 LNkvXXu0mjfuRBzH literal 0 HcmV?d00001 diff --git a/docs/wafd/umn/waf_01_0001.html b/docs/wafd/umn/waf_01_0001.html index 4221395d7..d84babafd 100644 --- a/docs/wafd/umn/waf_01_0001.html +++ b/docs/wafd/umn/waf_01_0001.html @@ -12,7 +12,7 @@

-

Editing Server Information

  1. Log in to the management console.
  2. Click in the upper left corner of the management console and select a region or project.
  3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
  4. In the navigation pane on the left, choose Website Settings.
  5. In the Domain Name column, click the domain name of the website to go to the basic information page.
  6. In the Origin Servers area, click Edit.
  7. On the Edit Server Information page, edit the server configurations (such as client protocols and associated certificates).

    +

    Modifying Server Information of One Website

    1. Log in to the management console.
    2. Click in the upper left corner of the management console and select a region or project.
    3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
    4. In the navigation pane on the left, choose Website Settings.
    5. In the Domain Name column, click the domain name of the website to go to the basic information page.
    6. In the Origin Servers area, click Edit.
    7. On the Edit Server Information page, edit the server configurations (such as client protocols and associated certificates).

    8. Click Confirm.
diff --git a/docs/wafd/umn/waf_01_0003.html b/docs/wafd/umn/waf_01_0003.html index 48f3bd915..4238ec76f 100644 --- a/docs/wafd/umn/waf_01_0003.html +++ b/docs/wafd/umn/waf_01_0003.html @@ -10,7 +10,7 @@

Impact on the System

If you suspend WAF protection, WAF does not scan for attacks and only forwards requests to origin servers. This is risky. To avoid normal requests from being blocked, configure global protection whitelist rules, instead of suspending WAF protection.

-

Changing the Protection Mode (Enabling/Suspending WAF Protection)

  1. Log in to the management console.
  2. Click in the upper left corner of the management console and select a region or project.
  3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
  4. In the navigation pane on the left, choose Website Settings.

    • Enabling protection: In the row containing the target domain name, click Enable WAF in the Operation column. In the displayed dialog box, click Confirm. If you Enable WAF, the Status of the domain name changes to Protected.
    • Suspending protection: In the row containing the target domain name, click Suspend WAF in the Operation column. In the displayed dialog box, click Confirm. If you Suspend WAF, the Status of the domain name changes to Unprotected.
    +

    Changing the Protection Mode (Enabling/Suspending WAF Protection)

    1. Log in to the management console.
    2. Click in the upper left corner of the management console and select a region or project.
    3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
    4. In the navigation pane on the left, choose Website Settings.

      • Enabling protection: In the row containing the target domain name, click Enable WAF in the Operation column. In the displayed dialog box, click Confirm. If you Enable WAF, the Status of the domain name changes to Protected.
      • Suspending protection: In the row containing the target domain name, click Suspend WAF in the Operation column. In the displayed dialog box, click Confirm. If you Suspend WAF, the Status of the domain name changes to Unprotected.

diff --git a/docs/wafd/umn/waf_01_0005.html b/docs/wafd/umn/waf_01_0005.html index 7648c632f..8f6f6d742 100644 --- a/docs/wafd/umn/waf_01_0005.html +++ b/docs/wafd/umn/waf_01_0005.html @@ -6,7 +6,7 @@

Impact on the System

It takes about a minute to remove a website from WAF, but once this action is started, it cannot be cancelled. Exercise caution when removing a website from WAF.

-

Deleting a Protected Website from WAF

  1. Log in to the management console.
  2. Click in the upper left corner of the management console and select a region or project.
  3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
  4. In the navigation pane on the left, choose Website Settings.
  5. In the row containing the website domain name you want to delete, click Delete in the Operation column.
  6. In the displayed confirmation dialog box, confirm the deletion.

    If you want to retain the policy applied to the domain name, select Retain the policy of this domain name.

    +

    Deleting a Protected Website from WAF

    1. Log in to the management console.
    2. Click in the upper left corner of the management console and select a region or project.
    3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
    4. In the navigation pane on the left, choose Website Settings.
    5. In the row containing the website domain name you want to delete, click Delete in the Operation column.
    6. In the displayed confirmation dialog box, confirm the deletion.

      If you want to retain the policy applied to the domain name, select Retain the policy of this domain name.

      Figure 1 Deleting a protected domain name from WAF

    7. Click OK.

      If Domain name deleted successfully is displayed in the upper right corner, the domain name of the website was deleted.

    diff --git a/docs/wafd/umn/waf_01_0008.html b/docs/wafd/umn/waf_01_0008.html index 323cc61c9..9f27dcce6 100644 --- a/docs/wafd/umn/waf_01_0008.html +++ b/docs/wafd/umn/waf_01_0008.html @@ -42,38 +42,37 @@
  7. Set the protection type.

    By default, General Check is enabled. You can enable other protection types by referring to Table 2.

    -
-
@@ -124,21 +124,21 @@
Table 2 Protection types

Type

+
- - - - - - - - - @@ -81,6 +80,7 @@
Table 2 Protection types

Type

Description

+

Description

General Check

+

General Check

Defends against attacks such as SQL injections, XSS, remote overflow vulnerabilities, file inclusions, Bash vulnerabilities, remote command execution, directory traversal, sensitive file access, and command/code injections. SQL injection attacks are mainly detected based on semantics.

+

Defends against attacks such as SQL injections, XSS, remote overflow vulnerabilities, file inclusions, Bash vulnerabilities, remote command execution, directory traversal, sensitive file access, and command/code injections. SQL injection attacks are mainly detected based on semantics.

NOTE:

If you enable General Check, WAF checks your websites based on the built-in rules.

Webshell Detection

+

Webshell Detection

Protects against web shells from upload interface.

+

Protects against web shells from upload interface.

NOTE:

If you enable Webshell Detection, WAF detects web page Trojan horses inserted through the upload interface.

Deep Inspection

+

Deep Inspection

Identifies and blocks evasion attacks, such as the ones that use homomorphic character obfuscation, command injection with deformed wildcard characters, UTF7, data URI scheme, and other techniques.

-
NOTE:

If you enable Deep Inspection, WAF detects and defends against evasion attacks in depth.

+

Identifies and blocks evasion attacks, such as the ones that use homomorphic character obfuscation, command injection with deformed wildcard characters, UTF7, data URI scheme, and other techniques.

+
NOTE:

If you enable Deep Inspection, WAF detects and defends against evasion attacks in depth.

Header Inspection

+

Header Inspection

This function is disabled by default. When it is disabled, General Check will check some of the header fields, such as User-Agent, Content-type, Accept-Language, and Cookie.

+

This function is disabled by default. When it is disabled, General Check will check some of the header fields, such as User-Agent, Content-type, Accept-Language, and Cookie.

NOTE:

If you enable this function, WAF checks all header fields in the requests.

+

Suggestions

  • If you are not clear about your service traffic characteristics, you are advised to switch to the Log only mode first and observe the WAF protection for a period of time. Generally, you need to observe service running for one to two weeks, and then analyze the attack logs.
    • If no record of blocking legitimate requests is found, switch to the Block mode.
    • If legitimate requests are blocked, adjust the protection level or configure global protection whitelist rules to prevent legitimate requests from being blocked.
    diff --git a/docs/wafd/umn/waf_01_0009.html b/docs/wafd/umn/waf_01_0009.html index 97989418a..1d1d65e80 100644 --- a/docs/wafd/umn/waf_01_0009.html +++ b/docs/wafd/umn/waf_01_0009.html @@ -101,7 +101,7 @@

Block Page

The page displayed if the request limit has been reached. This parameter is configured only when Protective Action is set to Block.

-
  • If you select Default settings, the default block page is displayed.
  • If you select Custom, a custom error message is displayed.
+
  • If you select Default settings, the default block page is displayed.
  • If you select Custom, you can write a custom error message, so that WAF will return this message to website visitors when their requests are blocked.

Custom

-

  • Click Confirm. You can then view the added CC attack protection rule in the CC rule list.

    • To disable a rule, click Disable in the Operation column of the rule. The default Rule Status is Enabled.
    • To modify a rule, click Modify in the row containing the rule.
    • To delete a rule, click Delete in the row containing the rule.
    +

  • Click Confirm. You can then view the added CC attack protection rule in the CC rule list.

    • To disable a rule, click Disable in the Operation column of the rule. The default Rule Status is Enabled.
    • To modify a rule, click Modify in the row containing the rule.
    • To delete a rule, click Delete in the row containing the rule.

  • Protection Effect

    If you have configured a CC attack protection rule like Figure 1 (with Protective Action set to Block) for your domain name www.example.com, take the following steps to verify the protection effect:

    1. Clear the browser cache and enter the domain name in the address bar to check whether the website is accessible.

    2. Clear the browser cache, enter http://www.example.com/admin in the address bar, and refresh the page 10 times within 60 seconds. In normal cases, the custom block page will be displayed the eleventh time you refresh the page, and the requested page will be accessible when you refresh the page 60 seconds later.

      If you select Verification code for protective action, a verification code is required for visitors to continue the access if they exceed the configured rate limit.

      -

      +
      Figure 2 Verification code

    3. Return to the WAF console. In the navigation pane, click Events. On the displayed page, view the event log.

    Configuration Example - Verification Code

    If domain name www.example.com has been connected to WAF, perform the following steps to verify that WAF CAPTCHA verification is enabled.

    -
    1. Add a CC attack protection rule with Protection Action set to Verification code.

      Figure 2 Verification code
      +
      1. Add a CC attack protection rule with Protection Action set to Verification code.

        Figure 3 Verification code

        -

      2. Enable CC attack protection.

        Figure 3 Enabling CC Attack Protection
        +

      3. Enable CC attack protection.

        Figure 4 Enabling CC Attack Protection

      4. Clear the browser cache and access http://www.example.com/admin/.

        If you access the page 10 times within 60 seconds, a verification code is required when you attempt to access the page for the eleventh time. You need to enter the verification code to continue the access.

        -

        +
        Figure 5 Verification code

      5. Go to the WAF console. In the navigation pane on the left, choose Events. View the event on the Events page.
    diff --git a/docs/wafd/umn/waf_01_0010.html b/docs/wafd/umn/waf_01_0010.html index bcc7cdebd..6223313ae 100644 --- a/docs/wafd/umn/waf_01_0010.html +++ b/docs/wafd/umn/waf_01_0010.html @@ -39,12 +39,12 @@

    Condition List

    Click Add and add conditions. At least one condition is required for a rule, but up to 30 conditions are allowed. If you add more than one condition, the rule will only take effect when all conditions are met.

    -
    Parameters for configuring a condition are described as follows:
    • Field
    • Subfield: Configure this field only when Params, Cookie, or Header is selected for Field.
    • Logic: Select a logical relationship from the drop-down list.
      NOTE:
      • If Include any value, Exclude any value, Equal to any value, Not equal to any value, Prefix is any value, Prefix is not any of them, Suffix is any value, or Suffix is not any of them is selected, select an existing reference table in the Content drop-down list. For details, see Creating a Reference Table to Configure Protection Metrics in Batches.
      • Exclude any value, Not equal to any value, Prefix is not any of them, and Suffix is not any of them indicates, respectively, that WAF performs the protection action (block, allow, or log only) when the field in the access request does not contain, is not equal to, or the prefix or suffix is not any value set in the reference table. For example, assume that Path field is set to Exclude any value and the test reference table is selected. If test1, test2, and test3 are set in the test reference table, WAF performs the protection action when the path of the access request does not contain test1, test2, or test3.
      +
      Parameters for configuring a condition are described as follows:
      • Field
      • Subfield: Configure this field only when Params, Cookie, or Header is selected for Field.
      • Logic: Select a logical relationship from the drop-down list.
        NOTE:
        • If Include any value, Exclude any value, Equal to any value, Not equal to any value, Prefix is any value, Prefix is not any of them, Suffix is any value, or Suffix is not any of them is selected, select an existing reference table in the Content drop-down list. For details, see Creating a Reference Table to Configure Protection Metrics in Batches.
        • Exclude any value, Not equal to any value, Prefix is not any of them, and Suffix is not any of them indicates, respectively, that WAF performs the protection action (block, allow, or log only) when the field in the access request does not contain, is not equal to, or the prefix or suffix is not any value set in the reference table. For example, assume that Path field is set to Exclude any value and the test reference table is selected. If test1, test2, and test3 are set in the test reference table, WAF performs the protection action when the path of the access request does not contain test1, test2, or test3.
        -
      • Content: Enter or select the content of condition matching.
      +
    • Content: Enter or select the content of condition matching.
      NOTE:

      For more details about the configurations in general, see Table 1.

      +
      +
    -
    NOTE:

    For more details about the configurations in general, see Table 1.

    -

    Path Include /admin

    @@ -73,7 +73,7 @@

    5

    -

    Apply

    +

    Application Schedule

    Select Immediate to enable the rule immediately, or select Custom to configure when you wish the rule to be enabled.

    @@ -83,7 +83,7 @@

    Block Page

    If Protective Action is set to Block, you can configure an error page you want to return to the visitors.

    -
    • If you select Default settings, the default block page is displayed.
    • If you select Custom, a custom error message is displayed.
    +
    • If you select Default settings, the default block page is displayed.
    • If you select Custom, you can write a custom error message, so that WAF will return this message to website visitors when their requests are blocked.

    Custom

    @@ -107,7 +107,7 @@ -

  • Click Confirm. You can then view the added precise protection rule in the protection rule list.

    • To disable a rule, click Disable in the Operation column of the rule. The default Rule Status is Enabled.
    • To modify a rule, click Modify in the row containing the rule.
    • To delete a rule, click Delete in the row containing the rule.
    +

  • Click Confirm. You can then view the added precise protection rule in the protection rule list.

    • To disable a rule, click Disable in the Operation column of the rule. The default Rule Status is Enabled.
    • To modify a rule, click Modify in the row containing the rule.
    • To delete a rule, click Delete in the row containing the rule.

  • Protection Effect

    To verify WAF is protecting your website (www.example.com) against the rule as shown in Figure 1:

    diff --git a/docs/wafd/umn/waf_01_0012.html b/docs/wafd/umn/waf_01_0012.html index e276b7ed2..786585d87 100644 --- a/docs/wafd/umn/waf_01_0012.html +++ b/docs/wafd/umn/waf_01_0012.html @@ -77,7 +77,7 @@
    Figure 3 Blocking IP address range 128.0.0.0/1
  • Method 2: Add a precise protection rule to block all access requests, as shown in Figure 4.
    Figure 4 Blocking all access requests
  • -

  • Refer to Figure 5 and add a whitelist rule to allow a specified IP address, for example, XXX.XXX.2.3.

    Figure 5 Allowing the access of a specified IP address
    +

  • Refer to Figure 5 and add a whitelist rule to allow a specified IP address, for example, 192.168.2.3.

    Figure 5 Allowing the access of a specified IP address

  • Enable the white and blacklist protection.

    Figure 6 Blacklist and Whitelist configuration area

  • Clear the browser cache and access http://www.example.com.

    If the IP address of a visitor is not the one specified in Step 2, WAF blocks the access request. Figure 7 shows an example of the block page.

    diff --git a/docs/wafd/umn/waf_01_0015.html b/docs/wafd/umn/waf_01_0015.html index 0fe2177d0..fc09231c6 100644 --- a/docs/wafd/umn/waf_01_0015.html +++ b/docs/wafd/umn/waf_01_0015.html @@ -7,13 +7,13 @@

    Prerequisites

    You have added the website you want to protect to WAF.

    Constraints

    • Cookies must be enabled and JavaScript supported by any browser used to access a website protected by anti-crawler protection rules.
    • If your service is connected to CDN, exercise caution when using the JS anti-crawler function.

      CDN caching may impact JS anti-crawler performance and page accessibility.

      -
    • JS anti-crawler protection is not supported if you use the ELB access mode.
    • WAF only logs JavaScript challenge and JavaScript authentication events. No other protective actions can be configured for JavaScript challenge and authentication.
    • WAF JavaScript-based anti-crawler rules only check GET requests and do not check POST requests.
    +
  • JS anti-crawler protection is not supported when you select ELB access for website deployment.
  • WAF only logs JavaScript challenge and JavaScript authentication events. No other protective actions can be configured for JavaScript challenge and authentication.
  • WAF JavaScript-based anti-crawler rules only check GET requests and do not check POST requests.
  • How JavaScript Anti-Crawler Protection Works

    Figure 1 shows how JavaScript anti-crawler detection works, which includes JavaScript challenges (step 1 and step 2) and JavaScript authentication (step 3).

    Figure 1 JavaScript Anti-Crawler protection process
    If JavaScript anti-crawler is enabled when a client sends a request, WAF returns a piece of JavaScript code to the client.
    • If the client sends a normal request to the website, triggered by the received JavaScript code, the client will automatically send the request to WAF again. WAF then forwards the request to the origin server. This process is called JavaScript verification.
    • If the client is a crawler, it cannot be triggered by the received JavaScript code and will not send a request to WAF again. The client fails JavaScript authentication.
    • If a client crawler fabricates a WAF authentication request and sends the request to WAF, the WAF will block the request. The client fails JavaScript authentication.
    -

    By collecting statistics on the number of JavaScript challenges and authentication responses, the system calculates how many requests the JavaScript anti-crawler defends. In Figure 2, the JavaScript anti-crawler has logged 18 events, 16 of which are JavaScript challenge responses, and 2 of which are JavaScript authentication responses. Others indicates the number of WAF authentication requests fabricated by the crawler.

    +

    By collecting statistics on the number of JavaScript challenges and authentication responses, the system calculates how many requests the JavaScript anti-crawler defends. In Figure 2, the JavaScript anti-crawler has logged 18 events, 16 of which are JavaScript challenge responses, and 2 of which are JavaScript authentication responses. Other indicates the number of WAF authentication requests fabricated by the crawler.

    Figure 2 Parameters of a JavaScript anti-crawler protection rule

    WAF only logs JavaScript challenge and JavaScript authentication events. No other protective actions can be configured for JavaScript challenge and authentication.

    diff --git a/docs/wafd/umn/waf_01_0016.html b/docs/wafd/umn/waf_01_0016.html index 192d82196..cca3ac6d4 100644 --- a/docs/wafd/umn/waf_01_0016.html +++ b/docs/wafd/umn/waf_01_0016.html @@ -42,9 +42,9 @@

    Condition List

    Click Add to add conditions. At least one condition needs to be added. You can add up to 30 conditions to a protection rule. If more than one condition is added, all of the conditions must be met for the rule to be applied. A condition includes the following parameters:

    -
    Parameters for configuring a condition are described as follows:
    • Field
    • Subfield: Configure this field only when Params, Cookie, or Header is selected for Field.
      NOTICE:

      The length of a subfield cannot exceed 2,048 bytes. Only digits, letters, underscores (_), and hyphens (-) are allowed.

      +
      Parameters for configuring a condition are described as follows:
      • Field
      • Subfield: Configure this field only when Params, Cookie, or Header is selected for Field.
        NOTICE:

        The length of a subfield cannot exceed 2,048 bytes. Only digits, letters, underscores (_), and hyphens (-) are allowed.

        -
      • Logic: Select a logical relationship from the drop-down list.
      • Content: Enter or select the content that matches the condition.
      +
    • Logic: Select a logical relationship from the drop-down list.
    • Content: Enter or select the content that matches the condition.

    Path, Include, /product

    diff --git a/docs/wafd/umn/waf_01_0020.html b/docs/wafd/umn/waf_01_0020.html index 233d5ec69..ee082d2dd 100644 --- a/docs/wafd/umn/waf_01_0020.html +++ b/docs/wafd/umn/waf_01_0020.html @@ -32,7 +32,7 @@

    WAF protection status and security situation of the domain name for the past three days.

    WAF supports the following protection modes:

    -
    • Protected: The WAF protection is enabled.
    • Unprotected: The WAF protection is disabled. If a large number of normal requests are blocked, for example, status code 418 is frequently returned, then you can switch the mode to Suspended. In this mode, your website is not protected because WAF only forwards requests. It does not scan for attacks. This mode is risky. You are advised to use the global protection whitelist rules to reduce false alarms.
    +
    • Protected: The WAF protection is enabled.
    • Unprotected: The WAF protection is disabled. If a large number of normal requests are blocked, for example, status code 418 is frequently returned, then you can switch the mode to Suspended. In this mode, your website is not protected because WAF only forwards requests. It does not scan for attacks. This mode is risky. You are advised to use the global protection whitelist rules to reduce false alarms.

    Certificate/Cipher Suite

    diff --git a/docs/wafd/umn/waf_01_0021.html b/docs/wafd/umn/waf_01_0021.html index 49de6e396..30dcd48c7 100644 --- a/docs/wafd/umn/waf_01_0021.html +++ b/docs/wafd/umn/waf_01_0021.html @@ -4,7 +4,7 @@

    This topic describes how to view protection event logs, including attack and request statistics, event distribution, top 10 attacked domain names, top 10 attack source IP addresses, and top 10 attacked URLs in a specified time range, such as yesterday, today, past 3 days, past 7 days, or past 30 days.

    Prerequisites

    -

    Specification Limitations

    On the Dashboard page, protection data of up to 30 days can be viewed.

    +

    Specification Limitations

    You can view the protection data of a maximum of 30 days.

    How to Calculate QPS

    The QPS calculation method varies depending on the time range. For details, see Table 1.

    @@ -52,10 +52,10 @@

    Viewing the Dashboard

    1. Log in to the management console.
    2. Click in the upper left corner of the management console and select a region or project.
    3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
    4. In the upper part of the page, select a project from the Enterprise Project drop-down list. Then, specify the website, instance, and time range for your query.

      • By default, the information about all websites you add to WAF in all enterprise projects are displayed.
      • Domain Names: shows information about websites added to the WAF instance in the selected enterprise project. Click View to go to the Website Settings page and view details about domain names of protected websites.
      • Query time: You can select Yesterday, Today, Past 3 days, Past 7 days, or Past 30 days.
      Figure 1 Setting search criteria
      -

    5. View how many requests, attacks, and attacked pages by attack type over the specified time range.

      • Requests: shows the page views of the website, making it easy for you to view the total number of pages accessed by visitors in a certain period of time.
      • Attacks: shows how many times the website are attacked.
      • You can view how many pages are attacked by a certain type of attack within a certain period of time.
      • You can click Show Details to view the details of the 10 domain names with the most requests, attacks, and basic web protection, precise protection, CC attack protection, and anti-crawler protection actions.
      +

    6. View how many requests, attacks, and attacked pages by attack type over the specified time range.

      • Requests: shows the page views of the website, making it easy for you to view the total number of pages accessed by visitors in a certain period of time.
      • Attacks: shows how many times the website are attacked.
      • You can view how many pages are attacked by a certain type of attack within a certain period of time.
      • You can click Show Details to view the details of the 10 domain names with the most requests, attacks, and basic web protection, precise protection, CC attack protection, and anti-crawler protection actions.
      Figure 2 Protection action statistics

    7. Query security data in the Security Event Statistics area.

      By day: You can select this option to view the data gathered by the day. If you leave this option unselected, you have the following options:

      -
      • Yesterday and Today: Security event data is gathered every minute.
      • Past 3 days: Security event data is gathered every 5 minutes.
      • Past 7 days: Security event data is gathered every 10 minutes.
      • Past 30 days: Security event data is gathered every hour.
      +
      • Yesterday and Today: Security event data is gathered every minute.
      • Past 3 days: Security event data is gathered every 5 minutes.
      • Past 7 days: Security event data is gathered every 10 minutes.
      • Past 30 days: Security event data is gathered every hour.
      Figure 3 Security Event Statistics
      - - diff --git a/docs/wafd/umn/waf_01_0100.html b/docs/wafd/umn/waf_01_0100.html index 12b7d3027..f0375cbf3 100644 --- a/docs/wafd/umn/waf_01_0100.html +++ b/docs/wafd/umn/waf_01_0100.html @@ -1,7 +1,7 @@

      What Can I Do If Files Cannot Be Uploaded After a Website Is Connected to WAF?

      -
      After your website is connected to WAF, the size of the file each time you can upload to the website is limited as follows:
      • Cloud mode - CNAME access: 1 GB
      • Cloud mode - load balancer access or dedicated mode: 10 GB
      +
      After your website is connected to WAF, the size of the file each time you can upload to the website is limited as follows:
      • Cloud mode - Load balancer access mode: 10 GB
      • Dedicated mode: 10 GB

      To upload a file larger than what is allowed, upload the file through any of the following:

      • IP address
      • Separate web server that is not protected by WAF
      • FTP server
      diff --git a/docs/wafd/umn/waf_01_0154.html b/docs/wafd/umn/waf_01_0154.html index c2b60a319..86b46cc97 100644 --- a/docs/wafd/umn/waf_01_0154.html +++ b/docs/wafd/umn/waf_01_0154.html @@ -8,7 +8,7 @@

      Constraints

      • The Redirection mode is not supported if you select ELB access for the protected website.
      • The content of the text/html, text/xml, and application/json pages can be configured on the Custom block page to be returned.
      • The root domain name of the redirection address must be the same as the currently protected domain name (including a wildcard domain name). For example, if the protected domain name is www.example.com and the port is 8080, the redirection URL can be set to http://www.example.com:8080/error.html.
      -

      Editing Response Page for Blocked Requests

      1. Log in to the management console.
      2. Click in the upper left corner of the management console and select a region or project.
      3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
      4. In the navigation pane on the left, choose Website Settings.
      5. In the Domain Name column, click the domain name of the website to go to the basic information page.
      6. Click the edit icon next to the page template name in the row where Alarm Page is located. In the displayed Alarm Page dialog box, specify Page Template.

        • To use the built-in page, select Default. An HTTP code 418 is returned.
          Figure 1 Default alarm page
          +

          Editing Response Page for Blocked Requests

          1. Log in to the management console.
          2. Click in the upper left corner of the management console and select a region or project.
          3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
          4. In the navigation pane on the left, choose Website Settings.
          5. In the Domain Name column, click the domain name of the website to go to the basic information page.
          6. Click next to the page template name in the row of Alarm Page. In the displayed Alarm Page dialog box, specify Page Template.

            • To use the built-in page, select Default. An HTTP code 418 is returned.
              Figure 1 Default alarm page
            • To customize the alarm page, select Custom and configure following parameters.
              • HTTP Return Code: return code configured on a custom page.
              • Response Header: Click Add Response Header Field and configure response header parameters.
              • Block Page Type: The options are text/html, text/xml, and application/json.
              • Page Content: Configure the page content based on the selected value for Block Page Type.
              Figure 2 Custom alarm page
            • To configure a redirection URL, select Redirection.
              Figure 3 Redirection alarm page
              diff --git a/docs/wafd/umn/waf_01_0169.html b/docs/wafd/umn/waf_01_0169.html index 6c5e5b07c..57b7e2a76 100644 --- a/docs/wafd/umn/waf_01_0169.html +++ b/docs/wafd/umn/waf_01_0169.html @@ -58,8 +58,7 @@
      diff --git a/docs/wafd/umn/waf_01_0172.html b/docs/wafd/umn/waf_01_0172.html index bdccd06ac..95791ba45 100644 --- a/docs/wafd/umn/waf_01_0172.html +++ b/docs/wafd/umn/waf_01_0172.html @@ -3,7 +3,7 @@

      Using LTS to Log WAF Activities

      After you authorize WAF to access Log Tank Service (LTS), you can use the WAF logs recorded by LTS for quick and efficient real-time analysis, device O&M management, and analysis of service trends.

      LTS analyzes and processes a large number of logs. It enables you to process logs in real-time, efficiently, and securely. Logs can be stored in LTS for seven days by default but you can configure LTS for up to 30 days if needed. Logs earlier than 30 days are automatically deleted. However, you can configure LTS to dump those logs to an Object Storage Service (OBS) bucket or enable Data Ingestion Service (DIS) for long-term storage.

      -

      Prerequisites

      +

      Prerequisites

      Impact on the System

      Enabling LTS for WAF does not affect WAF performance.

      diff --git a/docs/wafd/umn/waf_01_0253.html b/docs/wafd/umn/waf_01_0253.html index 8697dcaa3..9c3bde2ec 100644 --- a/docs/wafd/umn/waf_01_0253.html +++ b/docs/wafd/umn/waf_01_0253.html @@ -6,84 +6,111 @@

      Prerequisites

      • You have applied for a dedicated WAF instance.
      • Your login account has the IAM ReadOnly permission.
      -

      Viewing Information About a Dedicated WAF Instance

      1. Log in to the management console.
      2. Click in the upper left corner of the management console and select a region or project.
      3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
      4. In the navigation pane on the left, choose Instance Management > Dedicated Engine to go to the dedicated WAF instance page.

        Figure 1 Dedicated engine list
        -

      5. View information about a dedicated WAF instance. Table 1 describes parameters.

        -

      Table 2 Parameters in Security Event Statistics

      Parameter

      @@ -84,7 +84,7 @@

      Event Distribution

      Types of attack events

      -

      Click an area in the Event Distribution area to view the type, number, and proportion of an attack.

      +

      Click an area in the Event Distribution area to view the type, number, and proportion of an attack.

      Top 10 Attacked Domain Names

      diff --git a/docs/wafd/umn/waf_01_0024.html b/docs/wafd/umn/waf_01_0024.html index 414629e80..24b8c4d59 100644 --- a/docs/wafd/umn/waf_01_0024.html +++ b/docs/wafd/umn/waf_01_0024.html @@ -37,9 +37,9 @@

      Condition List

      Click Add to add conditions. At least one condition needs to be added. You can add up to 30 conditions to a protection rule. If more than one condition is added, all of the conditions must be met for the rule to be applied. A condition includes the following parameters:

      -
      Parameters for configuring a condition are described as follows:
      • Field
      • Subfield: Configure this field only when Params, Cookie, or Header is selected for Field.
        NOTICE:

        The length of a subfield cannot exceed 2,048 bytes. Only digits, letters, underscores (_), and hyphens (-) are allowed.

        +
        Parameters for configuring a condition are described as follows:
        • Field
        • Subfield: Configure this field only when Params, Cookie, or Header is selected for Field.
          NOTICE:

          The length of a subfield cannot exceed 2,048 bytes. Only digits, letters, underscores (_), and hyphens (-) are allowed.

          -
        • Logic: Select a logical relationship from the drop-down list.
        • Content: Enter or select the content that matches the condition.
        +
      • Logic: Select a logical relationship from the drop-down list.
      • Content: Enter or select the content that matches the condition.

      Path, Include, /product

      diff --git a/docs/wafd/umn/waf_01_0052.html b/docs/wafd/umn/waf_01_0052.html index e81fb46b6..e9ee6e6cf 100644 --- a/docs/wafd/umn/waf_01_0052.html +++ b/docs/wafd/umn/waf_01_0052.html @@ -6,7 +6,7 @@

      If your account does not need individual IAM users for permissions management, then you may skip over this chapter.

      WAF Permissions

      By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and attach permissions policies or roles to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions.

      WAF is a project-level service deployed and accessed in specific physical regions. To assign WAF permissions to a user group, specify the scope as region-specific projects and select projects for the permissions to take effect. If All projects is selected, the permissions will take effect for the user group in all region-specific projects. When accessing WAF, the users need to switch to a region where they have been authorized to use the WAF service.

      -
      You can grant users permissions by using roles and policies.
      • Roles: A type of coarse-grained authorization mechanism that defines permissions related to users responsibilities. Only a limited number of service-level roles for authorization are available. You need to also assign other dependent roles for the permission control to take effect. Roles are not ideal for fine-grained authorization and secure access control.
      • Policies: A fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization and meets secure access control requirements. For example, you can grant WAF users only the permissions for managing a certain type of resources. Most policies define permissions based on APIs. For the API actions supported by WAF, see WAF Permissions and Supported Actions.
      +
      You can grant users permissions by using roles and policies.
      • Roles: A type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. Only a limited number of service-level roles for authorization are available. You need to also assign other dependent roles for the permission control to take effect. Roles are not ideal for fine-grained authorization and secure access control.
      • Policies: A fine-grained authorization mechanism that defines permissions required to perform operations on specific cloud resources under certain conditions. This mechanism allows for more flexible policy-based authorization and meets secure access control requirements. For example, you can grant WAF users only the permissions for managing a certain type of resources. Most policies define permissions based on APIs. For the API actions supported by WAF, see WAF Permissions and Supported Actions.

      Table 1 lists all the system roles supported by WAF.

      diff --git a/docs/wafd/umn/waf_01_0060.html b/docs/wafd/umn/waf_01_0060.html index b16f7ee30..44cdc5182 100644 --- a/docs/wafd/umn/waf_01_0060.html +++ b/docs/wafd/umn/waf_01_0060.html @@ -1,7 +1,7 @@

      Viewing CTS Traces in the Trace List

      -

      Scenarios

      After you enable CTS and the management tracker is created, CTS starts recording operations on cloud resources. After a data tracker is created, the system starts recording operations on data in Object Storage Service (OBS) buckets. Cloud Trace Service (CTS) stores operation records (traces) generated in the last seven days.

      +

      Scenarios

      After you enable CTS and the management tracker is created, CTS starts recording operations on cloud resources. Cloud Trace Service (CTS) stores operation records (traces) generated in the last seven days.

      These operation records are retained for seven days on the CTS console and are automatically deleted upon expiration. Manual deletion is not supported.

      @@ -10,7 +10,7 @@
    8. Operator: Select a user.
    9. Trace Status: Select All trace statuses, Normal, Warning, or Incident.
    10. Time range: Select Last 1 hour, Last 1 day, or Last 1 week, or specify a custom time range within the last seven days.
    11. Click Query.
    12. On the Trace List page, you can also export and refresh the trace list.
      • Click Export to export all traces in the query result as a CSV file. The file can contain up to 5,000 records.
      • Click to view the latest information about traces.
      -
    13. Click on the left of a trace to expand its details.

      +
    14. Click on the left of a trace to expand its details.

      diff --git a/docs/wafd/umn/waf_01_0061.html b/docs/wafd/umn/waf_01_0061.html index ac668ea0e..8ea7bcea6 100644 --- a/docs/wafd/umn/waf_01_0061.html +++ b/docs/wafd/umn/waf_01_0061.html @@ -6,8 +6,8 @@
    15. Adding Rules to One or More Policies

      1. Log in to the management console.
      2. Click in the upper left corner of the management console and select a region or project.
      3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
      4. In the navigation pane on the left, choose Policies.
      5. In the upper left corner of the policy list, click View All My Rules.

        Figure 1 View Rules

      6. In the upper left corner above a list of a type of rule, click Add Rule.

        Figure 2 Adding a rule to one or more policies
        -

      7. Select one or more policies from the Policy Name drop-down list.

        Figure 3 Adding a rule to one or more policies
        -

      8. Set other parameters.

        • To add a CC attack protection rule, see Table 1.
        • To add a precise protection rule, see Table 1.
        • To add a blacklist or whitelist rule, see Table 1.
        • To add a geolocation access control rule, see Table 1.
        • To add a WTP rule, see Table 1.
        • To add an information leakage prevention rule, see Table 1.
        • To add a global protection whitelist rule, see Table 1.
        • To add a data masking rule, see Table 1.
        +

      9. Select one or more policies from the Policy Name drop-down list.

        Figure 3 Adding a rule to one or more policies
        +

      10. Set other parameters in addition to Policy Name.

        • To add a CC attack protection rule, see Table 1.
        • To add a precise protection rule, see Table 1.
        • To add a blacklist or whitelist rule, see Table 1.
        • To add a geolocation access control rule, see Table 1.
        • To add a WTP rule, see Table 1.
        • To add an information leakage prevention rule, see Table 1.
        • To add a global protection whitelist rule, see Table 1.
        • To add a data masking rule, see Table 1.

      11. Click Confirm.
      diff --git a/docs/wafd/umn/waf_01_0066.html b/docs/wafd/umn/waf_01_0066.html index e248cd6d6..9f05e01b8 100644 --- a/docs/wafd/umn/waf_01_0066.html +++ b/docs/wafd/umn/waf_01_0066.html @@ -37,7 +37,7 @@

      504 Gateway Timeout

      Scenario: After the configuration of connecting a domain name to WAF is complete, your website works properly. However, with the increasing traffic volume, the number of 504 errors also increases. If you directly access the IP address of the origin server, the 504 error code is returned sometimes.

      The possible causes are as follows:

      • Cause 1: Backend server performance issues (such as too many connections or high CPU usage)
        Solution:
        1. Optimize the server configuration, including TCP network parameters and ulimit parameters.
        2. To handle large-scale service increase, use method 1 or method 2 to perform the processing.

          Method 1: Add a backend server group to the ELB load balancer.

          -
          Method 2: Create an ELB. Use the EIP of ELB as the IP address of the server to connect to WAF.
          1. Log in to the management console, click Service List in the upper part of the page, and choose Security > Web Application Firewall (Dedicated).
          2. In the navigation pane, choose Website Settings.
          3. In the Domain Name column, click the domain name. Its information is displayed.
          4. In the Server Information area, click . On the displayed page, click Add.
          +
          Method 2: Create an ELB. Use the EIP of ELB as the IP address of the server to connect to WAF.
          1. Log in to the management console, click Service List in the upper part of the page, and choose Security > Web Application Firewall (Dedicated).
          2. In the navigation pane, choose Website Settings.
          3. In the Domain Name column, click the domain name. Its information is displayed.
          4. In the Server Information area, click . On the displayed page, click Add.
        3. If the Client Protocol is HTTPS, you can use HTTPS on the WAF side. However, it is recommended that HTTP (Server Protocol) to forward the requests to your web server, lowering the computational demands on backend servers.
        diff --git a/docs/wafd/umn/waf_01_0074.html b/docs/wafd/umn/waf_01_0074.html index 063cc1be6..eef72fce5 100644 --- a/docs/wafd/umn/waf_01_0074.html +++ b/docs/wafd/umn/waf_01_0074.html @@ -7,7 +7,7 @@

        Constraints

        A protected website domain name can use only one policy.

        Procedure

        1. Log in to the management console.
        2. Click in the upper left corner of the management console and select a region or project.
        3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
        4. In the navigation pane on the left, choose Policies.
        5. In the upper left corner, click Add Policy.

          Figure 1 Policies
          -

        6. In the displayed dialog box, enter the policy name and click Confirm. The added policy will be displayed in the policy list.

          Figure 2 Add Policy
          +

        7. In the displayed dialog box, enter the policy name and click Confirm. The added policy will be displayed in the policy list.

          Figure 2 Add Policy

        8. In the Policy Name column, click the policy name. On the displayed page, add rules to the policy by referring to Rule Configurations.

        Related Operations

        • To modify a policy name, click next to the policy name. In the dialog box displayed, enter a new policy name.
        • To delete a rule, locate the row containing the rule. In the Operation column, click Delete.
        diff --git a/docs/wafd/umn/waf_01_0081.html b/docs/wafd/umn/waf_01_0081.html index 6df8d0e2f..b3e03110c 100644 --- a/docs/wafd/umn/waf_01_0081.html +++ b/docs/wafd/umn/waf_01_0081.html @@ -31,14 +31,14 @@

      Type

      • Path: A URL to be protected, excluding a domain name
      • User Agent: A user agent of the scanner to be protected
      • IP: An IP address of the visitor to be protected.
      • Params: A request parameter to be protected
      • Cookie: A small piece of data to identify web visitors
      • Referer: A user-defined request resource

        For example, if the protected path is /admin/xxx and you do not want visitors to be able to access it from www.test.com, set Value to http://www.test.com.

        -
      • Header: A user-defined HTTP header
      +
    16. Header: A user-defined HTTP header.
    17. Path

      +

      Path

      Value

      Value of the corresponding Type. Wildcards are not allowed.

      +

      Value of the corresponding Type. Wildcards are not allowed.

      NOTE:

      Click Add to add more than one value.

      Default cipher suite

      -
      NOTE:

      By default, Cipher suite 1 is configured for websites. However, if the request does not carry the server name indication (SNI), WAF uses the Default cipher suite.

      -
      +
      NOTE:
      • ECDHE-RSA-AES256-SHA384
      • AES256-SHA256
      • RC4
      • HIGH
      Table 1 Key parameters of dedicated WAF instances

      Parameter

      +

      Dedicated Engine Version Iteration

      You can view the WAF instance version in the Version column of the dedicated WAF instance list.

      + +
      - - - - - - - - - - - - +
      Table 1 Dedicated WAF versions

      Engine Version

      Description

      -

      Example Value

      +

      Feature

      Instance Name

      +

      202312

      Name automatically generated when an instance is created.

      -

      None

      +
      • A global protection whitelist rule can be set to ignore invalid requests.
      • JavaScript-based anti-crawler rules support more protective actions, including Block, Log only, and Verification code.

      Protected Website

      +

      202308

      Domain name of the website protected by the instance.

      -

      www.example.com

      +
      • The $remote_addr field is added to the IP identifier, which can be directly set to the IP address of the TCP connection.
      • IP addresses used in TCP connections can be identified by CC, precise protection, blacklist, and whitelist rules.
      • A block duration can be set if Protective Action is set to Verification code in a CC attack protection rule.

      VPC

      +

      202305

      VPC where the instance resides

      -

      vpc-waf

      +
      • HTTP2 is enabled globally by default. There is no need to enable it manually.
      • By default, a request can pass through WAF four times before it goes to the origin server. Error code 523 will be returned if the request exceeds this limit.
      • Strict multipart format verification is supported.
      • Dedicated ELB network load balancers are supported. (In earlier versions, only shared load balancers and dedicated application load balancers are supported.)

      Subnet

      +
      +
      +
      +

      Viewing Information About a Dedicated WAF Instance

      1. Log in to the management console.
      2. Click in the upper left corner of the management console and select a region or project.
      3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
      4. In the navigation pane on the left, choose Instance Management > Dedicated Engine to go to the dedicated WAF instance page.

        Figure 1 Dedicated engine list
        +

      5. View information about a dedicated WAF instance. Table 2 describes parameters.

        +

        + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -111,7 +138,7 @@

        Resources on deleted instance are released and cannot be restored. Exercise caution when performing this operation.

        1. Log in to the management console.
        2. Click in the upper left corner of the management console and select a region or project.
        3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
        4. In the navigation pane on the left, choose Instance Management > Dedicated Engine to go to the dedicated WAF instance page.

          Figure 5 Dedicated engine list
          -

        5. In the row of the instance, click More > Delete in the Operation column.
        6. In the displayed dialog box, enter DELETE and click Confirm.

          Figure 6 Deleting an instance
          +

        7. In the row of the instance, click More > Delete in the Operation column.
        8. In the displayed dialog box, enter DELETE and click Confirm.

          Figure 6 Deleting an instance

        diff --git a/docs/wafd/umn/waf_01_0262.html b/docs/wafd/umn/waf_01_0262.html index c9957bbe5..f28f29008 100644 --- a/docs/wafd/umn/waf_01_0262.html +++ b/docs/wafd/umn/waf_01_0262.html @@ -9,7 +9,7 @@

        Impact on the System

        • It is recommended that you update the certificate before it expires. Otherwise, all WAF protection rules will fail to take effect, and there can be massive impacts on the origin server, even more severe than a crashed host or website access failures.
        • Updating certificates does not affect services. The old certificate still works during the certificate replacement. The new certificate will take over the job once it has been uploaded and successfully associated with the domain name.
        -

        Updating the Certificate Used for a Website

        1. Log in to the management console.
        2. Click in the upper left corner of the management console and select a region or project.
        3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
        4. In the navigation pane on the left, choose Website Settings.
        5. In the Domain Name column, click the domain name of the website to go to the basic information page.
        6. Click the edit icon next to the certificate name. In the Update Certificate dialog box, import a new certificate or select an existing certificate.

          • If you select Import new certificate for Update Method, enter a certificate name, and copy and paste the certificate file and private key into the corresponding text boxes.

            WAF encrypts and saves the private key to keep it safe.

            +

            Updating the Certificate Used for a Website

            1. Log in to the management console.
            2. Click in the upper left corner of the management console and select a region or project.
            3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
            4. In the navigation pane on the left, choose Website Settings.
            5. In the Domain Name column, click the domain name of the website to go to the basic information page.
            6. Click Modify next to the certificate name. In the Update Certificate dialog box, import a new certificate or select an existing certificate.

              • If you select Import new certificate for Update Method, enter a certificate name, and copy and paste the certificate file and private key into the corresponding text boxes.

                WAF encrypts and saves the private key to keep it safe.

                Figure 1 Update Certificate
                Only .pem certificates can be used in WAF. If the certificate is not in .pem format, convert it into .pem locally by referring to Table 1 before uploading it. diff --git a/docs/wafd/umn/waf_01_0265.html b/docs/wafd/umn/waf_01_0265.html index b36cc0514..4a2283d33 100644 --- a/docs/wafd/umn/waf_01_0265.html +++ b/docs/wafd/umn/waf_01_0265.html @@ -8,7 +8,14 @@ -
        + + + - - diff --git a/docs/wafd/umn/waf_01_0287.html b/docs/wafd/umn/waf_01_0287.html index 82f743d32..44b724f3c 100644 --- a/docs/wafd/umn/waf_01_0287.html +++ b/docs/wafd/umn/waf_01_0287.html @@ -6,7 +6,7 @@

        Prerequisites

        • You have applied for a dedicated WAF instance.
        • You have contacted technical support to apply for the ELB access mode.
        • You have applied for a dedicated load balancer. Its specifications must be Application load balancing (HTTP/HTTPS). Note that the account you use to apply for the load balancer must have WAF dedicated mode enabled.
        -

        Connecting a Website to WAF in ELB Access Mode

        1. Log in to the management console.
        2. Click in the upper left corner of the management console and select a region or project.
        3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
        4. In the navigation pane on the left, choose Website Settings.
        5. In the upper left corner of the website list, click Add Website.
        6. Choose ELB access and click OK.
        7. On the displayed domain name details page, configure basic settings by referring to Table 1.

          +

          Connecting a Website to WAF in ELB Access Mode

          1. Log in to the management console.
          2. Click in the upper left corner of the management console and select a region or project.
          3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
          4. In the navigation pane on the left, choose Website Settings.
          5. In the upper left corner of the website list, click Add Website.
          6. Choose ELB access and click OK.
          7. On the displayed domain name details page, configure basic settings by referring to Table 1.

        Table 2 Key parameters of dedicated WAF instances

        Parameter

        +

        Description

        +

        Example Value

        +

        Instance Name

        Subnet where an instance resides

        +

        Name automatically generated when an instance is created.

        subnet-62bb

        +

        None

        IP Address

        +

        Protected Website

        IP address of the subnet in the VPC where the WAF instance is deployed.

        +

        Domain name of the website protected by the instance.

        192.168.0.186

        +

        www.example.com

        Access Status

        +

        VPC

        Connection status of the instance.

        +

        VPC where the instance resides

        Accessible

        +

        vpc-waf

        Running Status

        +

        Subnet

        Status of the instance.

        +

        Subnet where an instance resides

        Running

        +

        subnet-62bb

        Version

        +

        IP Address

        Dedicated WAF version.

        +

        IP address of the subnet in the VPC where the WAF instance is deployed.

        202304

        +

        192.168.0.186

        Deployment

        +

        Access Status

        How the instance is deployed.

        +

        Connection status of the instance.

        Standard mode (reverse proxy)

        +

        Accessible

        Specifications

        +

        Running Status

        Specifications of resources hosting the instance.

        +

        Status of the instance.

        8 vCPUs | 16 GB

        +

        Running

        +

        Version

        +

        Dedicated WAF version.

        +

        202304

        +

        Deployment

        +

        How the instance is deployed.

        +

        Standard mode (reverse proxy)

        +

        Specifications

        +

        Specifications of resources hosting the instance.

        +

        8 vCPUs | 16 GB

        2024-12-13

        +

        2025-01-17

        +

        This issue is the ninth official release.

        +

        Modified the following content:

        + +

        2024-12-13

        This issue is the eighth official release.

        Added the following content:

        diff --git a/docs/wafd/umn/waf_01_0271.html b/docs/wafd/umn/waf_01_0271.html index 23f11649d..4029d4ca1 100644 --- a/docs/wafd/umn/waf_01_0271.html +++ b/docs/wafd/umn/waf_01_0271.html @@ -27,11 +27,11 @@

        Blocking Type

        Specifies the blocking type. The options are:

        -
        • Long-term IP address blocking
        • Short-term IP address blocking
        • Long-term Cookie blocking
        • Short-term Cookie blocking
        • Long-term Params blocking
        • Short-term Params blocking
        +
        • Long-term IP address blocking
        • Short-term IP address blocking
        • Long-term Cookie blocking
        • Short-term Cookie blocking
        • Long-term Params blocking
        • Short-term Params blocking
        NOTICE:

        For blacklist and whitelist rules, a known attack source with Long-term IP address blocking or Short-term IP address blocking configured cannot be selected.

        Long-term IP address blocking

        +

        Long-term IP address blocking

        Blocking Duration (s)

        diff --git a/docs/wafd/umn/waf_01_0272.html b/docs/wafd/umn/waf_01_0272.html index 03649f10b..cc7e8af61 100644 --- a/docs/wafd/umn/waf_01_0272.html +++ b/docs/wafd/umn/waf_01_0272.html @@ -58,8 +58,8 @@

        Peak rate of normal service requests

        The following lists the specifications of a single instance.

        -
        • Specifications: WI-500. Estimated performance:
          • HTTP services - Recommended QPS: 5,000. Maximum QPS: 10,000.
          • HTTPS services - Recommended QPS: 4,000. Maximum QPS: 8,000.
          • WebSocket service - Maximum concurrent connections: 5,000
          • Maximum WAF-to-server persistent connections: 60,000
          -
        • Specifications: WI-100. Estimated performance:
          • HTTP services - Recommended QPS: 1,000. Maximum QPS: 2,000.
          • HTTPS services - Recommended QPS: 800. Maximum QPS: 1,600
          • WebSocket service - Maximum concurrent connections: 1,000
          • Maximum WAF-to-server persistent connections: 60,000
          +
          • Specifications: WI-500. Estimated performance:
            • HTTP services: 5,000 QPS (recommended)
            • HTTPS services: 4,000 QPS (recommended)
            • WebSocket service - Maximum concurrent connections: 5,000
            • Maximum WAF-to-server persistent connections: 60,000
            +
          • Specifications: WI-100. Estimated performance:
            • HTTP services: 1,000 QPS (recommended)
            • HTTPS services: 800 QPS (recommended)
            • WebSocket service - Maximum concurrent connections: 1,000
            • Maximum WAF-to-server persistent connections: 60,000
          NOTICE:

          Maximum QPS values are for reference only. They may vary depending on your businesses. The real-world QPS is related to the request size and the type and quantity of protection rules you customize.

          diff --git a/docs/wafd/umn/waf_01_0278.html b/docs/wafd/umn/waf_01_0278.html index 542a1e713..1984275ff 100644 --- a/docs/wafd/umn/waf_01_0278.html +++ b/docs/wafd/umn/waf_01_0278.html @@ -53,7 +53,7 @@

        Cause 1: Access Status for Domain Name/IP Address not updated

        +

        Cause 1: Access Status for Domain Name/IP Address not updated

        In the Access Status column for the website, click to update the status.

        @@ -41,11 +41,11 @@ - @@ -59,12 +59,12 @@ -
        Table 1 Parameter description

        Parameter

        Description

        @@ -25,7 +25,7 @@

        ELB Listener

        Listener configured for the selected ELB load balancer.

        -
        • All listeners
        • Specific listener
        +
        • All listeners
        • Specific listener

        All listeners

        Set this parameter to the domain name or IP address you want to protect. Make sure that the domain name has been resolved to the EIP of the load balancer.

        Single domain names or wildcard domain names are supported.

        -
        • Single domain name: Enter a single domain name, for example, www.example.com.
        • Wildcard domain name
          • If the server IP address of each subdomain name is the same, enter a wildcard domain name. For example, if the subdomain names a.example.com, b.example.com, and c.example.com have the same server IP address, you can add the wildcard domain name *.example.com to WAF to protect all three.
          • If the server IP addresses of subdomain names are different, add subdomain names as single domain names one by one.
          • Wildcard domain name* can be added.
          +
          • Single domain name: Enter a single domain name, for example, www.example.com.
          • Wildcard domain name
            • If the server IP address of each subdomain name is the same, enter a wildcard domain name. For example, if the subdomain names a.example.com, b.example.com, and c.example.com have the same server IP address, you can add the wildcard domain name *.example.com to WAF to protect all three.
            • If the server IP addresses of subdomain names are different, add subdomain names as single domain names one by one.
            • Wildcard domain name* can be added.

        Single domain name: www.example.com

        -

        Wildcard domain name: *.example.com

        +

        Single domain name: www.example.com

        +

        Wildcard domain name: *.example.com

        IP Address:

        XXX.XXX.1.1

        Policy

        The system-generated policy is selected by default. You can select a policy you configured before. You can also customize rules after the domain name is connected to WAF.

        +

        The system-generated policy is selected by default. You can select a policy you configured before. You can also customize rules after the domain name is connected to WAF.

        System-generated policies

        -
        • Basic web protection (Log only mode and common checks)

          The basic web protection defends against attacks such as SQL injections, XSS, remote overflow vulnerabilities, file inclusions, Bash vulnerabilities, remote command execution, directory traversal, sensitive file access, and command/code injections.

          -
        • Anti-crawler (Log only mode and Scanner feature)

          WAF only logs web scanning tasks, such as vulnerability scanning and virus scanning, such as crawling behavior of OpenVAS and Nmap.

          +
          • Basic web protection (Log only mode and common checks)

            The basic web protection defends against attacks such as SQL injections, XSS, remote overflow vulnerabilities, file inclusions, Bash vulnerabilities, remote command execution, directory traversal, sensitive file access, and command/code injections.

            +
          • Anti-crawler (Log only mode and Scanner feature)

            WAF only logs web scanning tasks, such as vulnerability scanning and virus scanning, such as crawling behavior of OpenVAS and Nmap.

          -
          NOTE:
          • Log only: WAF only logs detected attacks instead of blocking them.
          • Only the professional and platinum editions allow you to specify a custom policy for Policy.
          +
          NOTE:
          • Log only: WAF only logs detected attacks instead of blocking them.
          • Only the professional and platinum editions allow you to specify a custom policy for Policy.

        System-generated policy

        @@ -74,7 +74,7 @@
      -

    18. Click OK.

      You can view the added websites in the protected website list.

      +

    19. Click OK.

      You can view the added websites in the protected website list.

    20. Follow-up Operations

      • The initial Access Status of a website is Unaccessed. When a request reaches the WAF instance configured for the website, the access status automatically changes to Accessed. To address access failure, see
      • Complete Recommended Configurations
      • Adjust the protection policy configured for the protected domain name based on protection requirements. For details, see Protection Configuration Overview.
      diff --git a/docs/wafd/umn/waf_01_0311.html b/docs/wafd/umn/waf_01_0311.html index e99e0fdc5..68dc7de3f 100644 --- a/docs/wafd/umn/waf_01_0311.html +++ b/docs/wafd/umn/waf_01_0311.html @@ -10,7 +10,7 @@

      Handling Suggestions

      Disable the JavaScript anti-crawler protection by performing the following steps:

      1. Log in to the management console.
      2. Click in the upper left corner of the management console and select a region or project.
      3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
      4. In the navigation pane on the left, choose Policies.
      5. Click the name of the target policy to go to the protection configuration page.
      6. Click the Anti-Crawler configuration area and toggle it on or off if needed.

        • : enabled.
        • : disabled.
        -

      7. Click the JavaScript tab and disable the JavaScript anti-crawler protection. Its status changes to .
      +

    21. Click the JavaScript tab and disable the JavaScript anti-crawler protection..
    22. diff --git a/docs/wafd/umn/waf_01_0312.html b/docs/wafd/umn/waf_01_0312.html index faa6090ea..3a1f6f38f 100644 --- a/docs/wafd/umn/waf_01_0312.html +++ b/docs/wafd/umn/waf_01_0312.html @@ -8,7 +8,7 @@

      Configuring a Precise Protection Rule to Block All Source IP Addresses Except the Specified Ones

      1. Log in to the management console.
      2. Click in the upper left corner of the management console and select a region or project.
      3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
      4. In the navigation pane on the left, choose Policies.
      5. Click the name of the target policy to go to the protection configuration page.
      6. In the Precise Protection configuration area, enable the protection.

        Figure 3 Precise Protection configuration area

        -

      7. Click Customize Rule. In the upper left corner of the displayed page, click Add Rule.
      8. In the displayed Add Precise Protection Rule dialog box, add a protection rule as shown in Figure 4 to block all requests.

        The priority value here must be greater than that configured in Step 9 because allowing access has a higher priority than blocking access and a smaller priority value indicates a higher priority.

        +

      9. In the upper left corner of the displayed page, click Add Rule.
      10. In the displayed Add Precise Protection Rule dialog box, add a protection rule as shown in Figure 4 to block all requests.

        The priority value here must be greater than that configured in Step 9 because allowing access has a higher priority than blocking access and a smaller priority value indicates a higher priority.

        Figure 4 Blocking all requests

      11. Click Add Rule. In the displayed Add Precise Protection Rule dialog box, add a rule for the specified IP address.

        For example, if you want to allow 192.168.2.3 to access the website, add a protection rule as shown in Figure 5.

        diff --git a/docs/wafd/umn/waf_01_0355.html b/docs/wafd/umn/waf_01_0355.html index b2be49611..67db50898 100644 --- a/docs/wafd/umn/waf_01_0355.html +++ b/docs/wafd/umn/waf_01_0355.html @@ -3,7 +3,7 @@

        Why Does the Page Fail to Be Refreshed After WTP Is Enabled?

        Web Tamper Protection (WTP) supports only caching of static web pages. Perform the following steps to fix this issue:

        1. Log in to the management console.
        2. Click in the upper left corner of the management console and select a region or project.
        3. Click in the upper left corner and choose Web Application Firewall (Dedicated) under Security.
        4. In the navigation pane on the left, choose Policies.
        5. Click the name of the target policy to go to the protection configuration page.
        6. Click the Web Tamper Protection configuration area and check whether this function is enabled.

          • If this function is enabled (), go to Step 7.
          • If this function is disabled (), click to enable the function. Refresh the page several minutes later.
          -

        7. Click Customize Rule. On the displayed page, check whether the domain name and path are correct.

          • If they are correct, go to Step 8.
          • If they are incorrect, click Delete in the Operation column to delete the rule. Then, click Add Rule above the rule list and configure another rule.

            After the rule is added successfully, refresh the page several minutes later. Then, access the page again.

            +

          • Click Customize Rule. On the displayed page, check whether the domain name and path are correct.

            • If they are correct, go to Step 8.
            • If they are incorrect, click Delete in the Operation column to delete the rule. Then, click Add Rule above the rule list and configure another rule.

              After the rule is added successfully, refresh the page several minutes later. Then, access the page again.

          • In the row containing the web tamper protection rule, click Update Cache in the Operation column.

            If the content of a protected page is modified, you must update the cache. Otherwise, WAF always returns the most recently cached content.

            After updating the cache, refresh the page and access the page again. If the page is still not updated, contact technical support.

            diff --git a/docs/wafd/umn/waf_01_0425.html b/docs/wafd/umn/waf_01_0425.html index 155b58d09..5cad86c94 100644 --- a/docs/wafd/umn/waf_01_0425.html +++ b/docs/wafd/umn/waf_01_0425.html @@ -12,8 +12,8 @@

      Peak rate of normal service requests

      The following lists the specifications of a single instance.

      -
      • Specifications: WI-500. Estimated performance:
        • HTTP services - Recommended QPS: 5,000. Maximum QPS: 10,000.
        • HTTPS services - Recommended QPS: 4,000. Maximum QPS: 8,000.
        • WebSocket service - Maximum concurrent connections: 5,000
        • Maximum WAF-to-server persistent connections: 60,000
        -
      • Specifications: WI-100. Estimated performance:
        • HTTP services - Recommended QPS: 1,000. Maximum QPS: 2,000.
        • HTTPS services - Recommended QPS: 800. Maximum QPS: 1,600
        • WebSocket service - Maximum concurrent connections: 1,000
        • Maximum WAF-to-server persistent connections: 60,000
        +
        • Specifications: WI-500. Estimated performance:
          • HTTP services: 5,000 QPS (recommended)
          • HTTPS services: 4,000 QPS (recommended)
          • WebSocket service - Maximum concurrent connections: 5,000
          • Maximum WAF-to-server persistent connections: 60,000
          +
        • Specifications: WI-100. Estimated performance:
          • HTTP services: 1,000 QPS (recommended)
          • HTTPS services: 800 QPS (recommended)
          • WebSocket service - Maximum concurrent connections: 1,000
          • Maximum WAF-to-server persistent connections: 60,000
        NOTICE:

        Maximum QPS values are for reference only. They may vary depending on your businesses. The real-world QPS is related to the request size and the type and quantity of protection rules you customize.

        diff --git a/docs/wafd/umn/waf_01_1249.html b/docs/wafd/umn/waf_01_1249.html index 412cc095e..ea12a4c30 100644 --- a/docs/wafd/umn/waf_01_1249.html +++ b/docs/wafd/umn/waf_01_1249.html @@ -2,33 +2,33 @@

        Ports Supported by WAF

        WAF can protect standard and non-standard ports. When you add a website to WAF, you need to specify protection port, which is your service port. WAF will then forward and protect traffic over this port. This section describes the standard and non-standard ports WAF can protect.

        -
        Table 1 lists the ports that can be protected by WAF. -
        Table 1 Ports supported by WAF

        Port Category

        +
        Table 1 lists the ports that can be protected by WAF. +
        - - - - - - - - - - - diff --git a/docs/wafd/umn/waf_01_1346.html b/docs/wafd/umn/waf_01_1346.html index de4a1d151..2f2071073 100644 --- a/docs/wafd/umn/waf_01_1346.html +++ b/docs/wafd/umn/waf_01_1346.html @@ -8,9 +8,7 @@

        For example:

        curl -kv -H "Host: a.example.com" http://192.168.0.1

        If the response code is 200, the request has been forwarded.

        -
      • Attack blocking test
        1. Ensure that the block mode for basic web protection has been enabled in the policy used for the protected website.

          -

          -

          +
        2. Attack blocking test
          1. Ensure that the block mode for basic web protection has been enabled in the policy used for the protected website.
            Figure 1 Enabling Basic Web Protection
          2. Run the following command:
            curl -kv -H "Host: {protection object added to WAF}"{Client protocol in server configuration}://{IP address of the dedicated WAF instance}:{protection port}--data "id=1 and 1='1"
            Example:
            curl -kv -H "Host: a.example.com" http:// 192.168.X.X --data "id=1 and 1='1"
            @@ -27,9 +25,7 @@ curl -kv -H "Host: a.example.com" http://100.10.X.X

            If the response code is 200, the request has been forwarded.

            If the dedicated WAF instance works but the request fails to be forwarded, check the load balancer settings first. If the load balancer health check result is unhealthy, disable health check and perform the preceding operations again.

            -
          3. Attack blocking test
            1. Ensure that the block mode for basic web protection has been enabled in the policy used for the protected website.

              -

              -

              +
            2. Attack blocking test
              1. Ensure that the block mode for basic web protection has been enabled in the policy used for the protected website.
                Figure 2 Enabling Basic Web Protection
              2. Run the following command:
                curl -kv -H "Host: { protection object added to WAF}"{ELB external protocol}://{Private IP address bound to the load balancer}:{ELB listening port}--data "id=1 and 1='1"

                If an EIP has been bound to the load balancer, any publicly accessible servers can be used for testing.

                curl -kv -H "Host: { protection object added to WAF}"{ELB external protocol}://{EIP bound to the load balancer}:{ELB listening port}--data "id=1 and 1='1"
                diff --git a/docs/wafd/umn/waf_01_3271.html b/docs/wafd/umn/waf_01_3271.html index 734ea8c49..7c2d03e44 100644 --- a/docs/wafd/umn/waf_01_3271.html +++ b/docs/wafd/umn/waf_01_3271.html @@ -1,9 +1,9 @@

                Condition Field Description

                -

                When setting a CC attack, precise access, or global whitelist protection rule, there are some fields in the Condition List or Trigger area. These fields together are used to define the request attributes to trigger the rule. This topic describes the fields that you can specify in conditions to trigger a rule.

                -

                What Is a Condition Field?

                A condition field specifies the request attribute WAF checks against protection rules. When configuring a CC attack protection rule, precise access protection rule, or global protection whitelist, you can define condition fields to specify request attributes to trigger the rule. If a request meets the conditions set in a rule, the request matches the rule. WAF handles the request based on the action (for example, allow, block, or log only) set in the rule.

                -
                Figure 1 Condition field
                +

                When setting a precise access, CC attack protection, or global protection whitelist rule, there are some fields in the Condition List or Trigger area. These fields together are used to define the request attributes to trigger the rule. This topic describes the fields that you can specify in conditions to trigger a rule.

                +

                What Is a Condition Field?

                A condition field specifies the request attribute WAF checks against protection rules. When configuring a precise access protection rule, CC attack protection rule, or global protection whitelist, you can define condition fields to specify request attributes to trigger the rule. If a request meets the conditions set in a rule, the request matches the rule. WAF handles the request based on the action (for example, allow, block, or log only) set in the rule.

                +
                Figure 1 Condition field

                A condition field consists of the field, subfield, logic, and content. Example:

                • Example 1: If Field is set to Path, logic to Include, and Content to /admin, a request matches the rule when the requested path contains /admin.
                • Example 2: Set Field to IPv4, Subfield to Client IP Address, Logic to Equal to, and Content to 192.XX.XX.3. When the client IP address is 192.XX.XX.3, the request hits the rule.
                @@ -18,7 +18,7 @@ -
      • diff --git a/docs/wafd/umn/waf_01_5249.html b/docs/wafd/umn/waf_01_5249.html index 7ff84b71b..f6b7fed94 100644 --- a/docs/wafd/umn/waf_01_5249.html +++ b/docs/wafd/umn/waf_01_5249.html @@ -23,7 +23,7 @@ -
        Table 1 Ports supported by WAF

        Port Type

        HTTP Protocol

        +

        HTTP

        HTTPS Protocol

        +

        HTTPS

        Port Limit

        +

        Port Limit

        Standard ports

        +

        Standard ports

        80

        +

        80

        443

        +

        443

        Unlimited

        +

        Unlimited

        Non-standard ports (182 in total)

        +

        Non-standard ports (182 in total)

        9945, 9770, 81, 82, 83, 84, 88, 89, 800, 808, 1000, 1090, 3128, 3333, 3501, 3601, 4444, 5000, 5222, 5555, 5601, 6001, 6666, 6788, 6789, 6842, 6868, 7000, 7001, 7002, 7003, 7004, 7005, 7006, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7018, 7019, 7020, 7021, 7022, 7023, 7024, 7025, 7026, 7070, 7081, 7082, 7083, 7088, 7097, 7777, 7800, 7979, 8000, 8001, 8002, 8003, 8008, 8009, 8010, 8020, 8021, 8022, 8025, 8026, 8077, 8078, 8080, 8085, 8086, 8087, 8088, 8089, 8090, 8091, 8092, 8093, 8094, 8095, 8096, 8097, 8098, 8106, 8118, 8181, 8334, 8336, 8800, 8686, 8888, 8889, 8989, 8999, 9000, 9001, 9002, 9003, 9080, 9200, 9802, 10000, 10001, 10080, 12601, 86, 9021, 9023, 9027, 9037, 9081, 9082, 9201, 9205, 9207, 9208, 9209, 9210, 9211, 9212, 9213, 48800, 87, 97, 7510, 9180, 9898, 9908, 9916, 9918, 9919, 9928, 9929, 9939, 28080, 33702, 8011, 8012, 8013, 8014, 8015, 8016, 8017, and 8070

        +

        9945, 9770, 81, 82, 83, 84, 88, 89, 800, 808, 1000, 1090, 3128, 3333, 3501, 3601, 4444, 5000, 5222, 5555, 5601, 6001, 6666, 6788, 6789, 6842, 6868, 7000, 7001, 7002, 7003, 7004, 7005, 7006, 7009, 7010, 7011, 7012, 7013, 7014, 7015, 7016, 7018, 7019, 7020, 7021, 7022, 7023, 7024, 7025, 7026, 7070, 7081, 7082, 7083, 7088, 7097, 7777, 7800, 7979, 8000, 8001, 8002, 8003, 8008, 8009, 8010, 8020, 8021, 8022, 8025, 8026, 8077, 8078, 8080, 8085, 8086, 8087, 8088, 8089, 8090, 8091, 8092, 8093, 8094, 8095, 8096, 8097, 8098, 8106, 8118, 8181, 8334, 8336, 8800, 8686, 8888, 8889, 8989, 8999, 9000, 9001, 9002, 9003, 9080, 9200, 9802, 10000, 10001, 10080, 12601, 86, 9021, 9023, 9027, 9037, 9081, 9082, 9201, 9205, 9207, 9208, 9209, 9210, 9211, 9212, 9213, 48800, 87, 97, 7510, 9180, 9898, 9908, 9916, 9918, 9919, 9928, 9929, 9939, 28080, 33702, 8011, 8012, 8013, 8014, 8015, 8016, 8017, 8070

        8750, 8445, 18010, 4443, 5443, 6443, 7443, 8081, 8082, 8083, 8084, 8443, 8843, 9443, 8553, 8663, 9553, 9663, 18110, 18381, 18980, 28443, 18443, 8033, 18000, 19000, 7072, 7073, 8803, 8804, 8805, 9999

        +

        8750, 8445, 18010, 4443, 5443, 6443, 7443, 8081, 8082, 8083, 8084, 8443, 8843, 9443, 8553, 8663, 9553, 9663, 18110, 18381, 18980, 28443, 18443, 8033, 18000, 19000, 7072, 7073, 8803, 8804, 8805, 9999

        Unlimited

        +

        Unlimited

        Path: part of a URL that does not include a domain name. This value supports exact matches only. For example, if the path to be protected is /admin, Path must be set to /admin.

        +

        Path: part of a URL that does not include a domain name. This value supports exact matches only, so that the path to be protected must be the same as the path you specify for this parameter. For example, if the path to be protected is /admin, Path must be set to /admin.

        --

        Protected Object

        • Domain name: used by visitors to access your website. A domain name consists of letters separated by dots (.). It is a human readable address that maps to the machine readable IP address of your server.
        • IP: IP address of the website.
        +
        • Domain name: used by visitors to access your website. A domain name consists of letters separated by dots (.). It is a human readable address that maps to the machine-readable IP address of your server.
        • IP: IP address of the website.

        www.example.com