iptables - nur http

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
freaki_kf
Beiträge: 3
Registriert: 02.03.2008 14:34:47

iptables - nur http

Beitrag von freaki_kf » 02.03.2008 14:41:54

Hallo Zusammen,

ich habe mir einen Internet-Rechner besorgt, das auch soweit super funktiniert...

Ich stehe vor dem großem Problem das NUR die zwei Dienste HTTP und Mail (POP-SSL und SMTP-SSL) ins web dürfen, dazu habe ich folgendes Script (Teilausschnitt):

....

echo "Iptables: Firewall is starting ..."


echo "Iptables: flush ... "
/sbin/iptables -F
echo "Iptables: Delete user rules ... "
/sbin/iptables -X


#DROP all Traffic - default filter policy
echo "Iptable: Default policy INPUT/OUTPUT = Drop ... "
/sbin/iptables -P INPUT DROP
#/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP


#Accept established connections
echo "Iptables: Rules in ... "
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


#LOCAL ADAPTER CONNECTIONS
/sbin/iptables -I INPUT -i lo -p tcp -j ACCEPT
/sbin/iptables -I INPUT -i lo -p udp -j ACCEPT

/sbin/iptables -I OUTPUT -o lo -p tcp -j ACCEPT
/sbin/iptables -I OUTPUT -o lo -p udp -j ACCEPT


#Allow HTTP-Traffic
/sbin/iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p udp -i eth0 --dport 80 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp -o eth0 --sport 80 -j ACCEPT
/sbin/iptables -A OUTPUT -p udp -o eth0 --sport 80 -j ACCEPT


...

Kann mir jemand auf die Sprünge helfen, wo ich den Fehler begehe!

Grüße

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: iptables - nur http

Beitrag von roli » 02.03.2008 15:16:12

Hi,
freaki_kf hat geschrieben:Kann mir jemand auf die Sprünge helfen, wo ich den Fehler begehe!
wie's aussieht ist mein Kristallkugel ein wenig beschlagen, aber wie waer's denn, wenn du deinen Fehler erstmal beschreibst? Raten ist meinst nicht zielfuehrend.
Aber vorab gleich, dir ist klar, das du mit den Firewall Regeln eben nicht nur Http und Mail zulaesst! Was du einschraenkst sind die Port's, wenn auf einem beliebigen Server im INet auf Port 80 z.B. ein XYZ Server (z.B. ssh) laeuft, kommt der durch deine Firewall.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

freaki_kf
Beiträge: 3
Registriert: 02.03.2008 14:34:47

Beitrag von freaki_kf » 02.03.2008 18:28:01

Mir ist bewusst, dass ich nur damit die Ports blocken kann, daher habe ich auch geschrieben Dienste ;-)

Mein Problem ist wenn ich nur Port 80 (OUTPUT) offen lasse kann ich nicht mehr auf Webseiten zugreifen. Daher wollte ich wissen welche Ports ich zum surfen auch noch benötige ...

Der Port 80 (INPUT) war nur für Testzwecke ...

Benutzeravatar
daFreak
Beiträge: 875
Registriert: 14.09.2005 12:09:59
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von daFreak » 02.03.2008 19:23:30

Hi und willkommen im Forum!

Es wäre hilfreich wenn du das komplette skript nach http://nopaste.debianforum.de/ posten würdest und den link hier postet.
Was mich wunderst ist, dass du anscheinend keine DNS-Portfreigabe gemacht hast und dementsprechend keine Namen auflösen könntest.

Ohne INPUT sollte das eigentlich durchaus funktionieren wegen

Code: Alles auswählen

 /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Andere Frage: Du versuchst aber nur von diesem Rechner aus über HTTP zu gehen oder versuchst du über einen anderen Rechner, über diesen als Firewall auf HTTP zu gehen?
Dann müsstest du Forwarding aktivieren.

freaki_kf
Beiträge: 3
Registriert: 02.03.2008 14:34:47

Beitrag von freaki_kf » 02.03.2008 20:27:17

Hi danke für die Antwort, echt super von euch!!!
Ach stimmt vielen Dank das hab ich im Eifer total vergessen, dass ich die DNS Anfragen auch freigeben muss ^^ Manchmal hat man echt ein Brett vor dem Kopf =)

Also der Rechner ist zum surfen gedacht, daher bräuchte ich bei Input die Freigabe gar nicht…
Es ist router davor (auch debian, aber in Minimalkonfiguration)

Ist es überhaupt sinnvoll all OUTPUT-Ports zu droppen?

Weiß das gehört jetzt nicht hier rein, aber wie sehr kann ich die benutzerrechte einschränken das es fast ein readonly system wird?

Danke!!

Grüße

Antworten