WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   Firewall (http://www.wcm.at/forum/showthread.php?t=33851)

K@sperl 23.10.2001 17:53

Firewall
 
Ich mach mir eine Firewall mit iptables.
Nun eine Frage:
Hab ADSL mit dem speed touch home und ich habs momentan so konfiguriert (die Firewall mein ich), daß ich alle ankommenden Pakete von 10.0.0.138 zulasse. Mit einer gefälschten IP wäre es also kein Problem in meinen Rechner einzudringen.
Wie sichere ich mich da nun am besten ab? Das Modem verwendet ja das pptp Protokoll, mit den iptables steuere ich tcp, udp und icmp an, mit welchem Protokoll wird das Modem angesteuert? tcp ists nicht, hab ich schon probiert, oder verwendet es mehrere Protokolle? Hat jemand von euch iptables bzw. ipchains in Verwendung?

_m3 23.10.2001 19:35

IPT=/usr/local/sbin/iptables
EXTIF="eth1" # Netzwerkkarte für den Router
INTIF="eth0" # Netzwerkkarte internes LAN

# Anything coming from our internal network should have only our addresses!
$IPT -A FORWARD -i $INTIF -s ! $INTERNALNET -j LOG
$IPT -A FORWARD -i $INTIF -s ! $INTERNALNET -j DROP

# Anything coming from the Internet should have a real Internet address
$IPT -A FORWARD -i $EXTIF -s 192.168.0.0/16 -j DROP
$IPT -A FORWARD -i $EXTIF -s 172.16.0.0/12 -j DROP
$IPT -A FORWARD -i $EXTIF -s 10.0.0.0/8 -j DROP

Statt eth1 nimmst halt die ppp0, dann sollte es funken.

K@sperl 23.10.2001 22:35

Hab da noch ein kleines Problem: irgendwie geht auf einmal überhaupt nix mehr, bei den ipchains hats aber funktioniert.
Ich hab die policy der INPUT chain auf DROP gesetzt und dann eine Regel hinzugefügt, um z.B. auf Port 80 Zugriff zu erlauben:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Aber das geht nicht, http ist nicht möglich, auch wenn ich statt dport sport eingebe, bringts nichts! Und das selbe hab ich für udp und icmp gemacht.
Kann mir da mal jemand weiterhelfen? Bei den ipchains war das irgendwie anders.

_m3 24.10.2001 02:16

OK - etwas ausführlicher:

UNIVERSE="0/0"
IPT=/usr/local/sbin/iptables
EXTIF="eth1" # Netzwerkkarte für den Router
INTIF="eth0" # Netzwerkkarte internes LAN
INTERNALNET="192.168.x.0/24"

# initializing
$IPT --flush
$IPT --table nat --flush
$IPT --delete-chain
$IPT --table nat --delete-chain

#Paranoid - alles droppen
$IPT -P INPUT DROP

$IPT -A INPUT -i lo -j ACCEPT # localhost is O.K.
$IPT -A INPUT -i $INTIF -j ACCEPT # internes Netz is O.K.
$IPT -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT # Existierende Sessions von aussen sind O.K.

# Anything coming from our internal network should have only our addresses!
$IPT -A FORWARD -i $INTIF -s ! $INTERNALNET -j LOG
$IPT -A FORWARD -i $INTIF -s ! $INTERNALNET -j DROP

# Anything coming from the Internet should have a real Internet address
$IPT -A FORWARD -i $EXTIF -s 192.168.0.0/16 -j DROP
$IPT -A FORWARD -i $EXTIF -s 172.16.0.0/12 -j DROP
$IPT -A FORWARD -i $EXTIF -s 10.0.0.0/8 -j DROP

# http von aussen erlauben
$IPT -A INPUT -p tcp -m state --state NEW -s $UNIVERSE -d $MYIP1 --dport 80 -j LOG # erst loggen, dann erlauben
$IPT -A INPUT -p tcp -m state --state NEW -s $UNIVERSE -d $MYIP1 --dport 80 -j ACCEPT

# MASQUERADING
$IPT --table nat --append POSTROUTING --out-interface $EXTIF -j MASQUERADE
$IPT --append FORWARD --in-interface $INTIF -j ACCEPT

Damit kannst Du nach aussen alles (auch pingen und ftp), von aussen ist aber nur Dein http port (80) sichtbar.
Klarer?
Sonstwer Kommentare, Verbesserungen?

K@sperl 24.10.2001 14:46

Ich wollte ja nur wissen, wie man Zugriff auf Port 80 erlaubt.
Aber es geht wieder nicht!
$IPT -A INPUT -p tcp -m state --state NEW -s $UNIVERSE -d $MYIP1 --dport 80 -j ACCEPT
Wieso muß ich da eine Source angeben? Und als Ziel meine IP?
Habs genau so gemacht aber es geht nicht!!! :heul:

_m3 24.10.2001 15:02

1. Bevor Du neue Regeln setzt, solltest Du IMMER die Alten loeschen. Siehe mein init-Bereich. Da gibt's sonst die seltsamsten Effekte.

2. Du musst der firewall sagen, woher jemand von aussen auf Deinen Port 80 (http) zugreifen will. Daher musst Du eine Source und die (externe!) IP Deines Rechners angeben.

K@sperl 24.10.2001 15:50

Die alten Reglen flushe ich immer vorher, genau wie Du.
Aber trotzdem gehts nicht, was hab ich da falsch gemacht??? Und auch wenn ich Zugriff auf alle Ports erlaube, gehts noch immer nicht!

_m3 24.10.2001 15:51

OK, noch mal von vorne: von wo willst Du nach wohin zugreifen?
Wir kriegen das schon hin ;)

K@sperl 24.10.2001 22:59

Nun, hab also die Verbindung mit
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
erlaubt.
Ist irgendwie komisch daß ich nur mit dieser einen Regel die ges. Firewall konfiguriert habe, wo ist da der Haken?
Und da gibts ja noch eine --syn Option, die nur Pakete herinkäßt, wenn sie angefordert wurden, wäre die Verwendung von --syn nicht auch angebracht?
Aber irgendwie muß ich da ja doch mehr konfigurieren, sonst kann da irgendwer rein, so glaub ich zumindest ...

MANX 25.10.2001 11:32

Hi Flanders, _m3!

Bezüglich IPTABLES kann ich nur folgendes Buch empfehlen:
http://www.susepress.de/de/katalog/3...0_8/index.html

Auf der Seite des Autors sind alle angeführten Firewallscripts zum Downloaden:
http://www.swobspace.de/linux/das-fi...wall-buch.html

Für Dich interessant könnte dieses Script sein.

Als brauchbare Grundausstattung; ergänzen um den INCOMING HTTP!!

Aber ich schau mir's auch noch an, wenn sich's ausgeht :) , obwohl ja schon professionelle Hilfe geleistet wird.

Grüße

Manx


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag