因为我想保护我的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
答案 0 :(得分:0)
自己解决了。 由于某种原因,在/etc/resolv.conf中设置了127.0.0.1。只需将其更改为谷歌dns或等效的东西即可解决问题。