lavenderguitar
2 years ago
1 changed files with 49 additions and 0 deletions
@ -0,0 +1,49 @@ |
|||||
|
#!/bin/bash |
||||
|
|
||||
|
list_waf_rules() { |
||||
|
local next_token="" |
||||
|
|
||||
|
while true; do |
||||
|
local response=$(aws waf list-rules --region us-west-2 --limit 50 --next-marker "$next_token") |
||||
|
local rule_ids=($(echo "$response" | jq -r '.Rules[].RuleId')) |
||||
|
|
||||
|
for rule_id in "${rule_ids[@]}"; do |
||||
|
local rule_name=$(aws waf get-rule --region us-west-2 --rule-id "$rule_id" --query 'Rule.Name') |
||||
|
echo "Rule ID: $rule_id, Rule Name: $rule_name" |
||||
|
done |
||||
|
|
||||
|
local next_token=$(echo "$response" | jq -r '.NextMarker') |
||||
|
if [[ $next_token == "null" ]]; then |
||||
|
break |
||||
|
fi |
||||
|
done |
||||
|
} |
||||
|
|
||||
|
delete_waf_rules() { |
||||
|
local next_token="" |
||||
|
|
||||
|
while true; do |
||||
|
local response=$(aws waf list-rules --region us-west-2 --limit 50 --next-marker "$next_token") |
||||
|
local rule_ids=($(echo "$response" | jq -r '.Rules[].RuleId')) |
||||
|
|
||||
|
for rule_id in "${rule_ids[@]}"; do |
||||
|
echo "Deleting Rule ID: $rule_id" |
||||
|
aws waf delete-rule --region us-west-2 --rule-id "$rule_id" |
||||
|
done |
||||
|
|
||||
|
local next_token=$(echo "$response" | jq -r '.NextMarker') |
||||
|
if [[ $next_token == "null" ]]; then |
||||
|
break |
||||
|
fi |
||||
|
done |
||||
|
} |
||||
|
|
||||
|
list_waf_rules |
||||
|
|
||||
|
read -p "Do you want to delete all the listed WAF rules? (yes/no): " response |
||||
|
if [[ "$response" == "yes" ]]; then |
||||
|
delete_waf_rules |
||||
|
echo "All WAF rules have been deleted." |
||||
|
else |
||||
|
echo "No WAF rules have been deleted." |
||||
|
fi |
Loading…
Reference in new issue