- Newest
- Most votes
- Most comments
Hi, just checking have you configured a source IP for the rule group? make sure you have the correct source IP address on the list as otherwise the rule won't apply to the traffic flow.
Also if you have access to AWS console then perhaps try the Lab here, run the cloudformation templates and compare what the Lab has provisioned to what your have configured --- the example in the Lab will only allow egress web traffic that is configured on the domain list. https://networkfirewall.workshop.aws/setup/centralmodel/_deploy.html
Thanks for your reply schen. My understanding wasn't quite up to par. With more playing around last night and this morning I'm in a better place.
I started from scratch and followed the following design guide to adjust the routing setup to match best practice (I previously had the NAT gateway as next hop for the firewall subnet): https://docs.aws.amazon.com/network-firewall/latest/developerguide/arch-igw-ngw.html
There are effectively two different ways to provision a firewall, default or strict. I have now tried both methods for both TLS and plain HTTP traffic using the sample rules provided here: https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-examples.html
My preference is the strict firewall type as it allows for easier mixing of protocol types when creating the required suricata flow rules.
An example of a working strict suricata stateful rules permitting the explicit domains: pass http $HOME_NET any -> $EXTERNAL_NET 80 (http.host; dotprefix; content:".example.com"; endswith; msg:"Allowed HTTP domain"; sid:892120; rev:1;) pass tls $HOME_NET any -> $EXTERNAL_NET 443 (tls.sni; content:"example.com"; startswith; nocase; endswith; msg:"matching TLS allowlisted FQDNs"; sid:2; rev:1;) pass http $HOME_NET any -> $EXTERNAL_NET 80 (http.host; dotprefix; content:".google.com"; endswith; msg:"Allowed HTTP domain"; sid:3; rev:1;) pass tls $HOME_NET any -> $EXTERNAL_NET 443 (tls.sni; content:"www.google.com"; startswith; nocase; endswith; msg:"matching TLS allowlisted FQDNs"; sid:4; rev:1;) pass tcp $HOME_NET any <> $EXTERNAL_NET 80 (flow:not_established; sid:899998; rev:1;) pass tcp $HOME_NET any <> $EXTERNAL_NET 443 (flow:not_established; sid:899999; rev:1;)
Relevant content
- asked 3 years ago
- asked 3 years ago
- asked 2 years ago
- asked 5 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
Hi Dave, were you able to make this work? I'm running into a similar issues