2016-05-19 9 views
0

Da ich meinen Root-Server vor DOS-Angriffen schützen wollte, fand ich ein Skript mit iptable-Regeln online, das ich nach meinen Bedürfnissen editierte. Das Problem: Wenn diese iptable Regeln aktiv sind, sind Verbindungen nicht verzögert: Dinge wie wget oder apt-get update warten 3-4 Sekunden, bevor sie überhaupt eine Verbindung herstellen. Auch die Verbindung zu unserem tf2-Server dauert 22 Sekunden. Ohne diese Regeln läuft alles gut.Verbindungstimeouts mit iptable-Regeln

# iptables-Modul 
modprobe ip_tables 
# Connection-Tracking-Module 
modprobe ip_conntrack 
# Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar 
modprobe ip_conntrack_irc 
modprobe ip_conntrack_ftp 

# Tabelle flushen 
iptables -F 
iptables -t nat -F 
iptables -t mangle -F 
iptables -X 
iptables -t nat -X 
iptables -t mangle -X 

# Default-Policies setzen 
iptables -P INPUT DROP 
iptables -P OUTPUT DROP 
iptables -P FORWARD DROP 

# MY_REJECT-Chain 
iptables -N MY_REJECT 

# MY_REJECT fuellen 
iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset 
iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable 
iptables -A MY_REJECT -p icmp -j DROP 
iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable 

# MY_DROP-Chain 
iptables -N MY_DROP 
iptables -A MY_DROP -j DROP 

# Reject packets from RFC1918 class networks (i.e., spoofed) 
iptables -A INPUT -s 10.0.0.0/8  -j DROP 
iptables -A INPUT -s 169.254.0.0/16 -j DROP 
iptables -A INPUT -s 172.16.0.0/12 -j DROP 
iptables -A INPUT -s 127.0.0.0/8 -j DROP 
iptables -A INPUT -s 224.0.0.0/4  -j DROP 
iptables -A INPUT -d 224.0.0.0/4  -j DROP 
iptables -A INPUT -s 240.0.0.0/5  -j DROP 
iptables -A INPUT -d 240.0.0.0/5  -j DROP 
iptables -A INPUT -s 0.0.0.0/8  -j DROP 
iptables -A INPUT -d 0.0.0.0/8  -j DROP 
iptables -A INPUT -d 239.255.255.0/24 -j DROP 
iptables -A INPUT -d 255.255.255.255 -j DROP 
iptables -A INPUT -d 194.97.114.3 -j DROP 

# Korrupte Pakete zurueckweisen 
iptables -A INPUT -m state --state INVALID -j DROP 
iptables -A OUTPUT -m state --state INVALID -j DROP 

# Stealth Scans etc. DROPpen 
# Keine Flags gesetzt 
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP 

# SynFlood 
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT 

# PortScan 
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 

# Ping-of-Death 
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 

# HTTP Limit pro Minute 
iptables -A INPUT -i eth0 -p tcp --dport 80 -j LOG --log-prefix "Apache Access" --log-level 6 -m limit --limit 3/m 

# SYN und FIN gesetzt 
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP 

# SYN und RST gleichzeitig gesetzt 
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP 

# FIN und RST gleichzeitig gesetzt 
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP 

# FIN ohne ACK 
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP 

# PSH ohne ACK 
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP 

# URG ohne ACK 
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP 

# Loopback-Netzwerk-Kommunikation zulassen 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A OUTPUT -o lo -j ACCEPT 

# Connection-Tracking aktivieren 
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 

# DNS 
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 53 -j ACCEPT 
iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 53 -j ACCEPT 

# SSH 
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 22 -j ACCEPT 

# Web 
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 80 -j ACCEPT 

# VAC Friends Autopudate etc 
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 6000:6003 -j ACCEPT 
iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 7001:7002 -j ACCEPT 
iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 27005 -j ACCEPT 
iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 27010 -j ACCEPT 

#Team Fortress 2 
    iptables -A INPUT -i eth0 -p udp --dport 27000 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27000 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27001 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27001 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27002 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27002 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27003 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27003 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27004 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27004 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27005 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27005 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27006 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27006 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27007 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27007 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27008 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27008 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27009 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27009 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27010 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27010 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27011 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27011 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27012 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27012 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27013 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27013 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27014 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27014 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27015 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27015 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27015 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27016 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27016 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27017 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27017 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27018 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27018 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27019 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27019 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27020 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27020 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27021 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27021 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27022 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27022 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27023 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27023 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27024 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27024 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27025 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27025 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27026 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27026 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27027 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27027 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27028 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27028 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27029 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27029 -j ACCEPT 
    iptables -A INPUT -i eth0 -p udp --dport 27030 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p udp --dport 27030 -j ACCEPT 
    iptables -A INPUT -i eth0 -p tcp --dport 27015 -j ACCEPT 
    iptables -A OUTPUT -o eth0 -p tcp --dport 27015 -j ACCEPT 

# Teamspeak3 
iptables -A INPUT -i eth0 -p udp --dport 9987 -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --dport 30033 -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --dport 10011 -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp --dport 2008 -j ACCEPT 
iptables -A OUTPUT -o eth0 -p udp --dport 9987 -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp --dport 30033 -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp --dport 10011 -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp --dport 2008 -j ACCEPT 

# Default-Policies mit REJECT 
iptables -A INPUT -j MY_REJECT 
iptables -A OUTPUT -j MY_REJECT 

# Max. 500/Sekunde (5/Jiffie) senden 
echo 5 > /proc/sys/net/ipv4/icmp_ratelimit 

# Speicherallozierung und -timing für IP-De/-Fragmentierung 
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh 
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh 
echo 30 > /proc/sys/net/ipv4/ipfrag_time 

# TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen 
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout 

# Maximal 3 Antworten auf ein TCP-SYN 
echo 3 > /proc/sys/net/ipv4/tcp_retries1 

# TCP-Pakete maximal 15x wiederholen 
echo 15 > /proc/sys/net/ipv4/tcp_retries2 

Vielen Dank im Voraus, prpht

Antwort

0

es selbst gelöst. Aus irgendeinem Grund wurde 127.0.0.1 in /etc/resolv.conf gesetzt. Ändern Sie dies einfach in Google DNS oder etwas Äquivalent löst das Problem.