iptables zum verzweifeln

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
Benutzeravatar
apt-get
Beiträge: 58
Registriert: 04.09.2002 08:59:29
Wohnort: Bensheim
Kontaktdaten:

iptables zum verzweifeln

Beitrag von apt-get » 29.10.2002 14:05:13

hi ihrs

ich weis ich weis - iptables is ne lange unendliche geschichte.. aber dennoch auch ich will sie verstehen und endlich einmal zu ende bringen.

ich habe ein LAN mit linuxrouter / gateway auf debian3.0 basis dazu kommt noch ein linux server und 2 win2k clients. der dsl zugang ist auch wunderbar am laufen und das
masquerading läuft ebenfalls. auch mit apache, samba und mysql hab ich nicht die megaprobleme nur dieses verdammte "einfache" einrichten einer firewall will nicht.

dazu muss ich sagen, das ich linux nur für server einsetze ohne kde oder gnome, also alles per putty oder webmin.

router: debian3.0
eth0 LAN 192.168.123.254
eth1 DSL -

server1: debian3.0
eth0 LAN 192.168.123.1

arbeit1: win2k
eth0 LAN 192.168.123.11

arbeit2: win2k
eth0 LAN 192.168.123.12

zu meinem problem:
ich hab keine ahung in welche datei die iptables gefehle getippt werden sollen, oder ob sie in eine extradatei gehören und dann nur per dsl_on_boot scrpit mit aufgerufen werden soll.

die filterregeln sollten so gebaut sein, das volgendes passiert:

lokales LAN -> Internet
alles erlauben

Internet -> lokales LAN
port 20 durchlassen und auf IP 192.168.123.1 routen
port 21 durchlassen und auf IP 192.168.123.1 routen
port 80 durchlassen und auf IP 192.168.123.1 routen
port 12413 durchlassen und auf IP 192.168.123.1 routen
port 12412 durchlassen (nicht routen)

alle anderen ports blocken, oder zumindestens so sicher wie möglich behandeln

es geht mehr oder weniger halt darum ein anfang zu bekommen, wenn ich dann weitere sachen hinzufügen möchte kann ich das ja selber anhand der bestehenden regeln machen.

vielen dank im voraus

apt-get

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 29.10.2002 14:42:28

Du kannst die Befehle (wenn es eine kleine einfache Firewall ist) einfach am Ende von /etc/init.d/bootmisc.sh eintragen. Das ist zwar keine Standardlocation, aber für Kleinigkeiten reichts.

Wenn Du es besser machen willst, oder Deine FW grösser wird, würde ich ein Shellskript unter /etc/ppp/ip-up.d anlegen. Alle Skripte in diesem Verzeichnis werden ausgeführt, wenn die IP Verbindung aufgebaut ist. In /etc/ppp/ip-down.d musst Du dann allerdings ein zusätzliches Skript einbauen, dass alle FW Regeln löscht, weil ansonsten nach dem Wiederaufbau der Verbindung alle FW Regeln doppelt vorhanden sind, was in 99,9% aller Fälle nicht korrekt funktioniert.

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 30.10.2002 09:00:06

In http://www.debianforum.de/forum/viewtopic.php?t=151 hat glatzor ein Start-Stop-Script und eine Grundkonfiguration veröffentlicht. Ich nutze das Script für all meine Firewalls.

Benutzeravatar
apt-get
Beiträge: 58
Registriert: 04.09.2002 08:59:29
Wohnort: Bensheim
Kontaktdaten:

Beitrag von apt-get » 30.10.2002 09:22:59

hi ihrs,..

aha aha.. na das hört sich ja schonmal bissel verständlicher an.
Also das eigentliche FW-script kommt dann in /etc/ppp/ip-up.d und ein script um die regeln wieder zu löschen in /etc/ppp/ip-down.d hört sich logisch an ja.
Aber kann man die FW-regeln nicht dauerhaft in denn kernel einbinden, ich hab da sowas gelesen. Aber okay haubtsache ich bekomm das überaubt hin.

so nun zu denn regeln an sich.
ja denn beitrag von glatzor und auch sein script hab ich gelesen. Eine gute sache aber mich verwirren die ganzen regeln zu doll, ich find einfach kein anfang.

