iptables

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
sirius01
Beiträge: 179
Registriert: 04.05.2009 11:00:01

iptables

Beitrag von sirius01 » 02.03.2014 20:22:06

Hallo @all

Ich habe bereits einiges über iptables gelesen (vielleicht zu viel) irgendwie habe ich mich
jedenfalls verzettelt.

Ich möchte über eth1 nur port80 als eingehenden Port zulassen.
Eth0 dagegen möchte ich nicht ändern. Wie sieht hier das Skript aus?

Vielen Dank im voraus :THX:

gruß sirius01 :) 8) :)
Zuletzt geändert von sirius01 am 05.04.2014 11:31:12, insgesamt 2-mal geändert.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: iptables

Beitrag von Cae » 02.03.2014 21:48:40

Vermutlich tut

Code: Alles auswählen

iptables -A INPUT  -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT  -i eth1 -j REJECT
iptables -A OUTPUT -o eth1 -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o eth1 -j REJECT
ungefaehr das, was du beschreibst. Ist allerdings von den bestehenden Regeln abhaengig (die du uns vorenthaelst). Zum Beispiel tut man sich keinen Gefallen, wenn man ICMP komplett aussperrt.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
sirius01
Beiträge: 179
Registriert: 04.05.2009 11:00:01

Re: iptables

Beitrag von sirius01 » 04.03.2014 08:08:55

Hallo Cae,

vielen Dank für die schnelle Antwort. :THX:

Na klar ICMP :facepalm: hatte ich glatt vergessen. Na egal,
werde erst mal zur Arbeit. Zu Feierabend werde ich die Maschine :mrgreen: ,
neu aufsetzen. Dann geht es ans Testen :wink:

gruß sirius01 :) 8) :)

Benutzeravatar
sirius01
Beiträge: 179
Registriert: 04.05.2009 11:00:01

Re: iptables

Beitrag von sirius01 » 31.03.2014 08:41:07

Hm............

Jetzt komme ich doch nicht mehr weiter :oops:
Die Situation:

Code: Alles auswählen

sysctl -w net/ipv4/ip_forward=1
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X
  #  iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
  #  iptables -P FORWARD DROP

  #  iptables -A INPUT -m state --state INVALID -j DROP
  #  iptables -A FORWARD -m state --state INVALID -j DROP
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A FORWARD -i lo -j ACCEPT

    iptables -A INPUT -i eth1 -p icmp -j ACCEPT   #Ping
    iptables -A INPUT  -i eth1 -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT  -i eth1 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT  -i eth1 -j REJECT
    iptables -A OUTPUT -o eth1 -p icmp -j ACCEPT  #Ping
    iptables -A OUTPUT -o eth1 -p tcp --sport 80 -j ACCEPT
    iptables -A OUTPUT -o eth1 -p tcp --sport 22 -j ACCEPT
    iptables -A OUTPUT -o eth1 -j REJECT
Wenn ich das ganze über einen zusätzlichen Router mit einer Fritzbox(VPN) Verbinde, geht alles.
Betreibe ich es ohne zusätzlichen Router(mit Anpassung der IPs) ist eth1 von der Gegenseite nicht mehr erreichbar.
Der VPN Tunnel steht aber.

Bin jetzt Ratlos. Wo liegt hier der Denkfehler?

gruß siriusw01 :) 8) :)

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables

Beitrag von Gunman1982 » 31.03.2014 11:40:24

Und der router hängt an elcher NIC? eth0 eth1?
Sind das alle iptables Regeln? Ist eth0 dein lokales Netz welchem du freien Zugang zu dem Rechner lassen willst?

Was die Rules angeht: Warum nutzt du nicht die Policys? iptables -p. Wenn du jetzt hinter deiner input reject regel eine weitere in INPUT oder OUTPUT einfügst wird diese nie erreicht und du wunderst dich. Desweieteren würde ich aus dem "iptables -A FORWARD -i lo -j ACCEPT" ein "iptables -A OUTPUT -i lo -j ACCEPT" machen. Du willst keine Pakete zum loopback forwarden, du möchtest aber das auch deine OUTPUT Pakete dort ankommen.

Benutzeravatar
sirius01
Beiträge: 179
Registriert: 04.05.2009 11:00:01

Re: iptables

Beitrag von sirius01 » 31.03.2014 12:42:45

@Gunman1982,

