Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

Reverse Proxy für IPC / Panel / OScam | SSH Tunnel für den Share

Registriert
11. Juni 2010
Beiträge
4.077
Reaktionspunkte
2.854
Punkte
373
Hallo Zusammen,

ich möchte das Thema Client / Server Security in diesem Beitrag aufgreifen und euch erklären, wie Ihr ohne Probleme euch, eure Clients und eure Infrastruktur schützen könnt.
Unabhängig davon wie Ihr euere Systeme am Laufen habt, ob Zuhause oder VServer, ist diese Lösung universal einzusetzen.

Als Beispiel dient folgende Konfiguration, da sie denke ich mehrheitlich vertreten ist:
1. Ubuntu / Debian based Homeserver mit laufender OScam Instanz
2. Entsprechende Router Freigaben
3. IPC / oder Userpanel von freddchen

Benötigt:
4. Zusätzlicher OpenVZ Server (alternativ KVM, Xen Terminal etc.)

Zu Punkt 4 stellen sich viele jetzt bestimmt eine Frage: Wozu?
Die Antwort: Wir setzen den OpenVZ Server multifunktional ein, als Firewall, als Gateway, als Proxy.
Der OpenVZ Server ist in der regel sehr günstig und hat gute Performance. Als Anbieter kann ich mit besten Wissen und durch meine Erfahrungen myvirtualserver empfehlen.
Prinzipiell würde ein OVZ Server mit 256 MB Ram ausreichen, empfehlen tue ich aber minimum 512 MB RAM.

Zur Umsetzung:
Nachdem Ihr den OpenVZ Server mit Ubuntu (Das HowTo orientiert sich an 15.10!) installiert habt, müssen noch ein paar zusätzliche Pakete sicherheitshalber (da Minimal Installation) installiert werden:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Nachdem alles auf aktuellen Stand gebracht worden ist, bereiten wir die Reverse Proxy vor.
Die Reverse Proxy dient dazu, den eigentlich Webserver und das OScam Interface zu schützen.
Aber um das volle Potential auszuschöpfen benötigt Ihr eine neue, nur euch bekannte Dyn Adresse. In diesem Beispiel: geheimerhomeserver.dyndns.org
Beispiel:

Euer Homeserver hat die Dyn homeserver.dyndns.org
Darüber ist das OScam Webinterface, CCcam, cs378x und IPC von außen aufrufbar. Dies bedeutet es findet ein direkter Verbindungsaufbau zu eurem Homeserver statt. Dies kann gut....aber auch sehr schlecht sein (Hacking, DDOS, ungewünschte Besucher.....). Jetzt besorgt Ihr euch eine weitere Dyn für den OpenVZ Server: proxy.dyndns.org
Rufe ich also nach Einrichtung der Reverse Proxy die Adresse Proxy.dyndns.org:8888 für OScam auf, öffnet sich bei mir auch das OScam Webinterface. Aber ich kenne ja nur proxy.dyndns.org, die Adresse geheimerhomeserver.dyndns.org kenne ich als potentieller Angreifer nicht. Die Sicherheit ansich wird durch entsprechende Konfiguration an der Firewall entsprechend gehärtet.

Aber kommen wir jetzt zur Einrichtung der Reverse Proxy:
1. SSH Session öffnen
2. Wir aktivieren die Proxy folgendermaßen:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
3. Wir erstellen unseren Virtual Host mit nano /etc/apache2/sites-enabled/000-default.conf, entfernen den gesamten Inhalt und fügen folgendes ein:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Jetzt noch die ports.conf bearbeiten: nano /etc/apache2/ports.conf
Listen 80
Listen 8888

Anschließend muss die Datei gespeichert werden und der Apache2 Server neugestartet werden: systemctl reload apache2

Jetzt könnt Ihr den ersten Zugriff testen:
Gebt im Browser eurer Wahl die Adresse proxy.dyndns.org (für IPC) ein und Ihr solltet nun ohne Probleme auf die IPC Startseite eures Servers gelangen (Vorrausgesetzt die Freigaben im Homerouter sind eingerichtet!!). Als nächstes testet den Zugriff auf das OScam Webinterface proxy.dyndns.org:8888
Wenn alles klappt, läuft die Reverse Proxy ohne Probleme!

