PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iptables abdichten



Stingray0481
30.08.02, 10:39
Hi,

ich bentze folgendes Iptabels-Skript auf meinem Router/Edonkeyserver. (Die Variablendeklarationen habe ich nicht mitkopiert). Damit der Server auf den Edonkey Ports und SSH-Ports erreichbar ist habe ich untenstehende Zeilen vorläufig auskommentiert (#######).
Leider ist der Server jetzt natürlich komplett offen.

1. Wie kann ich gezielt Löcher in die Firewall bohren für SSH bzw. Edonkey

2. Was hat die letze Zeile für eine Bedeutung? (auch auskommentiert)

Danke, Matthias


# Alle alten Regeln löschen, anschließend die Default-Policy setzen
$IPTABLES -F
$IPTABLES -X
$IPTABLES -F -t filter
$IPTABLES -F -t nat
$IPTABLES -F -t mangle
$IPTABLES -t filter -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

# Wenn keine andere Regel greift, alles erlauben
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

# In der NAT-Tabelle (-t nat) eine Regel fuer alle ueber das Internet-
# Device (-o) ausgehenden Pakete, die maskiert werden sollen, hinter dem
# Routing (POSTROUTING) anhaengen (-A).
$IPTABLES -t nat -A POSTROUTING -o $DEV_INET -j MASQUERADE

# MSSClamping bei allen Paketen, die geforwardet werden (-I FORWARD) aktivieren
# Dieser Aufruf ist nicht notwendig, wenn die MSS bereits durch den rp-pppoe
# geclampt wird (Option -m 1452)
$IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS \
--clamp-mss-to-pmtu
####
#
# Hier beginnt das eigentliche Paket-Filter-Skript
#
####

# Verbiete neue (NEW) und ungültige (INVALID) hereinkommende Pakete
# vom Internetdevice ($DEV_INET)
########$IPTABLES -A INPUT -i $DEV_INET -m state --state NEW,INVALID -j
REJECT
########$IPTABLES -A FORWARD -i $DEV_INET -m state --state NEW,INVALID -j
REJECT

# Forwarding im Kernel nun wieder aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
#####echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp

ReSeT
30.08.02, 12:47
Hi!

An dieser Stelle ist ganz wichtig, das die Firewall pauschal erstmal alles blockt und nur die Ports geöffnet werden, die auch wirklich benötigt werden.

Also ich würde es vielleicht so machen:

(Das Beispiel ist für einen T-DSL Router mit zwei Netzwerkkarten, wobei das device eth1 ins LAN zeigt und SAMBA aktiv ist.





iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT

iptables -A INPUT -s www-proxy.D1.srv.t-online.de -d 0/0 -p udp -i ppp0 -j ACCEPT
iptables -A INPUT -s dns03.btx.dtag.de -d 0/0 -p udp -i ppp0 -j ACCEPT

iptables -A INPUT -i eth1 -p all -j ACCEPT
iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP und FTP für das device ppp0 erlauben

iptables -A INPUT -p tcp -i ppp0 --dport 22 -j ACCEPT
iptables -A INPUT -p udp -i ppp0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i ppp0 --dport 80 -j ACCEPT
iptables -A INPUT -p udp -i ppp0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -i ppp0 --dport 21 -j ACCEPT
iptables -A INPUT -p udp -i ppp0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i ppp0 --dport 20 -j ACCEPT
iptables -A INPUT -p udp -i ppp0 --dport 20 -j ACCEPT

# SAMBA

iptables -A INPUT -p tcp --syn -s 192.168.0.0/24 --destination-port 139 -j ACCEPT

# Default Policy : Alles fallenlassen, was nicht ausdrücklich erlaubt ist

iptables -P INPUT DROP



Greetz

ReSeT

Belkira
30.08.02, 12:56
1. Wie kann ich gezielt Löcher in die Firewall bohren für SSH bzw. Edonkey
Indem Du z.B. die "default policy" -P Regeln auf -j DROP stellst, anstatt dort mit -j ACCEPT alles zu erlauben, und dann selektiv die Ports und Protokolle freigibst, die Du brauchst. Das probierst Du notfalls solange, bis Du durchkommst. Immer schön loggen, damit Du in den Logs siehst, was für Traffic hängenbleibt.



#####echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp

Proxy ARP ist nichts, was Du zwingend benötigst. Ich würde es auf '0' lassen.