Zabudnute schopnosti: SSH dynamic forwarding a.k.a. bezpecne von

05.02.2010 21:30 | bon

Paci sa mi ventylov serial/neserial s nazvom Zabudnute schopnosti a napadlo ma par veci, ktore mozu ludi potesit. Dnes to skusim s velmi uzitocnou drobnostou.

Funkcia, ktoru pouzivam denne, je SSH dynamic forwarding. V skratke zhrniem klasicky SSH forwarding - lokalny a remotny.

Pri lokalnom, ked si spustime zo svojho PC:

ssh -L 2525:127.0.0.1:25 nas.server.niekde

nam zacne na nasom PC na porte 2525 pocuvat forwardovany port 25 z druhej strany. Mozte si teda rekonfignut mailoveho klienta, aby ako SMTP pouzival server 127.0.0.1 a port 2525 (ak to konfiguracia daneho mailservra umoznuje) a posielat maily az po server bezpecnou cestou. Drobnou vyhodou je aj to, ze v hlavicke takto odoslanej spravy bude vidiet ako prvy hop 127.0.0.1 (::1), co nemusi byt vzdy zle:

Received: from moj.pocit.ac.lan (localhost [127.0.0.1])
by mail.serv.er (Postfix) with ESMTP id 25E62A01F63
for <bl@ckho.le>; Tue,  2 Feb 2010 12:54:29 +0100 (CET)

Sumar: lokalny portforward dostane port "zo servra" k "nam". (PC <-- server)

Opacnym smerom nam pomoze remotny portforward:

ssh -R 3389:127.0.0.1:3389 nas.server.niekde

V takomto pripade bude na "druhej strane" - servri pocuvat na localhoste port 3389 nas forwardovany port 3389 (vacsinou remote desktop). Ak ste za NATom alebo nejakym restriktivnym firewallom, mozte takto "pretlacit" svoje porty von (aby boli dostupne z/do internetu, musite si vediet bindnut port na inu IP ako localhost, taktiez otvoreny firewall atd. - vec nastaveni a prostredia).

Sumar: remotny portforward dostane port z nasho PC "von". (PC ---> server)

Konecne k jadru - dynamicke forwardovanie. Doteraz sme forwardovali vzdy len jeden port ktorymkolvek smerom. Pre niektore potreby to staci, ale potencial je vacsi.

ssh -D localhost:8080 nas.server.niekde

Na nasej masine (stroji, odkial sme iniciovali pripojenie) sa nam na localhoste porte 8080 otvori dynamicka proxy. Co dalej? Skusme si to s firefoxom, do URL baru si dajme about:config a nastavme nasledovne parametre:

network.proxy.socks;127.0.0.1
network.proxy.socks_port;8080
network.proxy.socks_remote_dns;true
network.proxy.socks_version;5

Ano, da sa to aj cez Preferences->Advanced->Network prip. cez add-on atd. Ste geeci, pracujte ako geeci :)

Skuste ist napriklad na ip.blackhole.sk. Vase browsovanie ide v smere PC ---(ssh tunel)---> server ---(web)---> blackhole.sk webserver. Webserver na druhej strane teda vidi ako zdroj nie vasu IP, ale IP servra, odkial sa forwardujete dalej. Taktiez DNS resolving prebieha na druhej strane tunela, takze identifikacia toho, co browsujete, je teda tazsia. SOCKS proxy podporuje relativne velke mnozstvo aplikacii, mozte teda nastavit svoj IM klient tak, aby sa pripajal cez proxy, ak neverite sieti v ktorej ste (letisko,hotel,skola..). Moznosti su velke, prijemnu zabavu :).

Pozn.: ak nemate unixovy system, nezufajte, vsetko toto zvladne napriklad aj putty.exe (url). Rozbalte si vetvu Connection -> SSH -> Tunnels. Local/Remote su jasne, Pri Dynamic do source portu napr. 8080, do destination: 127.0.0.1, pripojte sa a postupujte dalej podla receptu.

Pozn.2: nemusi vsetko fungovat, zvacsa sa vsak veci daju nastavit tak, aby to slo (-> comments)

    • Re: SSH dynamic forwarding a.k.a. bezpecne von 07.02.2010 | 21:38
      Avatar blackhole_tommyhot   Používateľ

      Na windows masine nie je odveci vytvorit si *.bat subor a do neho napchat napriklad nieco taketo:

      "C:\Program Files\PuTTY\putty.exe" -D 8080 -P 22 -ssh user@server.com
      ----------
      tommyhot@hackingmachine:~$ "zly zly lunex" &> /dev/null

      • putty 08.02.2010 | 18:14
        Avatar blackhole_srnec   Používateľ

        alebo PUTTY.EXE -load nazov_session
        my paradnoidnejsi pouzivame aj kluce a kopec divnych nastaveni a takto je to pohodlnejsie

        pouzivam tento postup na pripojenie na firemne domino, jediny problem je obnovenie spojenia pri vypadku, nejak som to nerozchodil

        +++
    • Re: Zabudnute schopnosti: SSH 27.10.2013 | 23:30
      Avatar TeeCker   Používateľ

      Perfektné, krásny a kompaktný návod.
      Človek, nemusí googliť ako blázon...hneď aj využijem. :-) :-)
      ĎAKUJEM.