Natürlich lässt sich das ganze auch mit SSL Verschlüsselung umsetzen!
Hierzu empfehle ich euch in das Thema Letsencrypt einzulesen.
Die Settings für den SSL Zugriff findet Ihr in dem Spoiler:
default-ssl.conf

Du musst dich Anmelden oder Registrieren um diesen Inhalt sichtbar zu machen!
Aber um das eigentliche Thema abzuschließen, kommen wir zum nächsten Thema.
Wie eingangs beschrieben, könnt Ihr euch, eure Familie, Freunde etc. schützen ohne sich mit OpenVPN auseinander zu setzen.
Dies bedeutet es fallen Clientseitig keine großen Änderungen an (eigentlich gar keine)!
Der SSH Tunnel wird gerne als Cheap-Men VPN betitelt und ich sage und versichere euch das dies falsch ist!
Der SSH Tunnel ist so vielseitig wie sicher!

Folgendes passiert durch den SSH Tunnel Tunnel:
Direkte Verbindungen zu eurem Homeserver funktionierten bisher immer über die Adresse homeserver.dyndns.org. Sprich jeder Client, Share Partner etc. sieht eure IP-Adresse an eurem Internet Anschluss.
Da wir aber die bisherige Adresse homeserver.dyndns.org auf den OpenVZ umleiten und niemand die neue Adresse des Homeservers geheimerhomeserver.dyndns.org nicht kennt, kennt auch niemand die IP-Adresse eures Servers.

Schaubild:
Client --> Vserver Tunnel --> Homeserver --> Vserver Tunnel --> Client
Sämtliche Kommunikation im SSH Tunnel ist verschlüsselt, aller Fremdverkehr der nichts mit den entsprechenden Share Protokollen zu tun hat wird einfach ignoriert und läuft ins Nirvana.
Damit das klappt müssen wir den SSH Tunnel vorbereiten und eine Standleitung einrichten. Als Beispiel nutze ich für eine CCcam Verbindung den Port 34011
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Jetzt richten wir den Tunnel ein:
Folgendes in die rc.local hinzufügen: nano /etc/rc.local
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Der autossh sorgt dafür, dass der Tunnel aktiv bleibt und falls notwendig nach 60 Sekunden erneut aufgebaut wird, sollte die Verbindung abbrechen.
Zu beachten ist, dass unbedingt die IP des VServers bei IP_eures_OpenVZ_Servers eingetragen werden muss. Mit DNS Namen wie proxy.dyndns.org funktioniert das nicht!
Das ganze ist natürlich für weitere Protokolle ausbaubar. Für ein weiteres Protokoll einfach die beiden Zeilen kopieren und zusätzlich mit entsprechenden Port hinzufügen.
Beispiel:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Nun könnt Ihr die Verbdinung nach dem speichern testen in dem Ihr folgendes machst:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Wenn jetzt keine Fehlermeldung auftaucht, ist alles korrekt.
Anschließent schaut mit netstat -tulpen ob Ihr einen oder zwei SSH seht, in meinem Beispiel schaut das so aus:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Wenn eure Clients jetzt wie bislang auch eine Verbindung zu homeserver.dyndns.org aufbauen, bekommen Sie folglich nur noch die IP-Adresse des Gateways, in dem Fall proxy.dyndns.org, zu sehen. Auf dem OScam Server wiederrum sieht man als eingehende Verbindung nur die eigene IP-Adresse des Servers.

Nun kommen wir zum großen Finale....wir härten unsere Security mit einer Firewall.
Das ganze entnehmt Ihr bitte diesem Beitrag:
Firewall Script unter Ubuntu 15.x mit Systemd

Bitte achtet darauf, dass Ihr eure Ports individuell sowohl hier als auch im Firewall Script anpassen müsst.

