Fernwartung über eigenen Proxy (simple)

TommyH99
P E B K A C
Beiträge: 428
Registriert: So 17. Apr 2011, 13:35
Kontaktdaten:

Fernwartung über eigenen Proxy (simple)

Beitrag von TommyH99 »

Da viele von euch gerne extern auf Ihre Webinterface statt Shell zugreifen möchten, weil Sie nicht immer alle Befehle etc kennen oder es gerne "übersichtlicher" hätten. Hab ich für euch eine simple Lösung zusammen geschrieben.

Ihr müsst nur mehr ssh service forwarden und sonst keinen unnötigen Port wie HTTP/CCCAMWEBINF/OSCAMWEBINF etc.(!)

Damit wir das ganze auch sicher machen, legen wir einen extra Shell User an und zugleich verweigern wir "root" den Login.

User anlegen & root login verweigern

.) adduser <usernachwahl>
.) nano /etc/ssh/sshd_config
|_ PermitRootLogin no
.) Test Login mit eurem neuen User, wenn dies funktioniert - könnt Ihr ssh Server neustarten(!)
.) /etc/init.d/ssh restart

Login ist jetzt nur mehr mit dem neuen User möglich(!)
Mittels "su" habt Ihr für die Sitzung wieder root Rechte.

Router Forwading

Auf eurem Router müsst Ihr jetzt den ssh Port forwarden für euren Server. Ich gehe mal davon aus, dass der SSH Port schon geändert ist.

So jetzt kommen wir zu dem Proxy, dafür benötigen wir "Tunnelier Portable" http://tp.vbap.com.au/download
Dies könnt Ihr direkt auf einen USB Stick speichern und von jedem Rechner aus öffnen (!)

Anleitung für Tunnelier
SOCKS Proxy über SSH Verbindung
Tunneliere

1.) Login => SSH Server eintragen (shell user was ihr angelegt habt)
2.) Option => On Login: alles deaktivieren
3.) Service => Enable (Socks/HTTP Proxy): alles so beibehalten
4.) Login


Browser

Proxy aktivieren, siehe Bild

Du bist ab sofort in deinem eigenem Netz zuhause und Surfst jede Seite auch über deine öffentliche IP an!
Und kannst wie zuhause jetzt alles machen ohne Einschränkung!


Ich hoffe es war verständlich für euch!

lG Tommy
Dateianhänge
proxy.png
proxy.png (33.56 KiB) 2512 mal betrachtet
if ($ahnung == false or $problem == true) { read FAQ; use SEARCH; use GOOGLE; } else { use brain; make post; }
TommyH99
P E B K A C
Beiträge: 428
Registriert: So 17. Apr 2011, 13:35
Kontaktdaten:

Re: Fernwartung über eigenen Proxy (simple)

Beitrag von TommyH99 »

SSH + Fail2ban

Damit wir SSH Login noch mehr absichern, können wir fail2ban dazu installieren.

Wenn Ihr fail2ban schon benutzt, bezüglich CCcam, braucht ihr nur einen Eintrag editieren, siehe Punkt 2

Code: Alles auswählen

1.) apt-get install fail2ban
2.) nano /etc/fail2ban/jail.conf
                       |_ Strg + w => ssh [Enter]
[ssh]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
3.) fail2ban neustarten => /etc/init.d/fail2ban restart

Im Logfile müsste jetzt SSH Jail aktiv sein

tail -f /var/log/fail2ban.log
2012-02-01 12:18:31,302 fail2ban.jail : INFO Jail 'ssh' started
if ($ahnung == false or $problem == true) { read FAQ; use SEARCH; use GOOGLE; } else { use brain; make post; }
TommyH99
P E B K A C
Beiträge: 428
Registriert: So 17. Apr 2011, 13:35
Kontaktdaten:

Re: Fernwartung über eigenen Proxy (simple)

Beitrag von TommyH99 »

SOCKS PROXY mittels Terminal
Für OSX und LINUX USER
Terminal etc öffnen

ssh -D 1080 user@sshserver -p PORT

solang diese Session steht, kann man wie im oben im Bild die Proxy Settings vornehmen und los legen!

Vorteil:
MAC/LINUX User brauchen nicht´s installieren nur ihren Terminal öffnen.
if ($ahnung == false or $problem == true) { read FAQ; use SEARCH; use GOOGLE; } else { use brain; make post; }
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Fernwartung über eigenen Proxy (simple)

Beitrag von feissmaik »

Hier ein kleiner Tip damit andere auf euer System über ssh connecten können ohne extra eine Portweiterleitung aktiviert zu müssen ;)

ssh -fN -R remote_port:localhost:22 remoteuser@remote_ip -p7788

Wichtig ist hierbei das -R -> "Reverse" ssh tunnel

Also zum Beispiel: ssh -fN -R 2048:localhost:22 support@ipc.pebkac.at -p7788
Derjenige der dann auf euern Server eine Verbindung herstellen soll gibt dann das ein: ssh -p 2048 localhost

Wenn man das so startet wird auf remote_ip ein lauschendes Socket auf Port 2048 eingerichtet.
Jede Verbindung die dorthin aufgebaut wird, wird durch den SSH Tunnel auf Port 22 auf ‚localhost‘ weitergeleitet (also der Rechner bei dem man diesen Befehlt eingibt). Allerdings lauscht das Socket nur auf Localhost.. Um das wiederum zu ändern setzt man ein " *: " vor den remote_port

Erklärung zu den Parametern:
-f : ssh geht in den hintergrund
-N : ssh baut nur den tunnel auf aber baut kein command stream auf
-R : sagt ssh das es ein reverse tunnel aufbauen soll
2048 : ist der port auf den sich das remote system verbindet
localhost:22 : ist die host und port wohin die verbindung getunnelt werden soll (22 wäre der standard port von ssh)
support@ : als welcher benutzer man sich auf remote_ip angemeldet. es kann auch stattdessen -l <benutzer> genutzt werden ( wobei man für <benutzer> etwas einsetzt also zum beispiel: -l user )
-p 7788 : ist der ssh port von remote_ip (fals nicht standard 22) um eine verbindung aufzubauen




Mehr dazu könnt ihr hier nachlesen:
http://netz10.de/2011/01/10/ssh-tunnel/
http://www.jfranken.de/homepages/johann ... lt.de.html
http://www.brandonhutchinson.com/ssh_tunnelling.html
http://www.howtoforge.com/reverse-ssh-tunneling
http://project-run.com/archives/48-SSH- ... eling.html
Du musst nicht kämpfen um zu siegen
Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste