Podstawowe pojęcia
- Terminal - urządzenie umożliwiające człowiekowi przynajmniej wprowadzanie danych do systemu komputerowego (klawiatura, mysz) oraz odczyt wyników jego pracy (monitor). Terminal nie musi znajdować się bezpośrednio przy obsługiwanym systemie, może być do niego podłączony poprzez łącza sieciowe, dzięki czemu można wygodnie pracować z systemami komputerowymi znajdującymi się nawet na innych kontynentach. Jako terminal będzie tu służył domowy komputer PC lub laptop.
- Protokół RDP - Remote Desktop Protocol - protokół sieciowy umożliwiający zalogowanie się poprzez sieć do komputera oraz pracę na nim przy użyciu dostępu do graficznego pulpitu w taki sposób, jakby operator siedział przy docelowym komputerze. Dzięki RDP informacje z klawiatury i myszy podłączonych do komputera przy którym znajduje się operator są przesyłane do komputera zdalnego, a system zdalny odpowiada aktualnym widokiem pulpitu z uruchomionymi aplikacjami reagującymi na przesyłane zdarzenia. Protokół ten umożliwia także udostępnianie niektórych urządzeń takich jak karty inteligentne, schowka systemowego, plików i drukarek z lokalnej maszyny do maszyny zdalnej. Generalnie RDP zapewnia podstawowe funkcjonalności potrzebne do realizacji pracy zdalnej.
- Protokół SSH - Secure Shell - protokół umożliwiający szyfrowany przesył danych przez sieć. Dzięki niemu operator może zalogować się do terminala tekstowego na maszynie zdalnej i wykonywać na niej polecenia systemowe. SSH umożliwia także kopiowanie plików (SCP - Secure Copy), przesyłanie strumieni danych, tunelowanie portów, uruchamianie prostych usług serwera pośredniczącego (proxy), wszystko to szyfrowane. Nawiązanie połączenia wymaga poprawnego zalogowania przy użyciu loginu i hasła lub jeszcze bezpieczniej przy użyciu loginu i klucza (a właściwie pary kluczy: publiczny i prywatny).
- Tunel - zestawienie połączenia między dwoma komputerami (hostami) poprzez sieć komputerową (lokalną lub rozległy Internet) tak, jakby były one połączone bezpośrednio.
- VPN (Virtual Private Network) - Wirtualna sieć prywatna - umożliwia wirtualne "bezpośrednie" podłączenie komputerów do sieci prywatnej (firmowej) poprzez sieć publiczną (Internet). Połączenie to może (a nawet powinno) być dodatkowo szyfrowane i kompresowane.
- localhost - to "wewnętrzna" nazwa naszego komputera o adresie wewnętrznego interfejsu IPv4 127.0.0.1. Interfejs ten nazywany bywa także loopback lub lo. Adres ten posiada każdy typowo skonfigurowany komputer z systemem Windows czy Linux. Dzięki temu uruchamiane programy i usługi mogą się w obrębie komputera komunikować bez wysyłania pakietów do zewnętrznego interfejsu, jest użyteczny przy "tunelowaniu".
RDP poprzez Tunel vs RDP poprzez VPN
Podłączenie się protokołem RDP poprzez tunel można wyobrazić sobie jako podłączenie naszej domowej klawiatury, myszy i monitora bardzo długim kablem bezpośrednio do zdalnego komputera w w pracy. Jednocześnie inne uruchomione programy oraz ruch internetowy na komputerze lokalnym (domowym) nie mają styku z tunelem i tym samym z komputerem zdalnym.
Z kolei połączenie VPN jest jakby zabraniem gniazdka internetowego z pracy do domu i podłączenie się do niego. Często daje to bezpośredni dostęp nie tylko do jednego komputera w sieci, ale i do całych jej zasobów, np.serwerów plików, baz danych czy drukarek sieciowych. Po zestawieniu takiego połączenia oczywiście możemy połączyć się protokołem RDP z komputerem zdalnym w pracy, jednak nasz komputer może mieć dostęp także do innych zasobów, prawdopodobnie będzie korzystał z firmowego serwera DNS (Domain Name System), całość lub część ruchu internetowe będzie przechodzić przez sieć firmową. Na komputerze lokalnym bezpośrednio można otwierać dokumenty z udostępnionych zasobów plikowych firmy czy uruchamiać aplikacje korzystające z firmowych baz danych.
Który zatem model pracy wybrać? Jeśli mamy do dyspozycji służbowy laptop będący pod kontrolą firmowego działu IT, wygodniejsze w użyciu i dające więcej możliwości będzie połączenie VPN. Jednak jeśli incydentalnie (nagła choroba dziecka, wyjazd) trzeba łączyć się z komputera prywatnego lub domowego, do którego dodatkowo dostęp mogą mieć inne osoby (np. rodzina), o wiele bezpieczniejszym połączeniem będzie tunelowane połączenie RDP.
Małe studium bezpieczeństwa
Proszę sobie wyobrazić następującą hipotetyczną sytuację. Pracujemy w kadrach w jednostce administracji samorządowej, 200 zatrudnionych osób. W ostatni dzień przed urlopem kończymy w Excelu sprawozdanie o urlopach chorobowych pracowników potrzebne do naliczenia wypłaty, oddajemy do kierownika, on do płac, my wychodzimy z pracy i idziemy na urlop. W domu mamy jeden wspólny rodzinny komputer. Następnego dnia po południu dzwoni szef, że jeden z pracowników przysłał z opóźnieniem zwolnienie chorobowe i prosi, aby zdalnie nanieść drobną korektę do sprawozdania bo nikt inny zdalnie nie potrafi pracować, a wypłaty muszą już być zrobione. Jesteśmy na urlopie, ale "życie" decyduje tak, że zgadzamy się na poprawkę. Dział IT przysyła maila i instrukcję konfiguracji VPN. Jednocześnie w domu, rano dziecko szukając kodów do gry wyłącza program antywirusowy bo ten blokuje stronę z kodami (co najmniej połowa moich znajomych udostępnia swoje konto z prawami administratora w systemie dla dzieci), ściąga kody a przy okazji ransomware (złośliwe oprogramowanie szyfrujące i żądające okupu), które blokuje program antywirusowy i przechodzi w tryb cichy. Po telefonie szefa konfigurujemy VPN i łączymy się z firmą. Otwieramy z plikowego zasobu sieciowego arkusz Excela i edytujemy. W tym samym czasie ukryty wirus wykrywa akcję połączenia z zasobem sieciowym, skanuje sieć w poszukiwaniu innych zasobów i szyfruje wszystkie pliki, do których mamy dostęp. Po kilku minutach mamy całe kadry zaszyfrowane, łącznie z robionym sprawozdaniem. Reakcji na wirusa już nie muszę opisywać, chyba jest wiadoma.
Cdn...
Przykładowy schemat połączeń tunelowanych