]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
firewall: raise log rate limit to 10 packets per second
authorPeter Müller <peter.mueller@ipfire.org>
Mon, 29 Jul 2019 20:00:00 +0000 (20:00 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 20 Aug 2019 17:22:48 +0000 (17:22 +0000)
Previous setting was to log 10 packets per minute for each
event logging is turned on. This made debugging much harder,
as the limit was rather strict and chances of dropping a
packet without logging it were good.

This patch changes the log rate limit to 10 packets per
second per event, to avoid DoS attacks against the log file.
I plan to drop log rate limit entirely in future changes,
if a better solution for this attack vector is available.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Cc: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
src/initscripts/system/firewall

index b3483a744085c0a7b22e281632560afe04e3b12d..ec396c708c8e6b03396b0033ce2649fb61dec09b 100644 (file)
@@ -34,20 +34,20 @@ iptables_init() {
 
        # Empty LOG_DROP and LOG_REJECT chains
        iptables -N LOG_DROP
-       iptables -A LOG_DROP   -m limit --limit 10/minute -j LOG
+       iptables -A LOG_DROP   -m limit --limit 10/second -j LOG
        iptables -A LOG_DROP   -j DROP
        iptables -N LOG_REJECT
-       iptables -A LOG_REJECT -m limit --limit 10/minute -j LOG
+       iptables -A LOG_REJECT -m limit --limit 10/second -j LOG
        iptables -A LOG_REJECT -j REJECT
 
        # This chain will log, then DROPs packets with certain bad combinations
        # of flags might indicate a port-scan attempt (xmas, null, etc)
        iptables -N PSCAN
        if [ "$DROPPORTSCAN" == "on" ]; then
-               iptables -A PSCAN -p tcp  -m limit --limit 10/minute -j LOG --log-prefix "DROP_TCP Scan " -m comment --comment "DROP_TCP PScan"
-               iptables -A PSCAN -p udp  -m limit --limit 10/minute -j LOG --log-prefix "DROP_UDP Scan " -m comment --comment "DROP_UDP PScan"
-               iptables -A PSCAN -p icmp -m limit --limit 10/minute -j LOG --log-prefix "DROP_ICMP Scan " -m comment --comment "DROP_ICMP PScan"
-               iptables -A PSCAN -f      -m limit --limit 10/minute -j LOG --log-prefix "DROP_FRAG Scan " -m comment --comment "DROP_FRAG PScan"
+               iptables -A PSCAN -p tcp  -m limit --limit 10/second -j LOG --log-prefix "DROP_TCP Scan " -m comment --comment "DROP_TCP PScan"
+               iptables -A PSCAN -p udp  -m limit --limit 10/second -j LOG --log-prefix "DROP_UDP Scan " -m comment --comment "DROP_UDP PScan"
+               iptables -A PSCAN -p icmp -m limit --limit 10/second -j LOG --log-prefix "DROP_ICMP Scan " -m comment --comment "DROP_ICMP PScan"
+               iptables -A PSCAN -f      -m limit --limit 10/second -j LOG --log-prefix "DROP_FRAG Scan " -m comment --comment "DROP_FRAG PScan"
        fi
        iptables -A PSCAN -j DROP -m comment --comment "DROP_PScan"
 
@@ -55,7 +55,7 @@ iptables_init() {
        # that's not covered above, may just be a broken windows machine
        iptables -N NEWNOTSYN
        if [ "$DROPNEWNOTSYN" == "on" ]; then
-               iptables -A NEWNOTSYN  -m limit --limit 10/minute -j LOG  --log-prefix "DROP_NEWNOTSYN "
+               iptables -A NEWNOTSYN  -m limit --limit 10/second -j LOG  --log-prefix "DROP_NEWNOTSYN "
        fi
        iptables -A NEWNOTSYN  -j DROP -m comment --comment "DROP_NEWNOTSYN"