2016-05-19 4 views
0

Поскольку я хотел защитить свой корневой сервер от атак dos, я нашел скрипт с правилами iptable, которые я редактировал, чтобы соответствовать моим потребностям. Проблема: если эти правила iptable активны, соединения не задерживаются: такие вещи, как wget или apt-get update, ожидают 3-4 секунды, прежде чем они вообще подключатся. Также подключение к нашему tf2-серверу займет 22 секунды. Без этих правил все работает нормально.соединения с правилами iptable

# 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

решаемые сам. По какой-то причине 127.0.0.1 был установлен в /etc/resolv.conf. Простое изменение этого на google dns или что-то подобное решает проблему.

Смежные вопросы