连接时间与iptable规则

时间:2016-05-19 14:05:05

标签: ubuntu server timeout iptables

因为我想保护我的root服务器免受dos攻击,我找到了一个iptable规则在线的脚本,我根据自己的需要进行了编辑。 问题:当这些iptable规则处于活动状态时,连接不会延迟:wget或apt-get update之类的东西会在连接之前等待3-4秒。 连接到我们的tf2服务器也需要22秒。 没有这些规则,一切都运行良好。

 # 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

提前致谢, prpht

1 个答案:

答案 0 :(得分:0)

自己解决了。 由于某种原因,在/etc/resolv.conf中设置了127.0.0.1。只需将其更改为谷歌dns或等效的东西即可解决问题。