Wszyscy świadomie albo nieświadomie korzystamy z jakichś protokołów. Gdybyśmy chcieli z nich całkowicie zrezygnować musielibyśmy nie tylko zrezygnować z używania Internetu ale również z telefonu. Protokoły to standardy komunikacji obejmujące specyfikację sprzętu oraz wymiany danych między odbiorcą i nadawcą. Protokoły co do zasady programowane są w taki sposób, aby służyły użytkownikom długie lata i mogły być zachowane w trakcie aktualizacji programów, które je wykorzystują. Czyli aktualizując jakiś program z wersji 10 do wersji 11 możemy się spodziewać, że nowa wersja będzie używać dokładnie tego samego protokołu do swoich celów. Czyli program po aktualizacji uzyskuje nowe funkcjonalności, ale protokół, z którego korzysta bardzo często pozostaje taki sam. Ale mało kto mówi o tym, że tak samo jak oprogramowanie, protokoły również się starzeją i muszą co jakiś czas być aktualizowane. Taka potrzeba zachodzi faktycznie dość rzadko. Jednakże, jeśli wszystko wskazuje na to, że używamy jakiegoś starego protokołu, który jest już dzisiaj uznawany za niebezpieczny, albo doczekał się znacznie lepszego zamiennika, bardzo poważnie należy się zastanowić nad aktualizacją. W dzisiejszym odcinku wymienimy 5 protokołów, na które warto uważać z różnych powodów, a są nadal dość popularne.
Co do zasady protokoły aktualizowane są razem z oprogramowaniem albo systemem operacyjnym. Kiedy zaktualizujemy oprogramowanie po prostu wybierzemy w ustawieniach programów, z których protokołów chcemy korzystać. Z listy dostępnych protokołów należy po prostu wybrać ten, który będzie bezpieczniejszy, albo bardziej wydajny. Zatem jeśli ktoś z Panstwa używa jednego z protokołów, które zaraz wymienię zachęcam do przejrzenia alternatyw. Nie ma tu konieczności instalowania niczego poza oprogramowaniem a dobrym pomysłem jest dokonanie raz na rok przeglądu dostępnych protokołów w naszych programach.
Pierwszy protokół, na który zawsze należy uważać to FTP czyli File Transfer Protocol, niezwykle popularny protokół do przesyłania plików. Początki FTP sięgają wczesnych lat 70, kiedy to nazwa “Internet” dopiero się wykuwała w społeczności akademickiej, a o hakerach nie było za bardzo mowy. W tamtych czasach nie myślano za bardzo o tym jak zabezpieczyć dane w trakcie przesyłania między komputerami. I w ten sposób stworzono standard, który wszelkie nazwy użytkowników i ich hasła w trakcie autoryzacji przesyła otwartym tekstem. Nie są zaszyfrowane, więc każdy kto jest w stanie przechwycić naszą komunikację używającą tego protokołu bardzo łatwo przeczyta te poręczenia i jeśli będzie chciał, wszystko co pobieramy lub wysyłamy. FTP na swoje czasy był świetnym protokołem, ale na dzien dzisiejszy nie spełnia podstawowych standardów bezpieczenstwa. Wyobraźmy sobie taki scenariusz. Załóżmy, że posiadam swoją własną stronę internetową na jakimś serwerze. Wszelkie pliki z grafiką czy kodem tej strony wysyłam tam przez FTP. Ktoś podsłuchał moją komunikację i szybko poznał mój login i hasło. Chyba najprostsze co taki haker może zrobić to zalogować się na moją stronę i zacząć hostować jakąś zawartość, która zaszkodzi wizerunkowi firmy. Ale to byłoby chyba za proste. Przecież dość szybko się dowiem, że coś jest nie tak i szybko zacznę działać. Nauczę się, żeby więcej wagi przykładać do bezpieczenstwa i po prostu zacznę się przygotowywać na takie sytuacje. A co, jeśli haker będzie sprytniejszy? Zamiast robić coś co natychmiast przyciągnie uwagę postanowi umieścić na serwerze coś co długo pozostanie niezauważone. Może będzie to koparka kryptowaluty? Może dołączy serwer do botnetu, albo będzie wysyłać spam? Albo jeszcze gorzej, zacznie sprawdzać czy mój mail też nie ma takiego hasła jak do FTP. A jeśli nie mam wszędzie innego hasła to do ilu serwisów dałem mu w taki sposób dostęp? Scenariuszy mógłbym mnożyć znacznie więcej. FTP jest dzisiaj jednym z najmniej zabezpieczonych protokołów, a mimo to bardzo często spotykam się z jego rutynowym stosowaniem. Jeżeli dokładnie nie znam drogi komunikacji pomiędzy moim laptopem a serwerem docelowym, nie używam tego protokołu, gdyż jest to po prostu niebezpieczne. Istnieją dobre zamienniki dla FTP i są łatwo dostępne. Jeden nazywa się SFTP a drugi FTPS. Oba są de facto protokołem FTP, ale z dodatkowym tunelem szyfrującym zapewnianym przez inne, nowsze technologie. Protokoły te zapewniają bezpieczeństwo i pewność, że serwer, z którym się łączymy jest faktycznie tym, za którego się podaje. Zwykły FTP polegał po prostu na zaufaniu. Musieliśmy ufać, że serwer docelowy faktycznie jest tym za kogo się podaje. Ogólnie nie skreślam całkowicie FTP. Do transferowania jakichś publicznych danych albo wewnątrz jakiejś sieci prywatnej nadal może się przydać. Jedynie uczulam na aspekt bezpieczenstwa dotyczący internetu, czyli sieci niezaufanej. Jeśli nasza komunikacja przechodzi przez Internet, musimy zawsze brać pod uwagę, że ktoś może obserwować, a FTP nie zabezpieczy nas przed tym.
Drugim protokołem, którego już nie warto używać jest POP3 czyli Post Office Protocol wersja 3. Jest to już dość leciwy protokół służący do pobierania wiadomości e-mail z serwera za pomocą takich klientów poczty jak na przykład Thuderbird. Protokół ten ma dość ograniczone możliwości. Na przykład daje możliwość pobrania wiadomości e-mail wyłącznie w całości. Nie można pobrać samego nagłówka wiadomości za pomocą tego protokołu lub zrezygnować z pobierania rysunków, tym samy pobierając jedynie tekst. Ile to razy zdarzyło się nam otrzymać powiadomienie, że dostaliśmy wiadomość, która ewidentnie nas nie interesuje. Na przykład otrzymaliśmy ofertę zniżki na jakiś produkt i niefrasobliwie zapisaliśmy się na jakąś listę mailingową. Widząc nagłówek takiej wiadomości od razu wiemy, że za moment wyląduje ona w koszu. Niestety z protokołem POP3 możemy jedynie pobrać całą taką wiadomość na swoje urządzenia, po czym ją usunąć. Stwarza to dodatkowe zagrożenie. Jeśli wiadomość jest zainfekowana to pobierzemy ją do siebie w całości, razem ze złośliwym kodem. Jeśli skasujemy wiadomość od razu pewnie nic się nie stanie, ale po co stwarzać kolejne niebezpieczne sytuacje oraz generować niepotrzebny ruch w sieci?
W dzisiejszych czasach większość z nas posiada kilka kont e-mail. Nawet jeśli ktoś stara się minimalizować liczbę skrzynek mailowych to zazwyczaj posiada przynajmniej dwie, jedną prywatną i jedną do pracy. Jeśli użyjemy POP3 do synchronizowania naszych wiadomości z naszym komputerem, wszystkie te wiadomości wylądują w jednym katalogu. Tracimy w ten sposób naturalny podział maili na sprawy osobiste i służbowe. Dodatkowo prawie zawsze domyślnym ustawieniem klientów pocztowych jest pobranie wiadomości z serwera i skasowanie jej stamtąd. W efekcie tego mail, który otrzymaliśmy jest w zasadzie przenoszony i jak już trafi na jedno z naszych urządzen, nie może trafić na inne, ponieważ z serwera został już skasowany. Powstaje więc chaos w wiadomościach. Jedne mamy na smartfonie, inne na laptopie i jeszcze inne na tablecie. Nigdzie nie mamy wszystkich. Zazwyczaj klienta poczty można skonfigurować tak, aby jednak pozostawiał maile na serwerze, ale trzeba o tym zawsze pamiętać, kiedy tylko konfigurujemy nowego klienta, na przykład w nowym laptopie albo smartfonie. Dobrym zamiennikiem dla POP3 jest protokół IMAP. Rozwiązuje on wszystkie wyżej wymienione problemy. Może pobierać zarówno wiadomości całe jak tylko ich części. Możemy zatem widząc sam tytuł i nadawcę wiadomości zarządzić zdalne usunięcie wiadomości, bez potrzeby pobierania jej do siebie lokalnie. IMAP umożliwia synchronizowanie wielu katalogów i wielu skrzynek mailowych z zachowaniem struktury katalogów. Jeśli więc mamy kilka skrzynek mailowych i różne katalogi IMAP zachowa całą tę strukturę po synchronizacji. IMAP standardowo maile synchronizuje, czyli zrównuje stan nowszy ze starszym. Jeśli jakaś zmiana pojawiła się na serwerze, na przykład nowy mail, stan na naszym urządzeniu zostanie zakutalizowany. Natomiast jeśli to na naszym urządzeniu zajdzie zmiana, stan na serwerze zostanie zaktualizowany. Zatem aby coś skasować z serwera, wystarczy, że skasujemy to u siebie lokalnie. IMAP jest bez wątpliwości lepszym protokołem niż POP3, dla tego warto się nim zainteresować.
Trzeci protokół powinno się właściwie od razu wszędzie wyłączyć. Chodzi mianowicie o WEP czyli Wired Equivalent Privacy. Pamiętamy, że urządzenia bezprzewodowe łączą się z siecią za pomocą fal radiowych. Skoro są to fale radiowe, to żeby podsłuchać całą komunikację wystarczyłoby po prostu mieć antenę o odpowiedniej częstotliwości, stanąć z nią wystarczająco blisko i zacząć odbieranie. WEP został wprowadzony w 1997 roku w celu zabezpieczenia tej komunikacji. Skoro nie można ukryć nadajnika i odbiornika, należy wysyłane i odbierane wiadomości zaszyfrować. Dzięki temu po mino tego, że wiemy które urządzenie nadaje i które odbiera, nie będziemy wiedzieć jaka jest treść takiej komunikacji. Celem protokołu WEP było właśnie zapewnienie takiego szyfrowania. Niestety z czasem, kiedy moc obliczeniowa komputerów urosła, złamanie WEP stało się dość proste. Dzisiaj po zebraniu odpowiednio dużo danych za pomocą takiej anteny, proces łamania hasła może potrwać poniżej 60 sekund. Co prawda WEP od roku 2004 jest uznawany za przedawniony, nadal można się zetknąć z urządzeniami, które wciąż go używają. Zachęcam do niezwłocznego przejrzenia ustawien swojego routera WiFi i zastąpienia standardu WEP nowszym WPA2 i ustawieniem silnego hasła złożonego z przynajmniej 16 znaków. Jeśli Panstwa router wspiera jedynie standardy WEP lub WPA i nie wspiera przynajmniej WPA2, poważnie zastanowiłbym się nad wymianą takiego urządzenia na nowsze. Zachęcam do przeglądu swoich urządzen i oczywiście zmiany standardowego hasła na dłuższe i trudniejsze.
Czwarty protokół, na który należy uważać to HTTP. To ten właśnie protokół, którego używamy do zaglądania na jakąś stronę internetową i również ten sam, którego zazwyczaj używają aplikacje naszych smartfonów, aby połączyć się ze swoimi serwerami. Na wstępie tutaj nadmienię, że nie da się całkowicie przestać korzystać z HTTP. W erze aplikacji webowych HTTP jest całkowitą podstawą. Pragnę jedynie uczulić Panstwa na różnicę pomiędzy HTTP oraz HTTPS. HTTPS to w zasadzie HTTP z dodatkowym tunelem szyfrującym gwarantującym bezpieczenstwo i umożliwiającym weryfikację czy serwer, z którym się łączymy jest faktycznie tym, za co się podaje. Kiedy łączymy się z jakąś stroną internetową przez HTTP, każde urządzenie na drodze komunikacji pomiędzy nami a serwerem jest w stanie “zobaczyć” to co robimy. HTTPS poprzez zapewnienie szyfrowania nie tylko ukrywa to wszystko, ale również umożliwia weryfikację nadawcy. Podawanie jakichkolwiek haseł przez HTTP lub pobieranie ważnych dla nas plików może być ryzykowne. Z drugiej jednak strony, jeśli szukamy strony internetowej naszego dentysty tylko po to, żeby znaleźć tam numer telefonu by się umówić na wizytę, można uznać, że dodatkowe bezpieczenstwo nie jest aż tak ważne. Oczywiście kwestię poczucia prywatności pozostawiam już każdemu słuchaczowi do oceny według własnych standardów. W każdym razie używanie HTTP bez dodatkowej warstwy bezpieczenstwa może być do zaakceptowania, w zależności od konkretnego przypadku. Niestety do dnia dzisiejszego widuję niezabezpieczone strony internetowe z formularzami kontaktowymi, gdzie trzeba podać swoje dane osobowe i numer telefonu. Odradzam ufanie takim stronom. Zapewnienie HTTPS jest już dzisiaj bardzo tanie, więc jego brak jest w mojej ocenie oznaką niedbalstwa. A rozpoznanie czy używamy HTTPS jest bardzo proste. Wystarczy w pasku URL na górze okna naszej przeglądarki poszukać kłódeczki albo symbolu certyfikatu. Kiedy to klikniemy powinniśmy być w stanie obejrzeć certyfikat bezpieczenstwa. Hasła, loginy, dane osobowe, finansowe czy właściwie cokolwiek co powinno pozostać niejawne powinno być przesyłane przez HTTPS a nie przez niezabezpieczone HTTP.
Ostatnim protokołem, na który trzeba uważać jest SMB w wersji 1. Pewnie część z Panstwa zastanawia się co to w ogóle jest SMB i do czego służy. Otóż SMB czyli Server Message Block to protokół wykorzystywany w systemach Windows do udostępniania plików i drukarek w sieci. Jest najpopularniejszym protokołem do takich zastosowan. Doczekał się już wersji 2 oraz 3 i nowszych. Jednakże z punktu widzenia bezpieczenstwa powinien nas najbardziej interesować SMB w wersji 1, czyli w skrócie SMBv1. Historia tego protokołu sięga wczesnych las 80 ubiegłego stulecia. SMBv1 został uznany za przedawniony w roku 2013 i na nowszych systemach operacyjnych nie jest domyślnie instalowany. Jednakże nadal wiele starych urządzen, jak na przykład drukarki sieciowe albo serwery plików wciąż używają tego protokołu. Większość ludzi uznaje, że skoro coś działa, to nie ma potrzeby jego wymieniania. I tak oto bardzo często utrzymujemy bardzo starą infrastrukturę, kiedy laptopy i smartfony wymieniamy znacznie chętniej. A żeby urządzenia te działały ze starą drukarką czy serwerem plików, nieraz sami świadomie uruchamiamy przestarzały protokół. W maju 2017 roku została opublikowana cała grupa podatności protokołu SMBv1, zwana EthernalBlue. Używając tych podatności, haker jest w stanie uruchomić praktycznie dowolny kod na serwerze obsługującym ten protokół albo spowodować zablokowanie łączności. Również w 2017 roku doszło do masowego ataku hakerskiego na komputery z systemem Windows, które używały tego protokołu. Maszyny te zostały zainfekowane złośliwym oprogramowaniem zwanym WannaCry albo WannaCrypt, który szyfrował całą zawartość ich dysków i żądał okupu za ich odszyfrowanie. Szacuje się, że zainfekowano w ten sposób około 300 tysięcy komputerów w prawie 100 krajach. Uczciwie należy tutaj przyznać, że korporacja Microsoft udostępniła poprawki do SMBv1, ale szacuje się, że wciąż narażonych może być około miliona starych urządzeń, które nie zostały zaktualizowane. Zachęcam do sprawdzenia czy przypadkiem jedno z Państwa starszych urządzeń nie używa SMB w wersji 1. Możliwe, że całe lata urządzenie będzie służyć bez problemów. Wystarczy jednak, że komuś znajomemu podamy hasło do wifi, albo sami w swoim laptopie przyniesiemy nieświadomie jakiś szkodliwy kod do domu i możemy paść ofiarą ataku. Nie warto ryzykować, szczególnie jeśli przechowujemy jakieś ważne pliki na serwerze z tym protokołem.
Podobnie jak oprogramowanie, protokoły również się starzeją i są wycofywane. Wymienione wyżej nie wyczerpują listy podatnych lub przestarzałych protokołów nadal będących w użyciu. Jednakże pięciu wymienionych protokołów możemy nieświadomie używać w domu albo w biurze. Są w zasadzie częścią naszego codziennego życia, kiedy to inne, które postanowiłem pominąć mogą już należeć głównie do zainteresowań administratorów sieci. Ale niezależnie czy używamy swojej małej sieci domowej czy chodzimy do biura, powinniśmy uważać na wymienione protokoły. Jedne z nich mogą nam po prostu przedłużyć czas pracy, a inne narazić nas na duże straty. A to jak używamy swoich komputerów i jak zabezpieczamy swoją sieć, zależy już tylko od nas.