Iptables und Probleme mit apt-get

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
KeePon
Beiträge: 10
Registriert: 13.09.2006 16:36:09

Iptables und Probleme mit apt-get

Beitrag von KeePon » 29.11.2006 09:31:31

hallo, ich hab mir für mein Server folgendes iptables Script geschrieben:

Code: Alles auswählen

#!/bin/bash
IPT=/sbin/iptables

$IPT -F

#Loggen
#iptables -A INPUT -j LOG --log-prefix "wall:"

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

#echo "achtung alles offen"
#$IPT -P INPUT  ACCEPT
#$IPT -P OUTPUT  ACCEPT
#$IPT -P FORWARD  ACCEPT


$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A INPUT -i lo -j ACCEPT

#ping
$IPT -A OUTPUT -p icmp -j ACCEPT
$IPT -A INPUT -p icmp -j ACCEPT


PORTStcp="20 21 22 80 53 14534"
PORTSudp="53 7466"

for i in $PORTStcp
    do
        $IPT -A OUTPUT -p tcp --sport $i --dport 1024: -j ACCEPT
        $IPT -A INPUT -p tcp --sport 1024: --dport $i -j ACCEPT
    echo "... TCP Port $i offen"
    done


for i in $PORTSudp
    do
        $IPT -A OUTPUT -p udp --sport $i --dport 1024: -j ACCEPT
        $IPT -A INPUT -p udp --sport 1024: --dport $i -j ACCEPT
    echo "... UDP Port $i offen"
    done

#$IPT -L
exit 0
doch leider kann ich nach dem ausführen nicht mehr mit "apt-get update" irgendeine Verbindung aufbauen. Erst wenn ich bei "#$IPT -P OUTPUT ACCEPT" die Raute wegnehme und allen Output zulasse funst es, doch das möchte ich nur ungern. Kann mir einer sagen wo mein denkfehler liegt, oder was ich hier übersehen hab?

grüsse

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Iptables und Probleme mit apt-get

Beitrag von herrchen » 29.11.2006 10:15:37

KeePon hat geschrieben:Kann mir einer sagen wo mein denkfehler liegt
du hast "--sport" und "--dport" verwechselt.
wenn du eine verbindung zu einem externen webserver aufbauen willst, verbindet sich ein hoher port deines rechners mit dem port 80 des webservers.
das gilt auch für die anderen protokolle.

herrchen

KeePon
Beiträge: 10
Registriert: 13.09.2006 16:36:09

Beitrag von KeePon » 29.11.2006 11:04:06

ich habe mal output und input vertauscht bei der tcp und udp schleife. doch leider ist dann der server nicht erreichbar (ssh sowie www)

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 29.11.2006 11:13:34

Häng doch bitte mal ans Ende der Chains INPUT/OUTPUT noch eine LOG-Regel. Dann siehst du eventuell in den Logs, was da verworfen wird und kannst gezielter nach dem Fehler in deinem Skript suchen.

KeePon
Beiträge: 10
Registriert: 13.09.2006 16:36:09

Beitrag von KeePon » 29.11.2006 12:58:07

ähm ich habs gefunden. es liegt daran das ich ja einen webserver als dienst zu laufen habe dadurch port 80 erreichbar sein muss.
aber bei updates muss er ja selber auf port 80 eines anderen servers connecten. das hab ich nicht berücksichtigt in den regeln.
danke für die hilfe
jetzt geht es, hier das script zum nachbauen:

Code: Alles auswählen

#!/bin/bash
IPT=/sbin/iptables

$IPT -F

#Loggen
#iptables -A INPUT -j LOG --log-prefix "wall:"

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

#echo "achtung alles offen"
#iptables -P INPUT  ACCEPT
#iptables -P OUTPUT  ACCEPT
#iptables -P FORWARD  ACCEPT


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

#ping
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT

#Diese Dienste bietet der Server an und oeffnet sie fuer Input/Output
PORTSservertcp="20 21 22 80 14534"
PORTSserverudp="7466"

for i in $PORTSservertcp
    do
        $IPT -A OUTPUT -p tcp --sport $i --dport 1024: -j ACCEPT
        $IPT -A INPUT -p tcp --sport 1024: --dport $i -j ACCEPT
    echo "... TCP Port $i offen"
    done


for i in $PORTSserverudp
    do
        $IPT -A OUTPUT -p udp --sport $i --dport 1024: -j ACCEPT
        $IPT -A INPUT -p udp --sport 1024: --dport $i -j ACCEPT
    echo "... UDP Port $i offen"
    done

#Manchmal muss der Server auch selbst raus, fuer evtl. Updates
PORTSselbsttcp="20 21 80 53"
PORTSselbstudp="53"

for i in $PORTSselbsttcp
    do
        $IPT -A OUTPUT -p tcp --sport 1024: --dport $i -j ACCEPT
        $IPT -A INPUT -p tcp --sport $i --dport 1024: -j ACCEPT
    echo "... TCP Port $i fuer Updates offen"
    done

for i in $PORTSselbstudp
    do
        $IPT -A OUTPUT -p udp --sport 1024: --dport $i -j ACCEPT
        $IPT -A INPUT -p udp --sport $i --dport 1024: -j ACCEPT
    echo "... UDP Port $i fuer Updates offen"
    done

#$IPT -L
exit 0

Antworten