AWS WAF Classic 範例使用 AWS CLI - AWS Command Line Interface

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS WAF Classic 範例使用 AWS CLI

下列程式碼範例說明如何使用 AWS Command Line Interface 與來執行動作及實作常見案例 AWS WAF Classic。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境和跨服務範例中查看內容中的動作。

Scenarios (案例) 是向您展示如何呼叫相同服務中的多個函數來完成特定任務的程式碼範例。

每個範例都包含一個連結 GitHub,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例會示範如何使用put-logging-configuration

AWS CLI

使用指定的 Kinesis Firehose 串流 ARN 為網頁 ACL ARN 建立記錄組態

下列put-logging-configuration範例會顯示 WAF 的記錄組態。 CloudFront

aws waf put-logging-configuration \ --logging-configuration ResourceArn=arn:aws:waf::123456789012:webacl/3bffd3ed-fa2e-445e-869f-a6a7cf153fd3,LogDestinationConfigs=arn:aws:firehose:us-east-1:123456789012:deliverystream/aws-waf-logs-firehose-stream,RedactedFields=[]

輸出:

{ "LoggingConfiguration": { "ResourceArn": "arn:aws:waf::123456789012:webacl/3bffd3ed-fa2e-445e-869f-a6a7cf153fd3", "LogDestinationConfigs": [ "arn:aws:firehose:us-east-1:123456789012:deliverystream/aws-waf-logs-firehose-stream" ] } }

下列程式碼範例會示範如何使用update-byte-match-set

AWS CLI

若要更新位元組相符集

下面的update-byte-match-set命令刪除一個 ByteMatchTuple 對象(過濾器) ByteMatchSet:

aws waf update-byte-match-set --byte-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",ByteMatchTuple={FieldToMatch={Type="HEADER",Data="referer"},TargetString="badrefer1",TextTransformation="NONE",PositionalConstraint="CONTAINS"}

如需詳細資訊,請參閱 AWS WAF 開發人員指南中的使用字串比對條件。

下列程式碼範例會示範如何使用update-ip-set

AWS CLI

更新 IP 集

下列update-ip-set命令會使用 IPv4 位址更新 IPSet,並刪除 IPv6 位址:

aws waf update-ip-set --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="INSERT",IPSetDescriptor={Type="IPV4",Value="12.34.56.78/16"},Action="DELETE",IPSetDescriptor={Type="IPV6",Value="1111:0000:0000:0000:0000:0000:0000:0111/128"}

或者,您可以使用 JSON 檔案來指定輸入。例如:

aws waf update-ip-set --ip-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates file://change.json

其中 JSON 文件的內容是:

[ { "Action": "INSERT", "IPSetDescriptor": { "Type": "IPV4", "Value": "12.34.56.78/16" } }, { "Action": "DELETE", "IPSetDescriptor": { "Type": "IPV6", "Value": "1111:0000:0000:0000:0000:0000:0000:0111/128" } } ]

如需詳細資訊,請參閱 AWS WAF 開發人員指南中的使用 IP 比對條件。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateIpSet中的。

下列程式碼範例會示範如何使用update-rule

AWS CLI

更新規則

下列update-rule命令會刪除規則中的述詞物件:

aws waf update-rule --rule-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",Predicate={Negated=false,Type="ByteMatch",DataId="MyByteMatchSetID"}

如需詳細資訊,請參閱 AWS WAF 開發人員指南中的使用規則。

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateRule中的。

下列程式碼範例會示範如何使用update-size-constraint-set

AWS CLI

更新大小約束集合的步驟

下列update-size-constraint-set指令會刪除大小約束集中的 SizeConstraint 物件 (篩選):

aws waf update-size-constraint-set --size-constraint-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",SizeConstraint={FieldToMatch={Type="QUERY_STRING"},TextTransformation="NONE",ComparisonOperator="GT",Size=0}

如需詳細資訊,請參閱 AWS WAF 開發人員指南中的使用大小限制條件。

下列程式碼範例會示範如何使用update-sql-injection-match-set

AWS CLI

更新 SQL 注入相符集

下列update-sql-injection-match-set命令會刪除 SQL 注入相符集中的 SqlInjectionMatchTuple 物件 (篩選器):

aws waf update-sql-injection-match-set --sql-injection-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",SqlInjectionMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}

如需詳細資訊,請參閱 AWS WAF 開發人員指南中的 < 使用 SQL 插入相符條件 >。

下列程式碼範例會示範如何使用update-web-acl

AWS CLI

更新網路 ACL 的步驟

下列update-web-acl指令會刪除 Web ActivatedRule ACL 中的物件。

AWS waf update-web-acl --web-acl-id a1237-8e90-1234-5ab67-更改令牌改變令牌 12cs345-67 光盤 890b-1cd2-c3a4567d89f1-更新操作 =「刪除」, =' {優先級 = 1, = "常規」, 操作 = = {類型 "=} 'ActivatedRuleRuleId

輸出:

{ "ChangeToken": "12cs345-67cd-890b-1cd2-c3a4567d89f1" }

如需詳細資訊,請參AWS WAF、 AWS Firewall Manager 員和 AWS Shield 進階開發人員指南中的使用 Web ACL

  • 如需 API 詳細資訊,請參閱AWS CLI 命令參考UpdateWebAcl中的。

下列程式碼範例會示範如何使用update-xss-match-set

AWS CLI

若要更新 XSS 的步驟 MatchSet

下列update-xss-match-set指令會刪除中的 XssMatchTuple 物件 (濾鏡) XssMatchSet:

aws waf update-xss-match-set --xss-match-set-id a123fae4-b567-8e90-1234-5ab67ac8ca90 --change-token 12cs345-67cd-890b-1cd2-c3a4567d89f1 --updates Action="DELETE",XssMatchTuple={FieldToMatch={Type="QUERY_STRING"},TextTransformation="URL_DECODE"}

如需詳細資訊,請參閱 AWS WAF 開發人員指南中的使用跨網站指令碼比對條件。