Bug #6028
closedno firewall rules loaded after reboot with invalid ruleset
0%
Description
not a single firewall rule loaded after reboot..
There should be some failsafe default ruleset that prohibits access from at least all 'wan interfaces' until a proper ruleset can be loaded.
Granted this is caused by another issue https://redmine.pfsense.org/issues/6024 where a invalid rule gets written to the debug.rules..
There have been other cases that made rules.debug fail to load like having shapers with wrong bandwith or url-aliases that point to a somehow invalid formatted file.. So i think it would be better to provide a minimal 'bootup ruleset' that blocks all wan access instead of being 'wide open' until at least some proper rules could be applied.
Updated by NOYB NOYB over 8 years ago
Pet peeve of mine that the system seems to be wide open by default until firewall rules get applied. Think I brought it up or mentioned it once long ago in the forums.
So even if the firewall rules load properly the system still seems to be open between the time the interface is brought up and when the firewall rules get applied.
And as you have noticed if the rules fail to get applied the system remains open.
Updated by Chris Buechler over 8 years ago
- Subject changed from not a single firewall rule loaded after reboot.. (du to a invalid ruleset.) to no firewall rules loaded after reboot with invalid ruleset
- Status changed from New to Confirmed
- Assignee set to Chris Buechler
- Target version set to 2.3.1
- Affected Version changed from 2.3 to All
Ought to keep a "last known good" rules.debug and apply that if it fails, and if that fails/is unavailable, maybe just the anti-lockout rule on LAN. I'll look at it post-2.3.
Updated by Chris Buechler over 8 years ago
- Target version changed from 2.3.1 to 2.3.2
Updated by Chris Buechler about 8 years ago
- Assignee deleted (
Chris Buechler) - Target version changed from 2.3.2 to 2.4.0
Updated by Renato Botelho almost 7 years ago
- Target version changed from 2.4.0 to 2.4.1
Updated by Pi Ba almost 7 years ago
Another example making no rulesloaded (vtnet doesnt support altq): https://redmine.pfsense.org/issues/7594
Updated by Jim Pingle almost 7 years ago
- Target version changed from 2.4.1 to 2.4.2
Updated by Renato Botelho almost 7 years ago
- Target version changed from 2.4.2 to 2.4.3
Updated by Jim Pingle over 6 years ago
- Target version changed from 2.4.3 to 2.4.4
Updated by Jim Pingle almost 6 years ago
- Target version changed from 2.4.4 to 2.4.4-GS
Updated by Jim Pingle over 5 years ago
- Target version changed from 2.4.4-GS to 48
Updated by Renato Botelho almost 4 years ago
- Status changed from Confirmed to In Progress
Updated by Renato Botelho over 3 years ago
- Status changed from In Progress to Feedback
Updated by Chris Linstruth over 3 years ago
Manually created an invalid configuration by modifying config.xml to make an HFSC queue that cannot load because the child bandwidth is higher than the parent queue.
Crash report begins. Anonymous machine information: amd64 12.2-STABLE FreeBSD 12.2-STABLE b102db12494(devel-12) pfSense Crash report details: PHP Errors: [05-Feb-2021 15:09:14 Etc/UTC] PHP Warning: fopen(): Filename cannot be empty in /etc/inc/notices.inc on line 101 [05-Feb-2021 15:09:14 Etc/UTC] PHP Warning: Cannot use a scalar value as an array in /etc/inc/config.lib.inc on line 1157 [05-Feb-2021 15:09:14 Etc/UTC] PHP Warning: Cannot use a scalar value as an array in /etc/inc/config.lib.inc on line 1159 [05-Feb-2021 15:09:14 Etc/UTC] PHP Warning: Cannot use a scalar value as an array in /etc/inc/config.lib.inc on line 1157 [05-Feb-2021 15:09:14 Etc/UTC] PHP Warning: Cannot use a scalar value as an array in /etc/inc/config.lib.inc on line 1159 [05-Feb-2021 15:09:14 Etc/UTC] PHP Warning: Invalid argument supplied for foreach() in /etc/inc/util.inc on line 1872 No FreeBSD crash data found.
Updated by Renato Botelho over 3 years ago
Chris Linstruth wrote:
Manually created an invalid configuration by modifying config.xml to make an HFSC queue that cannot load because the child bandwidth is higher than the parent queue.
[...]
This implementation will not cover PHP errors. When PHP crashes code is not executed and there is not much we can do.
Updated by Renato Botelho over 3 years ago
Chris Linstruth wrote:
Manually created an invalid configuration by modifying config.xml to make an HFSC queue that cannot load because the child bandwidth is higher than the parent queue.
[...]
Apply following patch to your system and reboot. It will make it to create an invalid set of rules without crash PHP
diff --git a/src/etc/inc/filter.inc b/src/etc/inc/filter.inc index aeb79c9c11..f3fed92d1c 100644 --- a/src/etc/inc/filter.inc +++ b/src/etc/inc/filter.inc @@ -4010,6 +4010,7 @@ EOD; } } + $ipfrules .= "\nINVALID LINE HERE\n"; $ipfrules .= "\n# User-defined rules follow\n"; $ipfrules .= "\nanchor \"userrules/*\"\n"; /* Generate user rule lines */
Updated by Viktor Gurov over 3 years ago
- Status changed from Feedback to Resolved
tested with patch on 2.5.0.a.20210204.2250
works as expected