Hej!
W sumie ciezko mi powiedziec gdzie ten watek powinien trafic - czy do bezpieczenstwo, czy tutaj czy jeszcze gdzies indziej... a wiec niech bedzie tutaj
Czesc 1
Chcialbym mniej zorientowanym opisac w skrocie co to jest VPN, czym sie rozni od innych tuneli IP-IP, jak mozna go zrealizowac, itp. Na poczatku zaznacze ze moja wiedza nie jest w tej dziedzinie niewiadomo jaka - po prostu jestem od dluzszego czasu uzytkownikiem, mam pewne doswiadczenie w 'oszukiwaniu' sieci poprzez tunelowania polaczen na rozne sposoby i tyle.
Cechy wspolne...
Zarowno VPN jak i inne tunele IP-IP sluza laczeniu dwoch punktow w sieci za pomoca wirtualnego polaczenia realizowanego np. przez siec rozlegla (chocby internet). Obie polaczone w ten sposob sieci beda zachowywac sie tak jakby byly polaczone fizycznie kablem a ruch miedzy nimi (po odpowiednim ustawieniu routingu - tak jak dla zwyklego fizycznego kabla) bedzie przekazywany naszym wirtualnym tunelem. Mozna dzieki temu polaczyc na przyklad biuro w katowicach z biurem w otwocku albo gdziekolwiek indziej gdzie jest internet i stworzyc siec 'lokalna' w ktorej beda sie widzialy wszystkie windowsy (jedno otoczenie sieciowe, itd) i dzialaly wszelkie cuda - jesli oczywiscie admin nie wytnie na firewallu
VPN - Virtual Private Network
Polaczenie jest szyfrowane w locie za pomoca wybranego algorytmu (DES, 3DES, ESP, itd). Autoryzacja partnerow tez opiera sie na metodach kryptograficznych - moze to byc wspoldzielony klucz sesji, moze to byc certyfikat SSL - zalezy od implementacji. Protokoly przyjete do realizacji uslugi VPN sa rozne - np. PPTP, IPSec, L2TP. Po szczegoly odsylam do Wikipedii... Zestawione polaczenie jest przezroczyste...
Powyzej zrzut z mojego domowego routera - jak widzicie 4 sieci (tylko tam gdzie musze miec dostep). Musialem jednak zaslonic nazwy polaczen (mi one sporo mowia, Wam niekoniecznie), adresy drugiego konca tunelu oraz fragmentu pul adresowych dostepnych dla mnie po drugiej stronie.
Wszystkie polaczenia powyzej w standardzie IPSec, szyfrowane DES w locie i autoryzowane skrotem SHA1 z ustalonego hasla. Jak widzicie polaczenia sa do sieci z adresami prywatnymi oraz z publicznymi. Zakladajac ze w domu mam sieci 192.168.0.0/24 to kazda z sieci docelowych jest niejako bezposrednio podlaczona do mojego routera - on wie ze przez ten tunel VPN ma przesylac pakiety do tych sieci.
Co mi to daje? Wiadomo ze do adresow 10.x.x.x nie ma dostepu ze swiata - ale ja moge sie dostac, sa niejako podpiete do mojego routera... Co mi da VPN do sieci z publicznymi IP? Na przyklad dostep do SMTP na porcie 25 a nie na 465 (SMTP z SSL) do wysylania poczty - po prostu polaczenia przychodzace przez VPN moge osobno ustalac jaki ruch zezwalam - osobne ustawienia firewall'a.
Po podlaczeniu sie do ktoregos z systemow do ktorego dostep mam przez VPN jesli kaze wyswietlic skad sie lacze to nie bedzie to moj publiczny IP ktory jest na routerze - bedzie to adres mojego komputera w mojej domowej sieci LAN. Na przyklad serwer majacy tylko adres publiczny nie moze ping'owac mojego komputera w domu, jednak majac VPN jak wyzej taka mozliwosc juz jest (jesli firewall zezwala), tak wiec na drugim koncu tunelu komputery zawsze zobacza mnie jako 192.168.0.nnn
Najczestsze bledy dotyczace VPN
1. VPN to tylko wirtualny kabel ktory moze zapewnic szyfrowanie ale to NADAL TYLKO 'KABEL'
2. VPN nie jest recepta na wszystko
3. VPN nie jest darmowy - ma swoja cene - kodowanie danych zmniejsza wydajnosc transmisji
4. VPN to nie synonim zaufania do zdalnej sieci - to droga miedzy dwoma sieciami z ktorej skorzysta wlamywacz by wejsc do Ciebie 'od kuchni' - ZAWSZE uzywaj firewall'i do filtrowania ruchu VPN
Czesc 2.
Tunele IP-IP - przyklady
Inne mozliwosci tunelowania sa miej lub bardziej zwiazane ze standardami przemyslowymi i maja oferuja rozne poziomy bezpieczenstwa. Najprostsze tunelowanie to tunelowanie poszczegolnych portow przez SSH (nawet z poziomu putty) ale to sa tylko pojedyncze porty. W dalszej czesci opisu nie bede zajmowal sie w ogole kwestia komputerow z systemem Windows - moim skromnym zdaniem szkoda czasu...
VTUN
Bardzo fajny spoob tunelowania polaczen. Umozliwia nam stworzenie wirtualnej sieci. Wymaga aby minimum jeden komputer posiadal legalny adres IP. Dla kazdego tunelu tworzona jest osobna wirtualna karta sieciowa o nazwie tunN. Oczywiscie program wymaga zaladowania modulu tun (tun wkompilowany w kernel na stale nie zawsze dziala - lepiej miec modul).
Mozliwosci: tunele w protokole TCP, UDP, tun (emulacja pelnego protokolu ethernet, surowe gniazda), tty (np polaczenia PPP), kompresja, szyfrowanie - zapraszam do opisu...
Opis: http://www.vtun.info/
Moja opinia: sam czasami uzywam... jesli macie kogos kto udostepni Wam jeden adres IP ze swojej puli to nawet bedac za NAT'em (nawet wielokrotnym!) mozecie miec publiczny IP udostepniony przez znajomego. Nalezy jednak pamietac, ze aby calosc zadzialala trzeba ustawic odpowiednio routing i przekazywanie pakietow (lancuch FORWARD).
stunnel
Mozliwosci: narzedzie do tworzenia tuneli szyfrowanych SSL, doslownie wrapper - mozna zmusic kazda aplikacje aby gadala przez SSL nawet jesli sama tego normalnie nie wspiera
Opis: http://www.stunnel.org/
iproute
Mozliwosci: poza doskonala funkcjonalnoscia do ustawiania parametrow interfejsow sieciowych, ich stanu i tablic routingu pakiet iproute umozliwia rowniez tworzenie polaczen punkt-punkt poprzez internet - oba konce tunelu wymagaja jednak publicznych adresow IP.
Inne projekty w tej dziedzinie:
- 6tunnel
- corkscrew
- freenet6
- l2tpns
- nstx
- openswan
- openvpn
- pptp-linux i pptpd
- udptunnel
Wady i zaletyu rozwiazan innych niz VPN:
Zdania sa dosc podzielone - jedni wola VPN w standardach IPSec, L2TP, itp. Pozostali wola rozwiazania ze tak powiem prostsze. Roznica polega na poziomie bezpieczenstwa, latwosci konfiguracji, wymaganiach.
VPN moze byc kodowany lub nie (wtedy zapewnia jedynie autentycznosc), niektore z pozostalych rozwiazan tez dostarczaja kodowanie, inne nie. Jedne beda tunelowac wszystko (pelen ruch IP), inne jedynie pojedyncze porty.
Zawsze wybierajcie technologie do swoich potrzeb a nie na sile naginajcie potrzeby aby zalatwic je za pomoca technilogii ktora jest dla was latwiejsza w zastosowaniu!
Niektore z wymienionych wyzej projektow sluza wlasnie do zestawiania polaczen VPN ale ten fragment pozostawie celowo 'niedopowiedziany' aby zachecic do dalszej lektury we wlasnym zakresie.
Na koniec przepraszam za potraktowanie po macoszemu pozostalych projektow - niestety brak czasu nie pozwoli mi ich opisac...