Deny
Progress checklist
Overview
Section titled “Overview”NFW is in path. Stateful default is drop; rules.tf PASS groups are not
attached. Traffic that worked in Prove mesh must
fail.
stateless → forward to stateful enginestateful → aws:drop_established (+ alert)StatefulRuleGroupReferences = nullHosts (refresh from terraform output if recreated):
| Host | Instance | Private IP |
|---|---|---|
| syd-dev | i-09c779c39f05e1547 |
10.255.1.58 |
| akl-dev | i-02f5d7b615f99cfa2 |
10.254.1.31 |
| syd-prod | i-01780abcba294ad2f |
10.255.2.69 |
Observe
Section titled “Observe”-
Control plane (hub profile):
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILEterraform -chdir=environment/sandbox/ap-southeast-2/hub output -raw enable_network_firewallterraform -chdir=environment/sandbox/ap-southeast-2/hub output -raw firewall_rules_enabledterraform -chdir=environment/sandbox/ap-southeast-6/hub output -raw enable_network_firewallterraform -chdir=environment/sandbox/ap-southeast-6/hub output -raw firewall_rules_enabledtruefalsetruefalse -
Deny probes from Syd-dev (dev workload profile):
Terminal window export AWS_PROFILE=YOUR_DEV_WORKLOAD_PROFILESYD_ID=$(cd environment/sandbox/ap-southeast-2/workload-dev && terraform output -raw test_host_instance_id)AKL_IP=$(cd environment/sandbox/ap-southeast-6/workload-dev && terraform output -raw test_host_private_ip)SYD_PROD_IP=$(cd environment/sandbox/ap-southeast-2/workload-prod && terraform output -raw test_host_private_ip)CMD=$(aws ssm send-command --region ap-southeast-2 --instance-ids "$SYD_ID" \--document-name AWS-RunShellScript \--parameters "commands=[\"echo AKL; ping -c3 -W2 $AKL_IP; echo ---; curl -sS -m 5 http://$AKL_IP/ || echo CURL_FAIL; echo ---; echo SYD_PROD; ping -c3 -W2 $SYD_PROD_IP\"]" \--query 'Command.CommandId' --output text)sleep 15aws ssm get-command-invocation --region ap-southeast-2 \--command-id "$CMD" --instance-id "$SYD_ID" \--query 'StandardOutputContent' --output textAKLPING 10.254.1.31 (10.254.1.31) 56(84) bytes of data.--- 10.254.1.31 ping statistics ---3 packets transmitted, 0 received, 100% packet loss, time 2042ms---CURL_FAIL---SYD_PRODPING 10.255.2.69 (10.255.2.69) 56(84) bytes of data.--- 10.255.2.69 ping statistics ---3 packets transmitted, 0 received, 100% packet loss, time 2109msSSM
Statusis oftenFailedbecause ping exits non-zero. ReadStandardOutputContent, not Status. -
Alert log (hub profile; wait 1–2 minutes after probes if empty):
Terminal window export AWS_PROFILE=YOUR_HUB_PROFILESYD_ALERT=$(cd environment/sandbox/ap-southeast-2/hub && terraform output -raw alert_log_group_name)aws logs filter-log-events --region ap-southeast-2 \--log-group-name "$SYD_ALERT" --limit 1 \--query 'events[0].message' --output text \| jq -c '{firewall: .firewall_name,src: .event.src_ip,dest: .event.dest_ip,proto: .event.proto,action: .event.alert.action,verdict: .event.verdict.action}'{"firewall":"nfw-lab-syd","src":"10.255.1.58","dest":"10.254.1.31","proto":"ICMP","action":"blocked","verdict":"drop"}Syd-prod deny shows the same shape with
"dest":"10.255.2.69".