Korzystanie z VPN riseup
Kategoria: Artykuły, etykiety: riseup, vpn, szyfrowanie, dns, gpg, email
Dodany: 2013-06-29 15:22
Przez: morfik
Wyświetleń: 10326
Co to jest VPN
VPN to nic innego jak tunel łączący dwie odległe od siebie maszyny, które chcą wymieniać ze sobą dane w sposób uniemożliwiający osobom trzecim podejrzenie całej tej komunikacji. Zalety korzystania z takiego dobrodziejstwa natury są oczywiste -- można obejść cenzorów, gdyż cały ruch z naszej maszyny jest przesyłany do serwera w postaci szyfrowanej, a dopiero z tego serwera sygnał idzie dalej świat.
Jest wiele komercyjnych usług, które za drobną opłatą mogą zapewnić nam tego tupu komunikację ale ja nie będę o nich pisał. Bez problemu można je znaleźć w googlu. Mnie interesuje riseup. By móc korzystać z riseup trzeba założyć tam konto, a to z kolei jest przyznawane tym, którzy w jakiś sposób działają na rzecz szeroko pojętej wolności. Ja wysłałem zgłoszenie po przeczytaniu wątku na forum i konto zostało mi przyznane. Dlatego też opiszę jak wygląda konfiguracja VPN i co ona umożliwia
By móc korzystać z VPN potrzebujemy odpowiedniego oprogramowania. W tym przypadku będzie to OpenVPN:
# aptitude install openvpn
Konfiguracja OpenVPN
Możemy albo ręcznie wpisywać wszelkie dane do połączenia albo skorzystać z pliku konfiguracyjnego i w nim podać potrzebne parametry. Skorzystamy z tego drugiego sposobu, bo prościej. Tworzymy zatem plik /etc/openvpn/riseup.ovpn i wklejamy do niego poniższą zawartość:
client
dev tun
proto tcp
port 1194
auth-user-pass /etc/openvpn/riseup_auth
remote nyc.vpn.riseup.net
ca /etc/openvpn/RiseupCA.pem
remote-cert-tls server
persist-key
persist-tun
log-append /var/log/openvpn/openvpn.log
verb 3
auth-nocache
script-security 1
user nobody
group nogroup
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
Serwery do wyboru mamy dwa: seattle.vpn.riseup.net (na zachodzie US) oraz nyc.vpn.riseup.net (na wschodzie US) -- wybieramy ten, do którego jest nam bliżej. Sporo opcji w powyższym pliku trzeba dostosować manualnie, bo nie zawsze mogą one działać w określonych sieciach, gdzie admini nam coś przyblokowali. Prawdopodobnie trzeba będzie pobawić się protokołem (tcp/udp) lub/i portem (1194/443/80).
Musimy pozyskać certyfikat riseup. Można go pobrać z https://help.riseup.net/assets/43052/RiseupCA.pem. Zapisujemy na dysku, a ścieżkę do niego podać w pliku konfiguracyjnym. Musimy także stworzyć plik autoryzacyjny, w którym będą zawarte login oraz pseudo hasło. To nie będzie hasło do konta, które umożliwia nam logowanie się do systemu riseup. Będzie to VPN Secret -- ciąg znaków wygenerowany przez system. W przypadku jego utraty na rzecz osób trzecich, nie uzyskają oni dostępu do naszego konta na riseup.net . Tworzymy zatem plik /etc/openvpn/riseup_auth :
kotbezbutow
lMls2Mk4IasOs0R2psrGtAkcllK
Wersy w pliki konfiguracyjnym VPN odpowiadają kolejno parametrom wpisywanym w linii poleceń i biorąc pod uwagę, że mamy już wszystkie opcje połączenia skonfigurowane, wydajemy komendę:
# openvpn /etc/openvpn/riseup.ovpn
Tunel powinien zostać utworzony. Sprawdzamy czy w ifconfig został utworzony nowy interfejs:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:172.27.100.6 P-t-P:172.27.100.6 Mask:255.255.252.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:26 errors:0 dropped:0 overruns:0 frame:0
TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1944 (1.8 KiB) TX bytes:1904 (1.8 KiB)
Na stronie riseup piszą, by nie podłączać się bez firewalla, gdyż taki VPN obchodzi wszystkie lokalne mechanizmy ochrony i włącza nas bezpośrednio do internetu, tak jak byśmy mieli stałe zewnętrzne ip i całe robactwo może się do nas wpakować. xD Jeśli mamy jakieś regułki w iptables, trzeba pamiętać by dodać odpowiednie wpisy dla nowego interfejsu. W moim przypadku było to:
/sbin/iptables -A INPUT -i tun0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Ja nie korzystam z network managera ale bez problemu można skonfigurować również w nim połączenie VPN. Jest też w planie wsparcie dla VPN w wicd v. > 2.0 . Ale jak widać, ręczne stworzenie połączenia nie jest zbyt skomplikowane i trudne.
Konfiguracja resolvera
Oczywiście samo szyfrowanie komunikacji na nic się nie zda jeśli korzystamy z DNS od naszego ISP. Riseup zapewnia własny szyfrowany DNS (172.27.0.1) i, jak podają, żadne zapytania DNS nie są logowane. W każdym razie można albo się zdecydować na resolver riseup albo skorzystać z innej alternatywy, np. dnscrypt-proxy o którym pisałem tutaj. W każdym razie trzeba pamiętać by zaszyfrować ruch również DNS.
Jeśli chcemy skorzystać z DNS riseup, możemy również doinstalować w tym celu resolvconf , który to zmieni nam automatycznie (przy pomocy skryptu /etc/openvpn/update-resolv-conf) resolver na szyfrowany przy każdym łączeniu się do VPN. Ja jednak wolę polegać na manualnej konfiguracji niż na automatach i ręcznie dopisuję odpowiedni adres w /etc/resolv.conf . Trzeba tylko pamiętać by skonfigurować w naszym systemie programy, które manipulują tym plikiem.
Test połączenia VPN
By przekonać się i sprawdzić czy faktycznie ruch jest przepuszczany jest za pośrednictwem VPN riseup, wchodzimy na pierwszą z brzegu stronę sprawdzającą adres ip. Ja korzystałem z http://whatismyipaddress.com/ . Poniżej wynik:
IP Information: 199.254.238.136
ISP: Riseup Networks
Organization: Riseup Networks
Services: None Detected
Country: United States
Właśnie przeprowadziłem się do US. xD Jednak jest mały problem -- połaczenia vpn, zwłaszcza te darmowe jak riseup, czasem nie są zbyt szybkie. W prawdzie nie ma co porównywać do TORa ale pingi mówią same za siebie:
$ ping wp.pl -c 3
PING wp.pl (212.77.100.101) 56(84) bytes of data.
64 bytes from www.wp.pl (212.77.100.101): icmp_seq=1 ttl=235 time=504 ms
64 bytes from www.wp.pl (212.77.100.101): icmp_seq=2 ttl=235 time=446 ms
64 bytes from www.wp.pl (212.77.100.101): icmp_seq=3 ttl=235 time=473 ms
--- wp.pl ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 446.842/474.946/504.414/23.523 ms
Inne usługi riseup
Dobrze wiedzieć, że riseup dostarcza nie tylko usługę VPN ale także pocztę, w której mamy obsługę kluczy szyfrujących gpg/pgp. Jeśli nie posiadamy swoich kluczy, riseup może nam je wygenerować. Miejsca w skrzynce, co prawda, nie ma jakoś stosunkowo dużo -- w moim przypadku to 100 MiB ale mi to spokojnie wystarczy, poza tym, mam skonfigurowanego thunderbirda i nie trzymam ważnych wiadomości na serwerach mailowych, bez względu na to czuje one by to nie były. Załączniki mogą być wielkości max. 2 MiB. Także, pod względem przesyłania plików nie może się równać z gmailem. Ale za to gmail nie może się pochwalić szyfrowaniem wiadomości -- coś za coś. No i oczywiście mamy możliwość rejestracji w serwisach, gdzie gmail i inne podobne korporacyjne usługi nie mają wstępu, np. na forum truecrypta. :)