danke für die schnelle Antwort. Ja eth0 ist das Lokale Netzwerk. Eth0 ist auch mit dem Router (Portfreigabe 80) verbunden.
Für die Webseite. Das ganze ist auch ok und funzt. Jetzt wollte ich eth1 zusätzlich nutzen um über eine getunnelte Verbindung
das ganze gesichert von außerhalb zu warten. Die Verbindung eth1 über einen zusätzlichen Router zur Fritzbox(VPN geht ja).
Ist aber nicht akzeptabel.
Zu meinen Voraussetzungen. Ich bin Elektroniker aber kein Programmierer.
Netzwerkkenntnisse sind auch vorhanden.
Aber, die Zusammenstellung der iptables habe ich in den verschiedensten Foren zusammen geklaut :wink: .
Wie würdest Du das ganze zusammenstellen? :roll:

Vielen Dank im voraus :hail:

gruß sirius01 :) 8) :)

Benutzeravatar
Hosi
Beiträge: 226
Registriert: 17.03.2003 15:17:29

Re: iptables

Beitrag von Hosi » 31.03.2014 21:51:47

Die Firewall-Regeln sehen gut aus.

Probier mal ein "iptables -I POSTROUTING -t nat -j MASQUERADE" und schau dann, ob der Ping auf die IP-Adresse von eth1 und auf den Webserver durchgeht?

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables

Beitrag von Gunman1982 » 31.03.2014 22:28:22

sirius01 hat geschrieben:@Gunman1982,

danke für die schnelle Antwort. Ja eth0 ist das Lokale Netzwerk. Eth0 ist auch mit dem Router (Portfreigabe 80) verbunden.
Für die Webseite. Das ganze ist auch ok und funzt. Jetzt wollte ich eth1 zusätzlich nutzen um über eine getunnelte Verbindung
das ganze gesichert von außerhalb zu warten. Die Verbindung eth1 über einen zusätzlichen Router zur Fritzbox(VPN geht ja).
Ist aber nicht akzeptabel.
Wenn ich dich jetzt richtig verstanden hab sieht dein Netz uuuungefähr so aus, bzw dein Plan:

PC eth0 <-------------------------->| Fritzbox
eth1 <------> router <----->|

Wobei die Fritzbox portforwarding auf port 80 auf die ip des PC-eth0 macht.

Hattest du dir schonmal Gedanken gemacht ob du bei dieser Konstellation überhaupt eine Firewall brauchst? Schliesslich sitzt die Fritz ja schon zwischen dem Rechner und Internet und lässt nur die 2 Sachen durch die du brauchst (http und vpn wenn ich das richtig verstanden hab).
Wenn ich nun aber nochmal deinen 1. Post lese soll doch eth1 per port 80 erreichbar sein ... Verwirrend.

Mein Modifikations-Vorschlag für Iptables auf PC für "eth1 hängt an unsicherem Netz und soll nur http und ssh durchlassen" und "eth0 ist sicher und lässt alles rein und raus.":

Code: Alles auswählen

    iptables -F
    iptables -t nat -F
# Default wird alles kommentarlos gedropped
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP

# Input UND Output auf loopback durchlassen
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -i lo -j ACCEPT

# Bestehende Verbindungen auch einfach durchwinken
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# icmp beschränkt sich nicht nur auf ping aber nun gut lassen wir mal rein/raus
    iptables -A INPUT -p icmp -j ACCEPT
    iptables -A OUTPUT -p icmp -j ACCEPT

# Sicheres Netz eth0, alles darf rein
    iptables -A INPUT -i eth0 -j ACCEPT 
    iptables -A OUTPUT -i eth0 -j ACCEPT

# Netz eth1 auf http und ssh beschränkt
    iptables -A INPUT  -i eth1 -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT  -i eth1 -p tcp --dport 22 -j ACCEPT
    iptables -A OUTPUT -o eth1 -p tcp --sport 80 -j ACCEPT
    iptables -A OUTPUT -o eth1 -p tcp --sport 22 -j ACCEPT
Was die Regeln betrifft für FORWARD, sofern die Kiste nicht selber als router/gateway herhalten soll kannst du die ignorieren.

Benutzeravatar
sirius01
Beiträge: 179
Registriert: 04.05.2009 11:00:01

Re: iptables

Beitrag von sirius01 » 01.04.2014 19:26:05

@Gunman1982

Danke für die schnelle Hilfe :THX: .
PC eth0 <--------------------------> Fritzbox ist richtig (Fritzbox1) Port 80 für die Webseite <------>Internet

Derzeitige Notlösung:
zusätzlich von eth0 <------>Router als Portfilter <-----> Fritzbox2 mit VPN <------> Tunnel zur Arbeit(zum bearbeiten)

Ich möchte von eth1(inklusive Portfilter) <-----> Fritzbox2 mit VPN <------> Tunnel zur Arbeit

Du hast Dir echt Mühe gegeben mein Respekt :THX:
Es funzt zwar noch nicht richtig. Da werde ich mich aber erst die nächsten Tage durch wuseln können.
Arbeit und Familie wollen ja auch Ihr Anteil :lol: .
Bis ich den Fehler gefunden habe, geht ja die Notlösung :wink:

Gruß sirius01 :) 8) :)

PS: Sollte ich mich, da etwas weiter Bilden oder die Konfiguration wird einfacher, wird die Fritzbox2, OpenVPN weichen.
Da fehlt mir aber noch Zeit und Wissen :wink:

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: iptables

Beitrag von Gunman1982 » 02.04.2014 11:57:23

sirius01 hat geschrieben: PC eth0 <--------------------------> Fritzbox ist richtig (Fritzbox1) Port 80 für die Webseite <------>Internet

Derzeitige Notlösung:
zusätzlich von eth0 <------>Router als Portfilter <-----> Fritzbox2 mit VPN <------> Tunnel zur Arbeit(zum bearbeiten)

Ich möchte von eth1(inklusive Portfilter) <-----> Fritzbox2 mit VPN <------> Tunnel zur Arbeit
Also möchtest du den PC über den Tunnel per portfiler schützen? Ist das so ein unsicheres Netz was über den Tunnel reinkommt? 8O
Die iptables Regeln sollten für deinen Wunsch allerdings so passen.
sirius01 hat geschrieben: Es funzt zwar noch nicht richtig. Da werde ich mich aber erst die nächsten Tage durch wuseln können.
Du kannst dir auch loggen lassen welche Pakete iptables blockt falls es an unrechtmässig geblockten Paketen liegt.
Einfach anhängen an dein Script:

Code: Alles auswählen

iptables -A INPUT -i eth1 -j LOG --log-prefix "eth1 in: "
iptables -A OUTPUT -o eth1 -j LOG --log-prefix "eth1 out: "
sirius01 hat geschrieben: Bis ich den Fehler gefunden habe, geht ja die Notlösung :wink:
Wenn du den Fehler etwas näher erläuterst könnte man dir vielleicht helfen.
sirius01 hat geschrieben: PS: Sollte ich mich, da etwas weiter Bilden oder die Konfiguration wird einfacher, wird die Fritzbox2, OpenVPN weichen.
Da fehlt mir aber noch Zeit und Wissen :wink:
Ist das ne statische Verbindung an der FritzBox2 oder DSL? Würde das wenn du redundanz brauchst eher mit deinen Fritzbox lassen und sie so konfigurieren das du dich über beide per vpn einwählen kannst. Wenn eine ausfällt hast du nen Fallback.

Benutzeravatar
sirius01
Beiträge: 179
Registriert: 04.05.2009 11:00:01

Re: iptables

Beitrag von sirius01 » 03.04.2014 14:07:10

Hallo und danke noch mal :THX:

Es geht jetzt...................... :roll: Mein Autostartskrippt war etwas verkehrt :facepalm: .
Na ja, etwas ruhe und noch mal alles abchecken. Häufig scheitert es ja an den Kleinigkeiten :lol:

Noch ein wenig testen ob alles 100% läuft :hail: und dann gehts es online.


gruß sirius01 :) 8) :)

Benutzeravatar
sirius01
Beiträge: 179
Registriert: 04.05.2009 11:00:01

Re: (gelöst)iptables

Beitrag von sirius01 » 05.04.2014 11:29:34

Hi :wink:

Ich dachte das es gelöst wäre :roll: . Aber alle Filtereinstellungen funktionieren nur
vor der Fritzbox2. Ping geht, Port80 und Port22 gehen so wie es sein sollte. Alles super.
Nur auf der anderen Seite des Tunnels, ist meine eth1 nicht mehr erreichbar. Ich sehe aber darüber den anderen Rechner.
Schließe ich einen Router oder andere Netzwerkgeräte(mit der richtigen IP), an die Fritzbox2 an,
so sind diese am anderen Ende des Tunnels voll erreichbar. Nun bin ich doch ratlos.
Vielleicht hat ja jemand einen Tipp für mich. :hail:

Wenn ich eine elektronische Schaltung erstelle oder repariere, so sagt mir die meine
Logik (mit Messgerät und Schaltplan) an welchen
Kontakt, welche Spannung oder welches Signal anliegen sollte. Wenn nicht, so lässt sich der Fehler, an
Hand dessen schnell ausfindig machen. Hier versagt aber meine Logik :oops:

gruß sirius01 :) 8) :)

Antworten