firewall: config: drop input traffic by default
authorBaptiste Jonglez <git@bitsofnetworks.org>
Wed, 19 Oct 2022 14:49:03 +0000 (16:49 +0200)
committerBaptiste Jonglez <git@bitsofnetworks.org>
Tue, 1 Nov 2022 22:25:39 +0000 (23:25 +0100)
This is necessary with firewall4 to avoid a hard-to-diagnose race
condition during boot, causing DNAT rules not to be taken into account
correctly.

The root cause is that, during boot, the ruleset is mostly empty, and
interface-related rules (including DNAT rules) are added incrementally.
If a packet hits the input chain before the DNAT rules are setup, it can
create buggy conntrack entries that will persist indefinitely.

This new default should be safe because firewall4 explicitly accepts
authorized traffic and rejects the rest.  Thus, in normal operations, the
default policy is not used.

Fixes: #10749
Ref: https://github.com/openwrt/openwrt/issues/10749
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
package/network/config/firewall/files/firewall.config

index 61cfe665e451855c5af8182d35f337fac373a6c3..b90ac7af0a382c9146bcb25bf136df87be7a62f7 100644 (file)
@@ -1,6 +1,6 @@
 config defaults
        option syn_flood        1
-       option input            ACCEPT
+       option input            REJECT
        option output           ACCEPT
        option forward          REJECT
 # Uncomment this line to disable ipv6 rules