Ein Tip:
Von Themen wie Open Web Application Security Project oder mod_evasive rate ich grundlegend in dieser Konstellation ab. Ebenso wie Fail2Jail und ähnlich, da sich das immer als Nachteilig für den SSH Tunnel erwiesen hat.
Wenn man auf einen SSH Tunnel verzichtet, aber die Reverse Proxy einsetzen will, dann ist es auf jedenfall emfpehlenswert.
Hierzu gibt es
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
auch noch ein bisschen Lesestoff ;)
 
Zuletzt bearbeitet:
AW: Reverse Proxy für IPC / Panel / OScam | SSH Tunnel für den Share

ich gebe zu bedenken, dass die verschleierung der ip nur in eine richtung funktioniert, wenn ich das hier richtig verstanden habe. Alles Clients verbinden sich dann zwar über die Gateway IP, allerdings sehen alle Sharepartner beim User deine reale IP.

Alternativ lässt sich dasselbe mit einem VPN tunnel zu dem Gateway realisieren.
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
. So kann man einstellen, dass z.B. nur der Oscam oder Cccam traffic über dieses Gateway geroutet wird.
Auf der Gateway Seite erstellt man einfach iptables regeln, die den Traffic über bestimmte ports weitergeben:
Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!
Vorteil: Weder die Sharepartner, noch die Clients sehen eure wahre IP.
 
AW: Reverse Proxy für IPC / Panel / OScam | SSH Tunnel für den Share

Man könnte überlegen den Traffic durch eine zusätzliche Reverse Proxy zu Routen. Dann hat man das Problem nicht.

Generell ging es mir primär darum, den Leuten die Proxy näher zu bringen.


Sent from my iPad using Tapatalk
 
AW: Reverse Proxy für IPC / Panel / OScam | SSH Tunnel für den Share

Hi T1x,

erst einmal vielen Dank für deine Anleitung, welche ich als totaler Linux Anfänger gerade mal ausprobieren wollte.
Wenn ich alles richtig verstanden habe, benötige ich ja insgesamt 3 dynDNS Adressen:

1. die bestehende über die sich die Clienten ja jetzt schon verbinden (homeserver.dyndns.org)
2. eine für den V-Server welche du als 'proxy' bezeichnest (proxy.dyndns.org)
3. eine 'geheime' über welche ich dann auf den Server zugreife? (geheimerhomeserver.dyndns.org)

Wenn ich nun davon ausgehe, das ich alle Schritte aus deiner Anleitung auf dem V-Sever ausführen soll?, vermisse ich in der '000-default.conf' oder auch an anderer Stelle die bestehende dynDNS Adresse (homeserver.dyndns.org), den irgend woher muss der V-Server ja auch wissen, wohin er sich verbinden soll? Oder habe ich da etwas übersehen oder grundsätzlich falsch verstanden?

Gruss USCMAI
 
AW: Reverse Proxy für IPC / Panel / OScam | SSH Tunnel für den Share

Hi,

sorry ich war auf Dienstreise...daher komme ich erst jetzt zum antworten.
Wenn ich dich richtig verstehe, hast du folgendes Konstrukt:

1x Homeserver
1x VPS

Das Konstrukt mit drei Adressen bezieht sich darauf, wenn du noch einen Gatewayserver nutzen willst.
Im Falle der einfachen Reverse Proxy und SSH Gateway reichen zwei Adressen:

1x Homeserver, die möglichst nur dir bekannt ist (geheimserhomeserver.dyndns.org)
und
1x VPS, die deinen Clients bekannt ist.

Der User mit Zugriff auf das Userpanel (Homeserver) greift über die Reverse Proxy (VPS) zu.
Das ist in der Conf der dieser Punkt:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Der Servername für die Proxy wäre wie du richtig erkannt hast proxy.dyndns.org
Daher brauchst für die einfache Einrichtung auf nur zwei Adressen....
 
AW: Reverse Proxy für IPC / Panel / OScam | SSH Tunnel für den Share

Hi T1x,

