|
|
@@ -28,113 +28,115 @@
|
|
|
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
|
|
|
|
|
|
# FTP
|
|
|
-#-A OUTPUT -p tcp -m tcp --dport 21 -j ACCEPT
|
|
|
+#-A OUTPUT -p tcp -m tcp --sport ? --dport 21 -j ACCEPT
|
|
|
#-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 49152:65535 -j ACCEPT
|
|
|
|
|
|
# SSH
|
|
|
--A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --mask 255.255.255.255 --rsource
|
|
|
--A INPUT -p tcp -m tcp --dport 22 -m limit --limit 5/min -m recent --rcheck --seconds 40 --hitcount 4 --rttl --name SSH --mask 255.255.255.255 --rsource -j LOG --log-prefix "iptalbes dropped SSH flood: "
|
|
|
--A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 40 --hitcount 4 --rttl --name SSH --mask 255.255.255.255 --rsource -j DROP
|
|
|
--A INPUT -p tcp -m tcp --sport 1024:65535 --dport 22 -j ACCEPT
|
|
|
--A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
|
|
|
+#-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --mask 255.255.255.255 --rsource
|
|
|
+#-A INPUT -p tcp -m tcp --dport 22 -m limit --limit 5/min -m recent --rcheck --seconds 40 --hitcount 4 --rttl --name SSH --mask 255.255.255.255 --rsource -j LOG --log-prefix "iptalbes dropped SSH flood: "
|
|
|
+#-A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 40 --hitcount 4 --rttl --name SSH --mask 255.255.255.255 --rsource -j DROP
|
|
|
+#-A INPUT -p tcp -m tcp --sport 1024:65535 --dport 22 -j ACCEPT
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 22 -j ACCEPT
|
|
|
|
|
|
-#SMTP(S)
|
|
|
+# Telnet
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 23 -j ACCEPT
|
|
|
+
|
|
|
+# SMTP(S)
|
|
|
-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 25 -j ACCEPT
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 49152:65535 --dport 465 -j ACCEPT
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 587 -j ACCEPT
|
|
|
|
|
|
# WHOIS
|
|
|
-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 43 -j ACCEPT
|
|
|
|
|
|
# DNS
|
|
|
-A OUTPUT -p udp -m udp --sport 1024:65535 --dport 53 -j ACCEPT
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 53 -j ACCEPT
|
|
|
+
|
|
|
+# DNS for VM
|
|
|
+-A INPUT -p udp -m udp --sport 1024:65535 --dport 53 -j ACCEPT
|
|
|
+-A INPUT -p tcp -m tcp --sport 32768:65535 --dport 53 -j ACCEPT
|
|
|
|
|
|
-# DHCP
|
|
|
-#-A INPUT -i eth0 -d 255.255.255.255 -p udp -m udp --sport 67 --dport 68 -m limit --limit 5/min -j LOG --log-prefix "iptables allowed DHCP: " --log-level 7
|
|
|
-#-A INPUT -i eth0 -d 255.255.255.255 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
|
|
|
-#-A OUTPUT -o eth0 -p udp -m udp --sport 68 --dport 67 -m limit --limit 5/min -j LOG --log-prefix "iptables allowed DHCP: " --log-level 7
|
|
|
-#-A OUTPUT -o eth0 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
|
|
|
+# DHCP client
|
|
|
+-A INPUT -d 255.255.255.255 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
|
|
|
+-A OUTPUT -p udp -m udp --sport 68 --dport 67 -j ACCEPT
|
|
|
+
|
|
|
+# DHCP for VM
|
|
|
+-A INPUT -s 0.0.0.0 -d 255.255.255.255 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
|
|
|
+-A OUTPUT -p udp -m udp --sport 67 --dport 68 -j ACCEPT
|
|
|
|
|
|
# HTTP & HTTPS
|
|
|
--A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -m recent --set --name HTTP --rsource
|
|
|
--A INPUT -p tcp -m tcp --dport 80 -m recent --rcheck --seconds 30 --hitcount 20 --rttl --name HTTP --rsource -j LOG --log-prefix "iptables dropped HTTP flood: " --log-level 4
|
|
|
--A INPUT -p tcp -m tcp --dport 80 -m recent --update --seconds 30 --hitcount 20 --rttl --name HTTP --rsource -j DROP
|
|
|
--A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -m comment --comment "Tor dir port"
|
|
|
--A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
|
|
|
--A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -m recent --set --name HTTPS --rsource
|
|
|
--A INPUT -p tcp -m tcp --dport 443 -m recent --rcheck --seconds 30 --hitcount 20 --rttl --name HTTPS --rsource -j LOG --log-prefix "iptables dropped HTTPS flood: " --log-level 4
|
|
|
--A INPUT -p tcp -m tcp --dport 443 -m recent --update --seconds 30 --hitcount 20 --rttl --name HTTPS --rsource -j DROP
|
|
|
--A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -m comment --comment "Tor OR port"
|
|
|
--A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
|
|
|
+#-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -m recent --set --name HTTP --rsource
|
|
|
+#-A INPUT -p tcp -m tcp --dport 80 -m recent --rcheck --seconds 30 --hitcount 20 --rttl --name HTTP --rsource -j LOG --log-prefix "iptables dropped HTTP flood: " --log-level 4
|
|
|
+#-A INPUT -p tcp -m tcp --dport 80 -m recent --update --seconds 30 --hitcount 20 --rttl --name HTTP --rsource -j DROP
|
|
|
+#-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -m comment --comment "Tor dir port"
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 80 -j ACCEPT
|
|
|
+#-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -m recent --set --name HTTPS --rsource
|
|
|
+#-A INPUT -p tcp -m tcp --dport 443 -m recent --rcheck --seconds 30 --hitcount 20 --rttl --name HTTPS --rsource -j LOG --log-prefix "iptables dropped HTTPS flood: " --log-level 4
|
|
|
+#-A INPUT -p tcp -m tcp --dport 443 -m recent --update --seconds 30 --hitcount 20 --rttl --name HTTPS --rsource -j DROP
|
|
|
+#-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -m comment --comment "Tor OR port"
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 443 -j ACCEPT
|
|
|
+
|
|
|
+# HTTP & HTTPS for VM
|
|
|
+-A FORWARD -p tcp -m tcp --sport 32768:65535 --dport 80 -j ACCEPT
|
|
|
+-A FORWARD -p tcp -m tcp --sport 80 --dport 32768:65535 -j ACCEPT
|
|
|
+-A FORWARD -p tcp -m tcp --sport 32768:65535 --dport 443 -j ACCEPT
|
|
|
+-A FORWARD -p tcp -m tcp --sport 443 --dport 32768:65535 -j ACCEPT
|
|
|
|
|
|
# NTP
|
|
|
--A OUTPUT -p udp -m udp --dport 123 -j ACCEPT
|
|
|
+-A OUTPUT -p udp -m udp --sport 123 --dport 123 -j ACCEPT
|
|
|
+
|
|
|
+# Samba
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 49152:65535 --dport 139 -j ACCEPT
|
|
|
|
|
|
# IMAPs
|
|
|
-#-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 143 -j ACCEPT
|
|
|
+-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 143 -j ACCEPT
|
|
|
-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 993 -j ACCEPT
|
|
|
|
|
|
# PIP
|
|
|
#-A OUTPUT -d 185.31.17.223 -p tcp -m tcp --sport 32768:65535 --dport 443 -j ACCEPT -m comment --comment "pip"
|
|
|
|
|
|
-# SMTPs
|
|
|
-#-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 587 -j ACCEPT
|
|
|
-
|
|
|
# Socks5
|
|
|
#-A OUTPUT -p tcp -m tcp --sport 57448:65535 --dport 1080 -j ACCEPT
|
|
|
|
|
|
# OpenVPN
|
|
|
--A OUTPUT -p udp -m udp --dport 1194 -j ACCEPT -m comment --comment "OpenVPN"
|
|
|
--A OUTPUT -d 224.0.0.252 -p udp -m udp --sport 5355 --dport 5355 -j ACCEPT -m comment --comment "OpenVPN"
|
|
|
--A INPUT -d 224.0.0.252 -p udp -m udp --sport 5355 --dport 5355 -j ACCEPT -m comment --comment "OpenVPN"
|
|
|
--A INPUT -d 224.0.0.1 -m pkttype --pkt-type multicast --protocol igmp -j ACCEPT -m comment --comment "OpenVPN"
|
|
|
--A OUTPUT -d 224.0.0.22 --protocol igmp -j ACCEPT -m comment --comment "OpenVPN"
|
|
|
--A INPUT -s 185.87.185.45 -p tcp -m tcp --sport 8118 --dport 57642
|
|
|
-
|
|
|
-# OpenVPN
|
|
|
-#-A OUTPUT -p udp -m udp --sport 32768:65535 --dport 1194 -j ACCEPT
|
|
|
-#-A OUTPUT ! -o enp3s0 -p tcp -m tcp --sport 32768:65535 --dport 1024:65535 -j ACCEPT -m comment --comment "OpenVPN tunnel"
|
|
|
-#-A OUTPUT ! -o enp3s0 -p tcp -m tcp --sport 443 --dport 4063:65535 -j ACCEPT
|
|
|
+-A OUTPUT -p udp -m udp --sport 32768:65535 --dport 1194 -j ACCEPT -m comment --comment "OpenVPN"
|
|
|
|
|
|
# XMPP
|
|
|
--A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 5223 -j ACCEPT -m comment --comment "xmpps"
|
|
|
--A OUTPUT -p udp -m udp --sport 32768:65535 --dport 1900 -j ACCEPT -m comment --comment "xmpp?"
|
|
|
+#-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 5223 -j ACCEPT -m comment --comment "xmpps"
|
|
|
+#-A OUTPUT -p udp -m udp --sport 32768:65535 --dport 1900 -j ACCEPT -m comment --comment "xmpp?"
|
|
|
|
|
|
# Multicast DNS
|
|
|
--A OUTPUT -p udp -m udp --sport 5353 --dport 5353 -j clutter
|
|
|
--A OUTPUT -d 244.0.0.1 -j clutter -m comment --comment "Multicast DNS"
|
|
|
--A INPUT -d 224.0.0.1 -j clutter -m comment --comment "Multicast DNS"
|
|
|
+#-A OUTPUT -p udp -m udp --sport 5353 --dport 5353 -j clutter
|
|
|
+#-A OUTPUT -d 244.0.0.1 -j clutter -m comment --comment "Multicast DNS"
|
|
|
+#-A INPUT -d 224.0.0.1 -j clutter -m comment --comment "Multicast DNS"
|
|
|
|
|
|
# IRC
|
|
|
-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 6667 -j ACCEPT
|
|
|
-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 6697 -j ACCEPT -m comment --comment "ircs"
|
|
|
|
|
|
# Privoxy
|
|
|
--A OUTPUT -p tcp -m tcp --dport 8118 -j ACCEPT -m comment --comment "Privoxy"
|
|
|
+#-A OUTPUT -p tcp -m tcp --sport ? --dport 8118 -j ACCEPT -m comment --comment "Privoxy"
|
|
|
|
|
|
# Bitcoin
|
|
|
--A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 8333 -j ACCEPT -m comment --comment "Bitcoin"
|
|
|
+#-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 8333 -j ACCEPT -m comment --comment "Bitcoin"
|
|
|
|
|
|
# MagnaVersum Gogs git SSH
|
|
|
--A OUTPUT -d 138.201.205.221 -p tcp -m tcp --sport 32768:65535 --dport 10022 -j ACCEPT -m comment --comment "MagnaVersum Gogs git SSH"
|
|
|
+#-A OUTPUT -d 138.201.205.221 -p tcp -m tcp --sport 32768:65535 --dport 10022 -j ACCEPT -m comment --comment "MagnaVersum Gogs git SSH"
|
|
|
|
|
|
# OpenPGP HTTP Key servers
|
|
|
-A OUTPUT -p tcp -m tcp --sport 32768:65535 --dport 11371 -j ACCEPT -m comment --comment "OpenPGP HTTP key servers"
|
|
|
|
|
|
# Torrents
|
|
|
--A OUTPUT -p udp -m udp --sport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
--A OUTPUT -p tcp -m tcp --dport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
--A OUTPUT -p tcp -m tcp --sport 51413 --dport 1024:65535 -j ACCEPT -m comment --comment "Torrents"
|
|
|
--A INPUT -p udp -m udp --dport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
--A INPUT -p tcp -m tcp --dport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
+#-A OUTPUT -p udp -m udp --sport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
+#-A OUTPUT -p tcp -m tcp --dport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
+#-A OUTPUT -p tcp -m tcp --sport 51413 --dport 1024:65535 -j ACCEPT -m comment --comment "Torrents"
|
|
|
+#-A INPUT -p udp -m udp --dport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
+#-A INPUT -p tcp -m tcp --dport 51413 -j ACCEPT -m comment --comment "Torrents"
|
|
|
|
|
|
# Traceroute
|
|
|
-A OUTPUT -p udp -m udp --sport 32768:65535 --dport 6881:33534 -j ACCEPT -m comment --comment "Traceroute"
|
|
|
|
|
|
-# CloudFlare. Why see http://www.crimeflare.com/cfblock.html
|
|
|
-#-A INPUT -s 103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,104.16.0.0/12,108.162.192.0/18,131.0.72.0/22,141.101.64.0/18,162.158.0.0/15,172.64.0.0/13,173.245.48.0/20,188.114.96.0/20,190.93.240.0/20,197.234.240.0/22,198.41.128.0/17,199.27.128.0/21 -m limit --limit 5/min -j LOG --log-prefix "iptables dropped: " --log-level 7
|
|
|
-#-A INPUT -s 103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,104.16.0.0/12,108.162.192.0/18,131.0.72.0/22,141.101.64.0/18,162.158.0.0/15,172.64.0.0/13,173.245.48.0/20,188.114.96.0/20,190.93.240.0/20,197.234.240.0/22,198.41.128.0/17,199.27.128.0/21 -j DROP -m comment --comment "CloudFlare http://www.crimeflare.com/cfblock.html"
|
|
|
-#-A OUTPUT -d 103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,104.16.0.0/12,108.162.192.0/18,131.0.72.0/22,141.101.64.0/18,162.158.0.0/15,172.64.0.0/13,173.245.48.0/20,188.114.96.0/20,190.93.240.0/20,197.234.240.0/22,198.41.128.0/17,199.27.128.0/21 -m limit --limit 5/min -j LOG --log-prefix "iptables dropped: " --log-level 7
|
|
|
-#-A OUTPUT -d 103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,104.16.0.0/12,108.162.192.0/18,131.0.72.0/22,141.101.64.0/18,162.158.0.0/15,172.64.0.0/13,173.245.48.0/20,188.114.96.0/20,190.93.240.0/20,197.234.240.0/22,198.41.128.0/17,199.27.128.0/21 -j REJECT -m comment --comment "CloudFlare http://www.crimeflare.com/cfblock.html"
|
|
|
-
|
|
|
# Attacks, crawls, scans, etc to clutter chain
|
|
|
-A INPUT -p icmp -j clutter
|
|
|
-A INPUT -s 0.0.0.0 -d 255.255.255.255 -j clutter -m comment --comment "Broadcast messages"
|
|
|
@@ -155,7 +157,7 @@
|
|
|
# Log & drop
|
|
|
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables dropped: " --log-level 7
|
|
|
-A INPUT -j DROP
|
|
|
--A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables dropped: " --log-level 7
|
|
|
+-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables forward dropped: " --log-level 7
|
|
|
-A FORWARD -j DROP
|
|
|
-A OUTPUT -m limit --limit 5/min -j LOG --log-prefix "iptables rejected: " --log-level 7
|
|
|
-A OUTPUT -j REJECT --reject-with icmp-port-unreachable
|