Ich denk ich muss es einfach versuchen, und bissel zeit woher zaubern.
okay ich dank erstemal für diesen kleinen anstoss :-)

apt-get

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 30.10.2002 09:36:54

OK. Dann halt Schritt für Schritt:

Zuerst definieren wir die Devices:

Code: Alles auswählen

  IF_INT=eth0
  IF_EXT=eth1
  IF_LO=lo
Dann löschen wir alle vorhandenen Regeln, setzen die Standardaktion auf DROP (nichts durchlassen) und aktivieren das NAT:

Code: Alles auswählen

  iptables -F
  iptables -X

  # drop everything
  iptables -P INPUT DROP
  iptables -P FORWARD DROP
  iptables -P OUTPUT DROP

  # activate masquerading
  iptables -t nat -A POSTROUTING -o $IF_EXT -j MASQUERADE
Wir erlauben alles auf dem Firewallrechner (loopback) selber:

Code: Alles auswählen

iptables -A INPUT -i $IF_LO -j ACCEPT
iptables -A OUTPUT -o $IF_LO -j ACCEPT
Nun öffnen wir Port 80 und 443 von intern nach extern:

Code: Alles auswählen

  iptables -A FORWARD -i $IF_INT -o $IF_EXT -p TCP -m multiport --dport 80,443 -j ACCEPT
  iptables -A FORWARD -i $IF_INT -o $IF_EXT -p UDP -m multiport --dport 80,443  -j ACCEPT

  iptables -A FORWARD -i $IF_EXT -o $IF_INT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
  iptables -A FORWARD -i $IF_EXT -o $IF_INT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
Ich hoffe, Dir wird es jetzt klar, wie das Erstellen eines solchen Scripts läuft. Wenn Du das hier verstanden hast, dann schau Dir noch mal das Script von glatzor an.

Benutzeravatar
apt-get
Beiträge: 58
Registriert: 04.09.2002 08:59:29
Wohnort: Bensheim
Kontaktdaten:

Beitrag von apt-get » 31.10.2002 12:08:16

hi ihrs,.. naja danke erstemal für die mühe, aber dennoch ich glaub ich raffs.net

also hab mir ein script getippt, und es in /etc/ppp/ip-up.d abgelegt, die rechte auf 755 gesetzt und ein reboot gemacht. Aber es passiert nichts, wenn ich iptables -L -v in der konsole eingebe, dann steht da nix,.. also die chain´s sind lehr.

ich weis echt net wo da der fehler sein kann, mein script sieht so aus, es ist ein zusammensatz aus glatzor und k-pl ihren ideen

Code: Alles auswählen

# Firewallscript
 
# Schnittstellen Bestimmen 

# Schnittstellen zum lokalen Netz (LAN)
  IFACE_INT=eth0

# Schnittstelle zum Internet (DSL Modem)
  IFACE_EXT=ppp0

# Rechnerinterne Schnittstelle (loopback)
  IFACE_LO=lo


# Default-Policies setzen
  iptables -P INPUT DROP 
  iptables -P FORWARD DROP 
  iptables -P OUTPUT DROP

# Einschalten von ip-Forwarding (MASQUERADE)
  echo "1" > /proc/sys/net(ipv4/ip_forward

 
# INCOMING

# Soll nicht sein 
  iptables -A INPUT -p TCP ! --syn -m state --state NEW -j DROP

# Vom internen Netz alles erlauben 
  iptables -A INPUT -i $IFACE_INT -j ACCEPT 

# Vom Loopback Alles erlauben 
  iptables -A INPUT -i $IFACE_LO -j ACCEPT 

# Vom Internet Erlauben von bereits initialisierten Verbindungen 
  iptables -A INPUT -i $IFACE_EXT -m state \ --state ESTABLISHED,RELATED -j ACCEPT 

 
# FORWARDING

# Lokal -> Internet: Alles erlauben 
  iptables -A FORWARD -i $IFACE_INT -o $IFACE_EXT -j ACCEPT 

# Internet -> Lokales: Nur Verkehr über bereits bestehende Verbindungen erlauben 
  iptables -A FORWARD -i $IFACE_EXT -o $IFACE_INT -m state \ --state ESTABLISHED,RELATED -j ACCEPT 

# Ins lokale Netzwerk: Alles erlauben 
  iptables -A OUTPUT -o $IFACE_INT -j ACCEPT

# Ans Loopback: Alles erlauben 
  iptables -A OUTPUT -o $IFACE_LO -j ACCEPT 

# Ins Internet: Alles erlauben 
  iptables -A OUTPUT -o $IFACE_EXT -j ACCEPT 


# Masquerading
  iptables -A POSTROUTING -o $IFACE_EXT -t nat -j MASQUERADE 

#Ende
ich wollte erstmal nur die FW zum laufen bekommen. Alles von aussen her blocken und von intern her normal surfen.

kann mir wer sagen was ich falsch mach :-)

bis denn apt-get

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 31.10.2002 13:01:31

Code: Alles auswählen

  iptables -F
  iptables -X
fehlt vor den iptables -P-Einträgen

[/code]

Rizzo
Beiträge: 13
Registriert: 11.10.2002 16:16:25

IPtables

Beitrag von Rizzo » 04.11.2002 10:01:13

gibt nur eine site die gut ist und das ist http://www.iptables.de oder com :D

k-pl
Beiträge: 587
Registriert: 11.01.2002 11:26:44
Wohnort: München
Kontaktdaten:

Beitrag von k-pl » 04.11.2002 10:02:51

Mir ist da nichts bekannt.

Benutzeravatar
apt-get
Beiträge: 58
Registriert: 04.09.2002 08:59:29
Wohnort: Bensheim
Kontaktdaten:

Beitrag von apt-get » 05.11.2002 09:16:59

hi ihrs...

sorry das ich mich erst jetzt melde, war ein paar tage in sinne der kunst unterwechs
so nun wieder linux-user-denken

ich hatte mir ja mein script gebaut, okay noch die einträge hinzufügen die ich vergass.
werde das alles mal testen, ich hoff das mein router bald hinter ner firewall sitzt, denn so langsam wird mir angst und bang bei dem gedanken, das da rein und raus kann wer will.

also bis denne und danke schonmal für die hilfe....

bye apt-get

Benutzeravatar
apt-get
Beiträge: 58
Registriert: 04.09.2002 08:59:29
Wohnort: Bensheim
Kontaktdaten:

Beitrag von apt-get » 25.11.2002 20:09:24

hi leute..

also hab nun endlich mal ein fwscript in die finger bekommen, besser gesagt unter
http://www.harry.homelinux.org gibt es einen guten generator. dann hab ich das script noch studiert um zu verstehen was ich da mache. Nur ich bekomme das script nicht zum starten.

script: /etc/init.d/firewall.sh (chmod755)
symlink: /etc/rc3.d/S99firewall.sh

so nichts passiert. wenn ich nach einem reboot iptables -L -vn eingebe, stehen dort keine regeln. was mich auch etwas verwundert, ist das es unter /etc/init.d/ ein script namens iptables gibt. dazu noch ein symlink aus /etc/rc2.d diesen zusammenhang verstehe ich nicht ganz.

also wo könnte da der fehler liegen, oder soll ich mal das fw script posten ?

bye apt-get

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 25.11.2002 20:16:19

Debian startet standardmäßig in denn runlevel 2. Darum wird Dein Script auch nicht aufgerufen..
Lege doch einfach noch einen Symlink in /etc/rc.2d an.
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
apt-get
Beiträge: 58
Registriert: 04.09.2002 08:59:29
Wohnort: Bensheim
Kontaktdaten:

Beitrag von apt-get » 25.11.2002 21:00:46

hi Bert..

cool danke jetzt wird mein script gestarte, aber dennoch es macht nicht das was ich will. naja muss man sich mal vorstellen ich kenn mich mit php und mysql aus, kann photoshop von vorne bis hinten. aber ein firewallscript auf iptables basis killt mir denn verstand.

naja ich werd sehen, wenn was ist meld ich mich :-)

bye apt-get

Antworten