mikrocontroller.net

Forum: PC Hard- und Software Linux Firewall NAT


Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche nach einer anderen Einstellung meiner Linux Firewall-Lösung.

Istzustand:
- Ich habe einen Debian Vserver im Internet gemietet. Dieser hat eine 
feste IPV4
- der Vserver baut zur Fritzbox Zuhause einen VPN Tunnel auf
- per Firewall Regel leite ich nun Port 80 vom Vserver nach Hause durch 
den Tunnel auf meinen kleinen Webserver

Regeln der Firewall:
-A FORWARD -p tcp -m tcp -d 192.168.178.80/32 --dport 80 -j ACCEPT
-A PREROUTING -p tcp -m tcp -i venet0 --dport 80 -j DNAT 
--to-destination 192.168.178.80:80
-A POSTROUTING -p tcp -m tcp -d 192.168.178.80 --dport 80 -j SNAT 
--to-source 192.168.178.201

192.168.178.201 = VPN Adresse des Vservers
192.168.178.80  = Webserver Zuhause

Das Problem ist nun Logischerweise das der Webserver Zuhause immer die 
.201 IP sieht welche auf Daten zugreift und nie die Echte IP des 
Aufrufers aus dem Internet.

Wie kann ich die Firewall-Konfig anpassen das der Webserver Zuhause die 
Echten IP Zugriffe aus dem Internet sieht?

Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas schrieb:
> Wie kann ich die Firewall-Konfig anpassen das der Webserver Zuhause die
> Echten IP Zugriffe aus dem Internet sieht?

Wenn der Webserver die echte IP sieht, wird er seine Antwort "direkt" an 
diese schicken und das VPN umgehen. Das ginge nur, wenn du alle Daten 
über das VPN sendest, und eine explizite Route für die Adresse des 
V-Servers festlegst, damit dieser noch erreichbar ist.

Autor: Firewaller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das source NAT macht ja genau dieser Eintrag:

-A POSTROUTING -p tcp -m tcp -d 192.168.178.80 --dport 80 -j SNAT
--to-source 192.168.178.201

Wenn Du ihn weglässt, sollte die Verbindung mit der "echten" Adresse 
ankommen. Allerdings wird das nicht funktionieren da

a) Du für Deinen Tunnel einen festen Satz an Netzen angegeben hast
b) Die Fritzbox bei Dir zu Hause nicht weiß, dass sie genau diese Public 
IP Adresse über den Tunnel und nicht den normalen Internetzugang 
erreichen kann

Es ginge also nur, wenn Du Deinen GESAMTEN Internet-Traffic durch den 
Tunnel zum Vserver schickst.

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok Danke hab es verstanden.

Vielleicht ist mein grundsätzlicher Ansatz auch nicht der richtige.

Mein allererster Ansatz war anders:
Wenn ich nun den Vserver zu einem VPN Server mache und auf den Webserver 
Zuhause eine VPN Verbindung zum Vserver aufbauen lasse dann wäre dieser 
eigentlich doch am Vserver komplett mit einer IP erreichbar und ich 
bräuchte nur eine Portweiterleitung ohne NAT?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wärs mit einem reverse Proxy auf dem Vserver? Neben dem Log vom 
Proxy gibts zu Hause im Header beispielsweise:
    proxy_set_header    X-Real-IP $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;

Autor: Dr. Sommer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas schrieb:
> Wenn ich nun den Vserver zu einem VPN Server mache und auf den Webserver
> Zuhause eine VPN Verbindung zum Vserver aufbauen lasse

