habe ein paar Probleme bei der Konfiguration der IP-Tables Firewall auf meinem Debian Desktop und
hoffe ihr könnt mir diesbezüglich ein paar Tipps geben.
Und zwar ich habe Probleme mit ausgehenden Verbindungen.
Folgende Regel sollte doch eigentlich ausgehenden Verkehr erlauben:
Code: Alles auswählen
$IPTABLES -P OUTPUT ACCEPT
IP-Adressbereiche ... (siehe Skript).
Dennoch muss ich für jeden Dienst den ausgehenden Port explizit erlauben
(DNS, HTTP, Tor, SMTP, POP3, SSH ...)
Woran liegt das?
Ich habe auch z.B. bei Gajim das Problem dass bei aktiver Firewall keine
Plugins geladen werden können. Laut Logs scheint Gajim einen Random Port
zu nutzen.
Doch andererseits funktioniert z.B. mein Browser, bei dem ja eigentlich
auch jeder Tab einen random Port erhalten sollte oder?
Hast irgendjemand eine Idee woran das liegen könnte?
Eine weitere Verständnisfrage hätte ich auch noch:
Nehmen wir an ich erlaube ausgehend Port 443 und ich Sperre ausgehend zB
8.8.8.8/24
Ist nun eine Verbindung zu 8.8.8.8:443 (mask 255.255.255.0) erlaubt?
Danke im Voraus.
Hier mein Skript:
Code: Alles auswählen
#!/bin/sh
# iptables Firewall Skript
echo "Loading Firewall ..."
##################
# iptables
##################
IPTABLES="/sbin/iptables"
##################
# Purge/Flush
##################
# Alle Regeln löschen
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
# Alle Regelketten löschen
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X
##################
# Regeln
##################
# IPv4 Default
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
# Loopback-Schnittstelle Verkehr erlauben
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# ICMP-Antwortpakete erlauben
$IPTABLES -A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
$IPTABLES -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
$IPTABLES -A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
# Alle Pakete zu einer bestehenden TCP-Verbindung akzeptieren
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Alle Pakete ordentlich zurückweisen
$IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -j REJECT --reject-with icmp-port-unreachable
#Allow outbound connections on the ports we previously decided.
$IPTABLES -A OUTPUT -p tcp --dport 25 -j ACCEPT #SMTP
$IPTABLES -A OUTPUT -p tcp --dport 53 -j ACCEPT #DNS
$IPTABLES -A OUTPUT -p tcp --dport 80 -j ACCEPT #HTTP
$IPTABLES -A OUTPUT -p tcp --dport 110 -j ACCEPT #POP
$IPTABLES -A OUTPUT -p tcp --dport 443 -j ACCEPT #HTTPS
$IPTABLES -A OUTPUT -p tcp --dport 51413 -j ACCEPT #BT
$IPTABLES -A OUTPUT -p tcp --dport 6969 -j ACCEPT #BT tracker
$IPTABLES -A OUTPUT -p UDP --dport 67:68 -j ACCEPT #DHCP
$IPTABLES -A OUTPUT -p udp --dport 53 -j ACCEPT #DNS
$IPTABLES -A OUTPUT -p udp --dport 51413 -j ACCEPT #BT
## edit: dont forget tor Ports!
$IPTABLES -A OUTPUT -p tcp --dport 9050 -j ACCEPT #Tor
$IPTABLES -A OUTPUT -p tcp --dport 9150 -j ACCEPT #Tor
$IPTABLES -A OUTPUT -p tcp --dport 9040 -j ACCEPT #Tor
$IPTABLES -A OUTPUT -p udp --dport 5400 -j ACCEPT #Tor
## edit: common Email Ports
$IPTABLES -A OUTPUT -p tcp --dport 465 -j ACCEPT #SMTP with SSL/TLS
$IPTABLES -A OUTPUT -p tcp --dport 993 -j ACCEPT #IMAP with SSL/TLS
$IPTABLES -A OUTPUT -p tcp --dport 995 -j ACCEPT #POP3 with SSL/TLS
$IPTABLES -A OUTPUT -p tcp --dport 143 -j ACCEPT #IMAP
## edit: other important protocols
$IPTABLES -A OUTPUT -p tcp --dport 22 -j ACCEPT #SSH
## edit: Newsgroup
$IPTABLES -A OUTPUT -p tcp --dport 119 -j ACCEPT #NNTP
# edit NTP
$IPTABLES -A OUTPUT -p udp --dport 123 -j ACCEPT #NNTP
#edit XMPP
$IPTABLES -A OUTPUT -p tcp --dport 5222 -j ACCEPT #XMPP
##IP Adressen Script git: https://github.com/mglinux/afwall_easy
$IPTABLES -A OUTPUT -d 8.8.4.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 8.8.8.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 8.34.208.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 8.35.192.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 23.236.48.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 23.251.128.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 64.233.160.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 66.102.0.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 66.249.64.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 70.32.128.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 72.14.192.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 74.114.24.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 74.125.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 104.132.0.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 104.132.5.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 104.132.7.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 104.132.8.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 104.132.11.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 104.132.34.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 104.132.51.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 104.133.0.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 104.133.2.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 104.154.0.0/15 -j REJECT
$IPTABLES -A OUTPUT -d 104.196.0.0/14 -j REJECT
$IPTABLES -A OUTPUT -d 107.167.160.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 107.178.192.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 108.59.80.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 108.170.192.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 108.177.0.0/17 -j REJECT
$IPTABLES -A OUTPUT -d 130.211.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 142.250.0.0/15 -j REJECT
$IPTABLES -A OUTPUT -d 146.148.0.0/17 -j REJECT
$IPTABLES -A OUTPUT -d 162.216.148.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 162.222.176.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 172.0.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 172.102.8.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 172.110.32.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 172.217.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 172.253.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 173.194.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 173.255.112.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 185.25.28.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 185.150.148.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 192.104.160.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 192.158.28.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 192.178.0.0/15 -j REJECT
$IPTABLES -A OUTPUT -d 193.200.222.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 199.192.112.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 199.223.232.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 207.223.160.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 208.68.108.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 209.85.128.0/17 -j REJECT
$IPTABLES -A OUTPUT -d 209.107.176.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 216.58.192.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 216.73.80.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 216.239.32.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 216.252.220.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 31.13.24.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 31.13.64.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 45.64.40.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 66.220.144.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 69.63.176.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 69.171.224.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 74.119.76.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 103.4.96.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 157.240.0.0/17 -j REJECT
$IPTABLES -A OUTPUT -d 173.252.64.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 179.60.192.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 185.60.216.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 204.15.20.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 63.124.78.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 112.106.0.0/15 -j REJECT
$IPTABLES -A OUTPUT -d 112.108.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 121.252.0.0/15 -j REJECT
$IPTABLES -A OUTPUT -d 122.101.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 123.32.0.0/12 -j REJECT
$IPTABLES -A OUTPUT -d 157.197.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 165.213.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 166.79.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 166.103.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 168.219.0.0/16 -j REJECT
$IPTABLES -A OUTPUT -d 182.192.0.0/13 -j REJECT
$IPTABLES -A OUTPUT -d 194.133.18.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 202.20.128.0/17 -j REJECT
$IPTABLES -A OUTPUT -d 203.126.64.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.48.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.132.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.136.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.144.0/21 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.152.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.154.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.156.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 203.241.160.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 203.242.96.0/20 -j REJECT
$IPTABLES -A OUTPUT -d 203.244.96.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 203.244.192.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 203.246.140.0/22 -j REJECT
$IPTABLES -A OUTPUT -d 203.246.144.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 203.246.146.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 203.246.149.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 203.246.157.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 203.246.190.0/23 -j REJECT
$IPTABLES -A OUTPUT -d 203.246.192.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 203.249.192.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 203.254.192.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 206.67.236.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 207.140.43.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 208.248.44.0/24 -j REJECT
$IPTABLES -A OUTPUT -d 210.94.32.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 210.118.32.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 210.118.64.0/18 -j REJECT
$IPTABLES -A OUTPUT -d 211.36.64.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 211.45.0.0/19 -j REJECT
$IPTABLES -A OUTPUT -d 211.189.0.0/17 -j REJECT
# Logging aktivieren
$IPTABLES -N LOGGING
$IPTABLES -A INPUT -j LOGGING
$IPTABLES -A OUTPUT -j LOGGING
$IPTABLES -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
$IPTABLES -A LOGGING -j DROP
#Save our firewall rules
iptables-save > /etc/iptables.rules
iptables-save > /etc/iptables.up.rules
echo "................ done!"
Lg