Possible a bug in design?
I am new to pfsense, I just installed it and played it around for a while. did some simple test. but I found a major behavior that is different from commercial firewalls. here is my test:
- I setup pfsense on a 2 NICs PC with LAN and WAN definition.
- The default firewall rule on LAN is to allow any protocols to any(Internet)
- I use command ping www.cisco.com -t to test the connectivity to the Internet and it was successfully done and I leave it running in the window.
- then I change the rule action from pass to block, the strange thing is that after I click Apply button, the ping still get success??? it is just like the rule does not block it!
- Then I stop the ping command by ctl+C, and run it again, and this time, it's timeout and the rule seems to work now?
I did this kind of testing not only by ping and web page access as well, the result is same!
My feeling is that the firewall rule change does not affect on the current network session that already exists in the firewall? and it only works when the user initiate a new network request??? I think this is not secure and it is not supposed to be working this way! I also have sonicwall hardware firewall and the rules affects as soon as it has been changed!
reset the states after making changes and the ping will stop.
How often do you change your firewall rules?
pf considers the rules only when creating a state.
ipfw checks the rules also for the packets after the state has been created.
On pfsense pf is used for all "normal" rules and ipfw for the captive portal and scheduled rules.
so this is the way pfsense works right? got it…
yes, if you stop the ping and restart it, you will see that it now will not work. just reset the states (drops ALL connections) when you want to force a rule change.