PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ip-tables.. ssh geht, der Rest nicht...



dennisb
21.10.02, 07:37
Hallo,

ich habe folgendes Problem:
nachdem ich unter RedaHat 7.3 das folgende Script ausführe, habe ich Zugriff über SSH von meiner Workstation aus. Der Rest funktioniert leider nicht. Ich bin recht neu in diesem Bereich, also kann das sein, dass irgendwelche Module geladen werden müssen? Verwunderlich ist dann halt, dass der Zugrif über SSH funktioniert.

Danke für jeden Tip.

Gruss
Dennis
Hier das Script:

#!/bin/sh
IPTABLES=/sbin/iptables
DEV_EXT=eth0
DEV_PPP=ppp0
DEV_INT=eth1

$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X


# SSH-Verbindung
$iptables -A INPUT -i $DEV_INT -p tcp -s 192.168.0.5 -d 192.168.0.27 --sport
22 --dport 22 -j ACCEPT
$iptables -A OUTPUT -o $DEV_INT -p tcp -s 192.168.0.27 -d 192.168.0.5
--sport 22 --dport 22 -j ACCEPT
# DNS
$iptables -A INPUT -i $DEV_EXT -p udp --sport 1024: --dport 53 -j ACCEPT
$iptables -A OUTPUT -o $DEV_EXT -p udp --sport 53 --dport 1024: -j ACCEPT
$iptables -A INPUT -i $DEV_EXT -p tcp --sport 1024: --dport 53 -j ACCEPT
$iptables -A OUTPUT -o $DEV_EXT -p tcp --sport 53 --dport 1024: -j ACCEPT


# HTTP
$iptables -A INPUT -i $DEV_EXT -p tcp --sport 1024: --dport 80 -j ACCEPT
$iptables -A OUTPUT -o $DEV_EXT -p tcp --sport 80: --dport 1024: -j ACCEPT

# HTTPS
$iptables -A INPUT -i eth0 -p tcp --sport 1024: --dport 443 -j ACCEPT
$iptables -A OUTPUT -o eth0 -p tcp --sport 443: --dport 1024: -j ACCEPT


# http
$IPTABLES -A FORWARD -o $DEV_EXT -p tcp --sport 1024: --dport http -m state
--state NEW -j ACCEPT

# default policy
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

# Masquerading
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -o $DEV_PPP -j MASQUERADE

ReSeT
21.10.02, 07:56
Hi!

Also erstmal würde ich die folgenden Zeilen überdenken:



# HTTP
$iptables -A INPUT -i $DEV_EXT -p tcp --sport 1024: --dport 80 -j ACCEPT
$iptables -A OUTPUT -o $DEV_EXT -p tcp --sport 80: --dport 1024: -j ACCEPT

# HTTPS
$iptables -A INPUT -i eth0 -p tcp --sport 1024: --dport 443 -j ACCEPT
$iptables -A OUTPUT -o eth0 -p tcp --sport 443: --dport 1024: -j ACCEPT


Wieso klassifizierst Du hier den Quellport, das ist nicht nötig. Und wieso einmal eth0 und dann wieder $dev_ext?
Was hast Du überhaupt vor?

Die default policies sollten umbedingt an den Anfang, von wegen Sicherheit. Desweiteren steht dein default policy
für die INPUT chain auf DROP, das heisst , alles was du nicht zulässt darf nicht rein. Kombiniert mit obigen Regeln kann
das also nicht klappen.

Ein paar Links zum Thema:

http://www.spotswood-computer.net/present/iptables2.html
http://www.netfilter.org/
http://www.rfc-editor.org/rfc/rfc793.txt
http://www.rfc-editor.org/rfc/rfc791.txt

und last but not least

man iptables

GreetZ

ReSeT

dennisb
21.10.02, 10:57
Danke erst mal für die rasche Antwort.
Ich möchte step by step eine Firewall konfigurieren und dachte, ich fange halt damit an, erstmal nur die nötigsten Ports zu öffnen.

Sollte das denn nicht so sein, dass alle Inputs, die nicht ausdrücklich erlaubt sind, verworfen werden sollen? ( iptables -P INPUT DROP)

Wenn ich die Default Policy zu Beginn gesetzt habe, hat er mir allerdings keinen Port geöffnet.