NFsec Logo

Prosty VPN w przestrzeni użytkownika

17/06/2011 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 318, ilość słów: 397)

W

dobie takich wynalazków jak Firesheep lub innego rodzaju natręctw kradnących nasze cyfrowe tożsamości trzeba być ostrożnym przy łączeniu się z różnymi sieciami – szczególnie Hotspotami. Masowe tworzenie lub łączenie się z sieciami przez rasowe tunele VPN nadal pozostaje komfortem dostępnym nie dla wszystkich. Nie wszystkie serwery linuksowe dające nam dostęp do powłoki oferują tego typu usługi. Na szczęście większość z nich umożliwia nam łączenie się przez SSH. I w tym momencie wkracza sshuttle.

Jest to aplikacja napisana w języku Python, która przy użyciu SSH potrafi w locie stworzyć tunel VPN pomiędzy naszą maszyną z Linuksem, BSD lub MAC OS X, a zdalnym systemem oferującym dostęp przez SSH i obsługę Pythona. Napisana przez Avery Pennarun’a i udostępniona na licencji GPLv2 jest transparentnym serwerem proxy, które umożliwia użytkownikom bardzo łatwe udawanie tuneli VPN. Do wykorzystania jej możliwości potrzebujemy jedynie:

  • Klienta wyposażonego np. w system Linux z uprawnieniami administratora
  • Dostęp do zdalnej sieci / serwera poprzez SSH
  • Dostęp do interpretera Pythona na zdalnej i lokalnej maszynie

W celu instalacji sshuttle należy ściągnąć jego kod z repozytorium github.com (git clone git://github.com/apenwarr/sshuttle) oraz uruchomić go na naszym kliencie. Przy samym uruchamianiu programu wymagane są uprawnienia administratora dlatego przed tym faktem najlepiej wykorzystać takie programy su lub sudo. Samo jego użycie jest bardzo proste:

root@darkstar:~# sshuttle -v -r daemon@stardust.nfsec.org:666 0/0
Starting sshuttle proxy.
Listening on ('0.0.0.0', 12300).
firewall manager ready.
c : connecting to server...
The authenticity of host '[nfsec.org]:666 ([1.2.3.4]:666)' can't be established.
RSA key fingerprint is b5:17:d2:92:55:7d:22:72:db:9a:2d:ff:72:d7:70:d8.
Are you sure you want to continue connecting (yes/no)? yes
Permanently added '[nfsec.org]:666,[1.2.3.4]:666' (RSA) to the list of known hosts.
agresor@nfsec.org's password: 
s: available routes:
c : connected.
firewall manager: starting transproxy.
iptables -t nat -N sshuttle-12300
iptables -t nat -F sshuttle-12300
iptables -t nat -I OUTPUT 1 -j sshuttle-12300
iptables -t nat -I PREROUTING 1 -j sshuttle-12300
iptables -t nat -A sshuttle-12300 -j RETURN --dest 127.0.0.0/8 -p tcp
(...)

Od tej pory cały ruch (oprócz DNS) z naszego komputera będzie przepuszczany szyfrowanym “tunelem” przez serwer nfsec.org – tyczy się to zarówno odbierania poczty, oglądania stron WWW czy korzystania z innych aplikacji sieciowych. Jeśli chcemy przepuszczać tylko wybraną sieć przez tunel należy zastąpić wpis 0/0 odpowiednią siecią i jej maską w formacie CIDR np. 192.168.1.0/24. Tunelowanie ruchu DNS jest możliwe wraz z użyciem parametru -dns (starsze wersje programu używały flagi -H).

Więcej informacji: shuttle README

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , , , , , , , ,

Komentowanie tego wpisu jest zablokowane.