zunächst vielen Dank für deine Antwort, habe die Konstruktion erst beim Einrichten verstanden und das Ganze mal mit dem reverse Proxy eingerichtet. Ports usw. habe ich alles angepasst und der Zugriff auf das Webinterface vom Server (Pogo mit openWRT) und Oscam funktioniert auch bestens.
Auch die autoSSH Anleitung habe ich wie von dir beschrieben abgearbeitet.Die SSH Verbindung ohne Passworteingabe vom V-Server zum Homeserver funktioniert auch, ich lande dann also per SSH auf dem Pogo!
Die Tunnel habe ich ebenfalls wie von dir beschrieben angelegt, IP vom V-Server eingetragen und die Ports sowie dynDNS Adressen angepasst. Nach der Eingabe von ./rc.local gibt es ebenfalls keine Fehlermeldung. Nach der Eingabe von netstat -tulpen werden mir auch die Routen entsprechend angezeigt. Wenn ich jetzt aber die Clienten zum Homeserver via SSH Tunnel verbinden lasse, verbinden sich nur die Clienten welche per cs357x auf den Server zugreifen und bei denen sehe ich auch ihre lokale IP und nicht die des V-Servers...


So habe noch ein wenig weiter damit rumgespielt und den V-Server mal neu gebootet, dann kommt zunächst:
root@xx-xx-xxx-xxx:/etc# ./rc.local
ssh: connect to host xxxxx.cechire.com port 22: Connection timed out

Wenn ich dann mauell eine Verbindung aufbaue ssh xxxxx.cechire.com, verbindet er sich sofort auf den Homeserver.

Die erneute Eingabe ergibt dann aber folgendes:
root@xx-xx-xxx-xxx:/etc# ./rc.local
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: xxxxx
Could not request local forwarding.
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: xxxxx
Could not request local forwarding.
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: xxxxx

Habe alles nochmals überprüft, kann aber keinen Fehler finden, kannst du mir evtl. weiter helfen?

Danke!

Gruss USCMAI
 
Zuletzt bearbeitet von einem Moderator:
AW: Reverse Proxy für IPC / Panel / OScam | SSH Tunnel für den Share

Du musst die SSH Sessions erst killen und dann die rc.local erneut ausführen....da die Ports ja blockiert sind.
 
hi, ich versuche mich auch grade daran und habe 2 Anmerkungen:

1. Ich sehe den Sinn nicht darin das WebIF auf einem Homeserver welcher lokal erreichbar nach aussen zu öffnen. Das sollte nicht gemacht werden und bietet damit mehr Sicherheit. Bei einem Mietserver bzw ein Gerät welches nicht lokal erreichbar ist sieht das natürlich anders aus.
2. autossh ist wirklich toll. Nur sollte bedacht werden, dass bei dem genannten bsp. der rc.local mit dem User root auf den Geheimenhomeserver verbunden wird. Ein Shell Zugang für root sollte aber aus Sicherheitsgründen nicht extra eingerichtet werden. daher lieber mit einem unterprivilegierten User den SSH Tunnel öffnen:

Code:
Du musst dich Anmelden oder Registrieren um den Inhalt der Codes zu sehen!

Ansonsten ein wirklich tolles HowTo! Vielen Dank dafür.

Grüße
 
Guten Abend in die Runde.
So wie ich das verstehe...
Server mit dyn vorhanden... die dyn kennen die clients...
jetzt einen server ( myvirtualserver.com - virtual cloud server 2,5€ ) nehmen... den homeserver nach einleitung einrichten...
brauche noch ne dyn damit ich von aussen auf den homeserv ( geheimserver ) erreichen kann und das wars... für die clients ändert sich nicht und ich bin geschützt... bzw meine ip kennt niemand ? so richtig ?

lg amor
 
Hi,

Deine öffentliche IP wird immer! sichtbar sein, soviel dazu.

Wenn Du jetzt ständig die "...." weglässt, wird das fast lesbar.

Da kriegt man ja Angstzustände.

Gruß

Gesendet von meinem SM-G920F mit Tapatalk
 
Zurück
Oben