Proxy-Server umgehen – proxytunnel,ssh socks5, proxychains

Thursday, 4. November 2010

Sitzt man hinter einem ISA oder einem anderen Firewall/Proxy-Server, so sind meist die wichtigen Ports für SSH, IMAP oder FTP geschlossen und somit die Nutzung dieser Dienste unmöglich. Hat man Zugriff auf einen SSH Server irgendwo im freien Internet kann man folgendes Szenario anwenden um diese Restriktion zu umgehen.

Kurzzusammenfassung:

  1. Der openssh-server wird so konfiguriert, dass er über einen erlaubten Port ansprechbar wird. zB.SSL:  443 (Welcher zumeist offen ist! Falls der SSL Port zu ist und am Server kein Apache läuft kann man auch Port 80 missbrauchen)
  2. proxytunnel wird verwendet um über den ISA einen HTTP Tunnel aufzubauen und SSH durchzuschleifen.
  3. ssh wird verwendet um einen socks5 proxy zu erstellen und einen tunnel zum openssh-server aufzubauen.
  4. proxychains wird konfiguriert sämtlichen traffic über den socks5 proxy zu leiten.

ad 1) am server sshd_config editieren und den Port auf dem der openssh-server lauscht auf 443 stellen:

sudo nano /etc/ssh/sshd_config
Port 443

ad 2) am client proxytunnel installieren und ssh so konfigurieren, dass es beim Aufruf des Hosts “foobar” diesen verwendet.

sudo apt-get install proxytunnel
nano ~/.ssh/config
Host foobar
ProtocolKeepAlives 30
ProxyCommand /usr/bin/proxytunnel -p proxy.server.at:8080 -u user -s password -d xapient.net:443
foobar The symbolic name of the host you want to connect to
proxy.customer.com The host name of the proxy you want to connect through
8080 The port number where the proxy software listens to
user Your proxy userid
password Your proxy password
xapient.net The hostname of the box you want to connect to (ultimately)
443 The port number of the SSH daemon on mybox.athome.nl

Falls der Proxy keinen Benutzernamen und kein Passwort benötigt kann man diese Optionen weglassen. Gibt man nur -u an so wird man nach dem Passwort gefragt. Es kann auch notwendig sein die Domäne mitanzugeben. Hierfür ist der Parameter -t (zB. -t mydomain)

ad 3) ssh socks5 auf Port 1080 und tunnel zum openssh-server aufbauen

ssh -D 1080 root@foobar -p 443

ad 4) proxychains.conf editieren, sicherstellen dass strict_chain und proxy_dns auskommentiert sind und den lokalen SOCKS5 der [ProxyList] hinzufügen.

sudo nano /etc/proxychains.conf
socks5  127.0.0.1 1080

Nun kann man zb. Dolphin starten um über FTP auf den Server zu zugreifen:

proxychains dolphin

2 Responses to “Proxy-Server umgehen – proxytunnel,ssh socks5, proxychains”



  1. xapient Says:

    Sollte der ISA Server NTLMv2 zur Authentifizierung verwenden wird diese Methode bereits beim ersten Schritt (ssh durch http tunnel) scheitern.

    Hierfür werde ich sobald ich Zeit finde eine bessere Lösung veröffentlichen.



  2. registrera domän Says:

    Great post. I was checking continuously this weblog and I am impressed! Extremely helpful information specially the closing part 🙂 I handle such info much. I used to be looking for this certain information for a long time. Thank you and good luck.