Die "Richtung" vom VPN spielt keine Rolle. Das ganze kann nur 
funktionieren, wenn der Webserver im Heimnetz ausschließlich den 
V-Server sieht und alles über diesen umleitet; er hätte dann keinen 
"normalen" Internetzugang mehr.

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das hatte ich auch versucht, da es doch "etwas" komplexer ist komme 
ich mit dem reverse-proxy irgendwann an die Stelle das mod_proxy_msrpc 
gebraucht wird welches aber nicht sauber funktioniert :(

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dr. Sommer schrieb:
> und alles über diesen umleitet; er hätte dann keinen
> "normalen" Internetzugang mehr

Ja ok stimmt das war glaube ich auch mal ein Versuch. da habe ich dann 
versucht eine 2. Netzwerkkarte im Webserver zu haben welche dann für den 
Lokalen Traffic verwandt wird mit route regeln für die lokalen IPs da 
hat dann aber auch etwas anderes nicht geklappt.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas schrieb:
> Ja das hatte ich auch versucht,

Vielleicht Nginx probieren. Die Zeilen oben stammen daraus.

: Bearbeitet durch User
Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, du meinst also den VPN Tunnel so lassen und statt der Linux Firewall 
den Nginx als reverseproxy verwenden um an die IPs zu vermitteln?

Kann Nginx in dem Fall auch mit Rohdaten umgehen? Also ohne http Header 
usw.?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas schrieb:
> Kann Nginx in dem Fall auch mit Rohdaten umgehen? Also ohne http Header
> usw.?

Das ist ein Web-Proxy. Bei dem genannten Port 80 ging ich allerdings 
davon aus, dass es um http geht.

Einem nackten Datenstrom kannst du nichts in die Tasche stecken. 
Entweder gibt es Metadaten, in denen sich ggf die von dir gesuchte Info 
reinschreiben lässt. Oder es gibt sie eben nicht, aber dann wirst du 
ausser in einem Protokoll auf dem Vserver nichts über die IP-Adresse 
erfahren.

Du kannst natürlich die nötigen Infos aus Firewall, Proxy, Forwarder... 
ins Syslog schreiben und dieses an deinen Server forwarden. Dort 
müsstest du das dann "nur noch" passend auswerten.

: Bearbeitet durch User
Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, ja Webserver wäre nur eine der Anwendungen, xmpp und noch ein paar 
andere Sachen würden dazukommen. Aber eben IP.

Vielleicht hab ich ja doch mal eine andere Idee.

Autor: Nichts (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum soll das ganze überhaupt so aufgebaut sein?
Warum nicht direkt auf den Server zu hause zugreifen? (DynDNS).

Autor: Nano (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas schrieb:
> Istzustand:
> - Ich habe einen Debian Vserver im Internet gemietet. Dieser hat eine
> feste IPV4

Lass mich raten und der ist nicht gemanaged.

Ganz schlecht und die Miete wird nicht über eine GmbH abgewickelt. Du 
bist also schon mit Haus und Hof in der Haftung.

Mein Rat, kündige den Vertrag und miete einen managed Server.

Denn du musst dich 24 h rund um die Uhr um den Server kümmern können, es 
muss immer einer da sein, der, wenn du schläfst sich um die Maschine 
kümmert.
Für alle Schäden, die von deinem Server ausgehen, bist du voll in der 
Haftung.
Für den Fall, das der kompromittiert wird und Amok läuft und dann andere 
Server schädigt wirst du mit Schadenserstatzklagen rechnen müssen.
Und dann kommt es darauf an, wie der Schaden entstanden ist und ob er 
vermeidbar gewesen wäre.



> - der Vserver baut zur Fritzbox Zuhause einen VPN Tunnel auf
> - per Firewall Regel leite ich nun Port 80 vom Vserver nach Hause durch
> den Tunnel auf meinen kleinen Webserver

Wieso das?
Wieso lässt du den Webserver nicht auf dem VServer direkt laufen?
Dieser hat eine schnellere Anbindung als dein Rechner Zuhause und läuft 
vor allem auch rund um die Uhr.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nano schrieb:
> Für alle Schäden, die von deinem Server ausgehen, bist du voll in der
> Haftung.

Ist das bei seinem Server zu Hause anders?

Autor: Nano (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Nano schrieb:
>> Für alle Schäden, die von deinem Server ausgehen, bist du voll in der
>> Haftung.
>
> Ist das bei seinem Server zu Hause anders?

Ich bin kein Jurist, aber ich denke schon. Weil die Qualität der 
Anbindung Zuhause eine ganz andere ist als ein richtiger Server der 
direkt an den Internetknoten angebunden ist.

Ebenso ist die Verantwortung und das zu erwartende und nötige Know How 
die dir als Serverbetreiber rechtlich unterstellt wird, eine ganz 
andere, als die, die ein Laie Zuhause haben muss.

Rechtlich wird man davon ausgehen, dass ein Nutzer Zuhause keine 
besonderen Fähigkeiten benötigen wird um einen Rechner Zuhause mit 
Internetverbindung zu betreiben. So etwas wie ein Internetführerschein 
ist auch nicht vorgeschrieben.

Als Serverbetreiber für einen Server bei einem Hoster wirst du aber 
sicherlich als Profi bewertet, nicht als Laie. Also wirst du auch 
wesentlich schärfer vor Gericht beurteilt werden.
Würde ein Laie bspw. einen Server betreiben, dann würde der Richter das 
wahrscheinlich als fahrlässig und somit vermeidbar einstufen und den 
Laien schuldig sprechen, eben weil die Unkenntnis da nicht mehr genügt.
Genausowenig, es gibt ja auch welche, die sich durchaus auskennen, das 
fehlen einer weiteren Person, die sich um den Server kümmert, wenn man 
selbst sich zur gegebenen Zeit nicht darum kümmern kann.


Das ist wahrscheinlich analog so, wie wenn ein Vermieter der Laie ist, 
sich selbst um die Elektroinstallation kümmert und der Mieter dann zu 
Schade kommt.
Da ist es nicht mehr die eigene Wohnung des Vermieters.
Wobei das, wie schon gesagt aber nur eine Analogie ist und die müssen 
nicht immer 100 % passen.

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nichts schrieb:
> Warum nicht direkt auf den Server zu hause zugreifen? (DynDNS).

Sorry du weißt leider nicht wie Mailversand in der heutigen Zeit zu 
funktionieren hat.




Andere was wäre wenn Szenarien mit vermeidlichen Ausgängen von 
Strafprozessen und Richtersprüchen sind hier total irrelevant.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.