2022.08.25  

【AWS】CLIでWAF(v2, classic)のIPSetsからIPアドレスルールを取得する

AWS    

WAFからCLIでIPSetsのIPアドレスルールを取得する方法をメモ書きします。
リージョンをCloudFrontに設定しているIPSetsの取得方法についても記載しています。

WAF v2

IPアドレスルールを取得するには、まずIPSetsの定義からNameIdを取得する必要があります。
NameIdを取得するためaws wafv2 list-ip-setsコマンドを実行します。

※ credentialsファイルから明示的に実行環境を指定したい場合は 下記コマンドに--profile <環境名>を追加します。

$ aws wafv2 list-ip-sets --scope REGIONAL --region  us-east-1

"NextMarker": "tamex-dev-mdp-ipv6-ip-sets",
    "IPSets": [
        {
            "Name": "test-ipv4-ip-sets",
            "Id": "1234567-aaaa-bbbb-cccc-1234ddddffffff",
            "Description": "",
            "LockToken": "xxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxx",
            "ARN": "arn:aws:wafv2:us-east-1:1234567890:xxxxxx/xxxxx/xxxxxxxx/xxxxxxxxxxxxxxxxxx1"
        },
        {
            "Name": "test-ipv6-ip-sets",
            "Id": "1234567-aaaa-bbbb-cccc-1234ddddfffffg",
            "Description": "",
            "LockToken": "xxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxx",,
            "ARN": "arn:aws:wafv2:us-east-1:1234567890:xxxxxx/xxxxx/xxxxxxxx/xxxxxxxxxxxxxxxxxx2"
        },

CloudFrontを対象としたい場合は--scopeオプションにCLOUDFRONT--regionus-east-1を設定してコマンドを実行します。参考

$ aws wafv2 list-ip-sets --scope CLOUDFRONT --region us-east-1

aws wafv2 list-ip-setsコマンドから取得した NameIdを使用してaws wafv2 get-ip-setコマンドを実行するとIPが取得できます。

$ aws wafv2 get-ip-set --name "test-ipv4-ip-sets" --id "1234567-aaaa-bbbb-cccc-1234ddddffffff" --scope CLOUDFRONT --region us-east-1

{
    "IPSet": {
        "Name": "test-ipv4-ip-sets",
        "Id": "1234567-aaaa-bbbb-cccc-1234ddddffffff",
        "ARN": "arn:aws:wafv2:us-east-1:1234567890:xxxxxx/xxxxx/xxxxxxxx/xxxxxxxxxxxxxxxxxx1",
        "Description": "",
        "IPAddressVersion": "IPV4",
        "Addresses": [
            "12.132.144.3/32",
            "12.132.144.4/32"
        ]
    },
    "LockToken": "xxxxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxx"
}

参考
https://docs.aws.amazon.com/cli/latest/reference/wafv2/list-ip-sets.html
https://docs.aws.amazon.com/cli/latest/reference/wafv2/get-ip-set.html

WAF Classic

リージョンを指定してIPアドレスルールを取得したい場合は下記のコマンドを使用します。

aws waf-regional list-ip-sets --region <対象リージョン> --profile <対象環境>

このコマンドで出力されたIPSetIdの値を使って以下のコマンドを実行するとIPアドレスルールが取得できます。

aws waf-regional get-ip-set --ip-set-id <IPSetId> -region <対象リージョン> --profile <対象環境>

クラウドフロントに対して確認を行いたい場合は'waf'コマンドを利用します。

aws waf list-ip-sets --profile <対象環境>

'waf-regional'と同様、このコマンドで出力されたIPSetIdの値を使って以下のコマンドを実行するとIPアドレスルールが取得できます。

aws waf get-ip-set --ip-set-id <IPSetId> --profile <対象環境>

参考
https://aws.amazon.com/jp/premiumsupport/knowledge-center/maintain-waf-ipsets-using-cli
https://docs.aws.amazon.com/cli/latest/reference/waf-regional/index.html
https://docs.aws.amazon.com/cli/latest/reference/waf-regional/index.html
https://docs.aws.amazon.com/cli/latest/reference/waf-regional/get-ip-set.html

コメント
現在コメントはありません。
コメントする
コメント入力

名前 (※ 必須)

メールアドレス (※ 必須 画面には表示されません)

送信