diff options
| -rw-r--r-- | src/firewall.d/global.d/ipsets-example | 68 | ||||
| -rw-r--r-- | src/firewall.d/global.d/rules-example | 22 | ||||
| -rw-r--r-- | src/firewall.d/global.d/rules4-example | 10 | ||||
| -rw-r--r-- | src/firewall.d/global.d/rules6-example | 10 | ||||
| -rw-r--r-- | src/firewall.d/ipsets-example | 2 | ||||
| -rw-r--r-- | src/firewall.d/rules-example | 8 | ||||
| -rw-r--r-- | src/firewall.d/rules4-example | 3 | ||||
| -rw-r--r-- | src/firewall.d/rules6-example | 3 |
8 files changed, 82 insertions, 44 deletions
diff --git a/src/firewall.d/global.d/ipsets-example b/src/firewall.d/global.d/ipsets-example index 8a6d35f..ff54196 100644 --- a/src/firewall.d/global.d/ipsets-example +++ b/src/firewall.d/global.d/ipsets-example | |||
| @@ -13,26 +13,54 @@ | |||
| 13 | # @sysconfdir@/firewall.d/rules6 | 13 | # @sysconfdir@/firewall.d/rules6 |
| 14 | # | 14 | # |
| 15 | 15 | ||
| 16 | ####################### | 16 | ###################### |
| 17 | # # | 17 | # # |
| 18 | # Standard Services # | 18 | # Private Networks # |
| 19 | # # | 19 | # # |
| 20 | ####################### | 20 | ###################### |
| 21 | 21 | ||
| 22 | create SERVICES bitmap:port range 1-1024 comment | 22 | create PRIVATE4 hash:ip family inet hashsize 1024 comment |
| 23 | add SERVICES 20 comment "FTP data" | 23 | create PRIVATE6 hash:ip family inet6 hashsize 1024 comment |
| 24 | add SERVICES 21 comment "FTP" | 24 | create PRIVATE list:set |
| 25 | add SERVICES 22 comment "SSH" | 25 | add PRIVATE PRIVATE4 |
| 26 | add SERVICES 23 comment "Telnet" | 26 | add PRIVATE PRIVATE6 |
| 27 | add SERVICES 25 comment "SMTP" | 27 | add PRIVATE4 10.0.0.0/8 "rfc1918" |
| 28 | add SERVICES 53 comment "DNS" | 28 | add PRIVATE4 172.16.0.0/12 "rfc1918" |
| 29 | add SERVICES 69 comment "TFTP" | 29 | add PRIVATE4 192.168.0.0/1 "rfc1918" |
| 30 | add SERVICES 80 comment "HTTP" | 30 | add PRIVATE6 fc00::/7 "rfc4193" |
| 31 | add SERVICES 110 comment "POP3" | 31 | add PRIVATE6 fe80::/10 "rfc4291" |
| 32 | add SERVICES 123 comment "NTP" | 32 | |
| 33 | add SERVICES 143 comment "IMAP" | 33 | |
| 34 | add SERVICES 389 comment "LDAP" | 34 | ################# |
| 35 | add SERVICES 443 comment "HTTPS" | 35 | # # |
| 36 | # Black Holes # | ||
| 37 | # # | ||
| 38 | ################# | ||
| 39 | |||
| 40 | # dynamic blackhole lists | ||
| 41 | create DYNAMIC_BLACKHOLE4 hash:ip family inet hashsize 1024 timeout 600 | ||
| 42 | create DYNAMIC_BLACKHOLE6 hash:ip family inet6 hashsize 1024 timeout 600 | ||
| 43 | create DYNAMIC_BLACKHOLE list:set | ||
| 44 | add DYNAMIC_BLACKHOLE DYNAMIC_BLACKHOLE4 | ||
| 45 | add DYNAMIC_BLACKHOLE DYNAMIC_BLACKHOLE6 | ||
| 46 | |||
| 47 | # dynamic blackhole exemptions | ||
| 48 | create DYNAMIC_EXEMPTION4 hash:net family inet hashsize 1024 comment | ||
| 49 | create DYNAMIC_EXEMPTION6 hash:net family inet6 hashsize 1024 comment | ||
| 50 | create DYNAMIC_EXEMPTION list:set | ||
| 51 | add DYNAMIC_EXEMPTION DYNAMIC_EXEMPTION4 | ||
| 52 | add DYNAMIC_EXEMPTION DYNAMIC_EXEMPTION6 | ||
| 53 | add DYNAMIC_EXEMPTION PRIVATE4 | ||
| 54 | add DYNAMIC_EXEMPTION PRIVATE6 | ||
| 55 | |||
| 56 | # static blackhole lists | ||
| 57 | create BLACKHOLE4 hash:ip family inet hashsize 1024 | ||
| 58 | create BLACKHOLE6 hash:ip family inet6 hashsize 1024 | ||
| 59 | create BLACKHOLE list:set | ||
| 60 | add BLACKHOLE BLACKHOLE4 | ||
| 61 | add BLACKHOLE BLACKHOLE6 | ||
| 62 | add BLACKHOLE DYNAMIC_BLACKHOLE4 | ||
| 63 | add BLACKHOLE DYNAMIC_BLACKHOLE6 | ||
| 36 | 64 | ||
| 37 | 65 | ||
| 38 | # end of rules | 66 | # end of rules |
diff --git a/src/firewall.d/global.d/rules-example b/src/firewall.d/global.d/rules-example index 66efc0f..e6a598b 100644 --- a/src/firewall.d/global.d/rules-example +++ b/src/firewall.d/global.d/rules-example | |||
| @@ -29,15 +29,31 @@ | |||
| 29 | # allow all local host traffic | 29 | # allow all local host traffic |
| 30 | -I INPUT -i lo -j ACCEPT | 30 | -I INPUT -i lo -j ACCEPT |
| 31 | 31 | ||
| 32 | # reject ident loopups (fixes delays when connecting to misconfigured hosts) | 32 | # drop black hole traffic |
| 33 | -A INPUT -p tcp --dport ident -j REJECT --reject-with tcp-reset | 33 | -I INPUT -m set --match-set BLACKHOLE src -j DROP |
| 34 | -I INPUT -m set --match-set BLACKHOLE src \ | ||
| 35 | -m limit --limit 1/minute \ | ||
| 36 | -j LOG --log-level 7 --log-prefix "iptables blackhole: " | ||
| 37 | |||
| 38 | # reject ident lookups (fixes delays when connecting to misconfigured hosts) | ||
| 39 | -A INPUT -m set --match-set PRIVATE src \ | ||
| 40 | -p tcp --dport ident \ | ||
| 41 | -j REJECT --reject-with tcp-reset | ||
| 34 | 42 | ||
| 35 | # allow established connections | 43 | # allow established connections |
| 36 | -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT | 44 | -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT |
| 45 | |||
| 46 | # allow local networks to access services | ||
| 47 | -A INPUT -m set --match-set PRIVATE src -p tcp --dport ssh -j ACCEPT | ||
| 48 | -A INPUT -m set --match-set PRIVATE src -p tcp --dport domain -j ACCEPT | ||
| 49 | -A INPUT -m set --match-set PRIVATE src -p udp --dport domain -j ACCEPT | ||
| 37 | 50 | ||
| 38 | # log everything else | 51 | # log everything else |
| 39 | -A INPUT -m limit --limit 10/minute -j LOG --log-level 7 --log-prefix "iptables drop input: " | 52 | -A INPUT -m limit --limit 10/minute -j LOG --log-level 7 --log-prefix "iptables drop input: " |
| 40 | 53 | ||
| 54 | # blackhole filter misses | ||
| 55 | -A INPUT -m set ! --match-set DYNAMIC_EXEMPTION src -j SET --add-set DYNAMIC_BLACKHOLE src | ||
| 56 | |||
| 41 | COMMIT | 57 | COMMIT |
| 42 | 58 | ||
| 43 | 59 | ||
diff --git a/src/firewall.d/global.d/rules4-example b/src/firewall.d/global.d/rules4-example index 5f73887..2736754 100644 --- a/src/firewall.d/global.d/rules4-example +++ b/src/firewall.d/global.d/rules4-example | |||
| @@ -19,11 +19,6 @@ | |||
| 19 | # # | 19 | # # |
| 20 | ######################### | 20 | ######################### |
| 21 | *filter | 21 | *filter |
| 22 | |||
| 23 | # allow all ICMP traffic | ||
| 24 | -I INPUT -p icmp -j ACCEPT | ||
| 25 | -I FORWARD -p icmp -j ACCEPT | ||
| 26 | |||
| 27 | COMMIT | 22 | COMMIT |
| 28 | 23 | ||
| 29 | 24 | ||
| @@ -42,11 +37,6 @@ COMMIT | |||
| 42 | # # | 37 | # # |
| 43 | ###################### | 38 | ###################### |
| 44 | *raw | 39 | *raw |
| 45 | |||
| 46 | # ICMP traffic | ||
| 47 | -I PREROUTING -p icmp -j NOTRACK | ||
| 48 | -I OUTPUT -p icmp -j NOTRACK | ||
| 49 | |||
| 50 | COMMIT | 40 | COMMIT |
| 51 | 41 | ||
| 52 | # end of rules | 42 | # end of rules |
diff --git a/src/firewall.d/global.d/rules6-example b/src/firewall.d/global.d/rules6-example index 8591787..cf5dd1a 100644 --- a/src/firewall.d/global.d/rules6-example +++ b/src/firewall.d/global.d/rules6-example | |||
| @@ -20,11 +20,6 @@ | |||
| 20 | # # | 20 | # # |
| 21 | ######################### | 21 | ######################### |
| 22 | *filter | 22 | *filter |
| 23 | |||
| 24 | # allow all ICMPv6 traffic | ||
| 25 | -I INPUT -p icmpv6 -j ACCEPT | ||
| 26 | -I FORWARD -p icmpv6 -j ACCEPT | ||
| 27 | |||
| 28 | COMMIT | 23 | COMMIT |
| 29 | 24 | ||
| 30 | 25 | ||
| @@ -34,11 +29,6 @@ COMMIT | |||
| 34 | # # | 29 | # # |
| 35 | ###################### | 30 | ###################### |
| 36 | *raw | 31 | *raw |
| 37 | |||
| 38 | # ICMP traffic | ||
| 39 | -I PREROUTING -p icmpv6 -j NOTRACK | ||
| 40 | -I OUTPUT -p icmpv6 -j NOTRACK | ||
| 41 | |||
| 42 | COMMIT | 32 | COMMIT |
| 43 | 33 | ||
| 44 | # end of rules | 34 | # end of rules |
diff --git a/src/firewall.d/ipsets-example b/src/firewall.d/ipsets-example index 437676b..fb2785b 100644 --- a/src/firewall.d/ipsets-example +++ b/src/firewall.d/ipsets-example | |||
| @@ -40,7 +40,7 @@ add PRIVATE4 10.0.0.0/8 "rfc1918" | |||
| 40 | add PRIVATE4 172.16.0.0/12 "rfc1918" | 40 | add PRIVATE4 172.16.0.0/12 "rfc1918" |
| 41 | add PRIVATE4 192.168.0.0/1 "rfc1918" | 41 | add PRIVATE4 192.168.0.0/1 "rfc1918" |
| 42 | add PRIVATE6 fc00::/7 "rfc4193" | 42 | add PRIVATE6 fc00::/7 "rfc4193" |
| 43 | add PRIVATE6 fe80::/10 "rfc4291"" | 43 | add PRIVATE6 fe80::/10 "rfc4291" |
| 44 | 44 | ||
| 45 | 45 | ||
| 46 | # end of rules | 46 | # end of rules |
diff --git a/src/firewall.d/rules-example b/src/firewall.d/rules-example index d892e9a..806098b 100644 --- a/src/firewall.d/rules-example +++ b/src/firewall.d/rules-example | |||
| @@ -32,6 +32,14 @@ | |||
| 32 | ############################## | 32 | ############################## |
| 33 | *filter | 33 | *filter |
| 34 | 34 | ||
| 35 | # set default policies | ||
| 36 | :INPUT DROP | ||
| 37 | :FORWARD DROP | ||
| 38 | :OUTPUT ACCEPT | ||
| 39 | |||
| 40 | # allow all local host traffic | ||
| 41 | -I INPUT -i lo -j ACCEPT | ||
| 42 | |||
| 35 | ## accept HTTP/HTTPS connections | 43 | ## accept HTTP/HTTPS connections |
| 36 | #-A INPUT -p tcp --dport http -j ACCEPT | 44 | #-A INPUT -p tcp --dport http -j ACCEPT |
| 37 | #-A INPUT -p tcp --dport https -j ACCEPT | 45 | #-A INPUT -p tcp --dport https -j ACCEPT |
diff --git a/src/firewall.d/rules4-example b/src/firewall.d/rules4-example index 238b8ca..2b5c0bc 100644 --- a/src/firewall.d/rules4-example +++ b/src/firewall.d/rules4-example | |||
| @@ -31,6 +31,9 @@ | |||
| 31 | ######################### | 31 | ######################### |
| 32 | *filter | 32 | *filter |
| 33 | 33 | ||
| 34 | # allow all ICMP traffic | ||
| 35 | -I INPUT -p icmp -j ACCEPT | ||
| 36 | |||
| 34 | ## accept SSH connections from RFC1918 addresses | 37 | ## accept SSH connections from RFC1918 addresses |
| 35 | #-A INPUT -p tcp -s 10.0.0.0/8 --dport ssh -j ACCEPT | 38 | #-A INPUT -p tcp -s 10.0.0.0/8 --dport ssh -j ACCEPT |
| 36 | #-A INPUT -p tcp -s 172.16.0.0/12 --dport ssh -j ACCEPT | 39 | #-A INPUT -p tcp -s 172.16.0.0/12 --dport ssh -j ACCEPT |
diff --git a/src/firewall.d/rules6-example b/src/firewall.d/rules6-example index 732a635..595e72d 100644 --- a/src/firewall.d/rules6-example +++ b/src/firewall.d/rules6-example | |||
| @@ -31,6 +31,9 @@ | |||
| 31 | ######################### | 31 | ######################### |
| 32 | *filter | 32 | *filter |
| 33 | 33 | ||
| 34 | # allow all ICMPv6 traffic | ||
| 35 | -I INPUT -p icmpv6 -j ACCEPT | ||
| 36 | |||
| 34 | ## accept SSH connections from link-local and RFC4193 addresses | 37 | ## accept SSH connections from link-local and RFC4193 addresses |
| 35 | #-A INPUT -p tcp -s fc00::/7 --dport ssh -j ACCEPT | 38 | #-A INPUT -p tcp -s fc00::/7 --dport ssh -j ACCEPT |
| 36 | #-A INPUT -p tcp -s fe80::/10 --dport ssh -j ACCEPT | 39 | #-A INPUT -p tcp -s fe80::/10 --dport ssh -j ACCEPT |
