fbpx

Podkast 22T37 Firewall Podstawy

Więcej miejsc do posłuchania:

Spotify

WERSJA TEKSTOWA

Cześć, witam Cię w moim podkaście. Dzisiejszy odcinek to zabezpieczanie MikroTika regułami Firewallowymi. Pierwszy podstawowy powód zabezpieczania to jest to, że nie chcemy żeby nas ktoś zhakował. Jaki jest najczęściej wektor ataku? Pierwsza rzecz to jest to niewłaściwa konfiguracja i wystawienie usług do internetu. Pierwszym elementem, który zawsze powinniśmy sprawdzać jest pytanie jakie usługi mamy uruchomione. Tak, żeby wyłączyć wszystko, czego nie używamy. Jest to podstawowa zasada bezpieczeństwa. Drugi element jest taki, że powinniśmy zmienić konto domyślne. Zmienić użytkownika, swoją nazwę, hasło wpisać najlepiej nie trywialne i wyłączyć lub usunąć konto administratora. Po tych dwóch czynnościach możemy przejść do koncepcji budowania naszej polityki bezpieczeństwa w oparciu o Firewall.

Jaki Firewall mamy do dyspozycji na MikroTiku? To jest podejście klasyczne bym powiedział. Bazujemy tutaj na regułach dotyczących sieci, interfejsów, portów, protokołu TCP, UDP. Jest to podejście, które nie jest najnowocześniejsze ale z drugiej strony, jeżeli masz małą sieć MikroTika, to lepiej się zabezpieczyć nawet na takim podstawowym, klasycznym poziomie niż się nie zabezpieczać. Żeby pisać reguły firewall’owe, najpierw trzeba zapytać się czy ja wiem co mojej sieci się dzieje i jakie usługi są uruchomione. Co z czym powinno się komunikować. Jest to najtrudniejszy moment dla większości administratorów ponieważ w większości jest z tym problem, żeby wiedzieć co gdzie działa.

Jeżeli będziesz wdrażał swoje reguły bezpieczeństwa, gdy masz już działającą instalację to jest to element, który na pewno będzie podlegał ciągłym zmianom. Jeśli Twoje środowisko jest mniej lub bardziej dynamiczne, czyli tworzysz nowe serwisy, tworzysz nowe typy dostępów, użytkowników czy to w dostępie zdalnym czy w dostępie lokalnym, to te reguły się będą zmieniać. Będziesz musiał dostosować do aktualnej sytuacji swoje reguły na Firewallu. Z jednej strony wszystko co się dookoła dzieje mówi, że tak należy robić.

Tzw. Zero Trust Access mówi po pierwsze, że dziś podstawowym założeniem dobrych praktyk bezpieczeństwa w zakresie infrastruktury jest przyznawanie dostępu użytkownikom, tylko do tego, do czego powinni go mieć. Ma to sens. Jeżeli patrzysz na różne doniesienia dotyczące ataków to większość z nich dotyczy przejęcia stacji końcowych, przejęcia konta danego pracownika. Czy to jest kontraktor czy pracownik etatowy nie ma to aż takiego znaczenia. Istotne jest, że ten użytkownik ma dostęp do naszej sieci wewnętrznej.

Zapewne chciałbyś mieć dostęp przez internet VPN-owy do infrastruktury, nawet na wypadek jakiś awarii lub nagłego działania. Coś zapewne będziesz wystawiał do internetu. Jeżeli nie masz takiej potrzeby oczywiście najlepiej nic nie wystawiać ponieważ tak zmniejszamy ryzyko potencjalnego nadużycia. W przypadku gdy coś wstawiamy do internetu, warto zastanowić się co to jest i jak odpowiednio stworzyć konfigurację, żeby to było bezpieczne.

Dziś najlepszą rekomendacją w temacie zabezpieczenia dostępu zdalnego są wszelakie typy dostępu VPN-owego. Są one najmniej narażone na ataki. Drugi warunek, który jest konieczny – aktualizacja tych oprogramowań. Znamy przypadki zarówno błędów oprogramowania typu Firewall jak i błędów w innych typach rozwiązań i wszystko, co jest wystawione do internetu i jest nieaktualne, ma daną podatność to jest już łatwym celem dla wszystkich, którzy wyszukują. Internet ma też jeszcze tą niemiłą cechę jednocześnie – i zaletę – zależy co potrzebujesz, że mogą się do Twojego systemu próbować łączyć ludzie z całego świata. Co oczywiście najczęściej nie jest konieczne ale z drugiej strony czy wiesz skąd będziesz Ty lub użytkownicy chcieli się łączyć? Czy np. ktoś będzie wyjeżdżał za granicę? Jeśli wiesz i potrafisz to zrobić to oczywiście najlepiej by było wyciąć możliwość komunikacji z Twoim systemem z Chinami lub Rosją. Gdy wiesz, że taka komunikacja nie powinna mieć w żadnym wypadku miejsca. Jednocześnie wtedy ograniczasz ilość potencjalnych prób ataku z różnych kierunków.

Kolejną rzeczą, jeżeli chodzi o zabezpieczanie – wróćmy trochę do naszej części LAN-owskiej i dostępu użytkowników – jest określenie grup użytkowników. Powinieneś mieć świadomość tego, jakie profile użytkowników, czyli typy dostępów, są dostępne w Twojej lokalizacji. O ile nie zrobisz grubego błędu w dostępie publicznym (interfejsie WAN-owym) to najbardziej ryzykowny sposób dostępu do Twoich danych (ponieważ są one największym zasobem każdej firmy), to dostęp od wewnątrz. Ktoś łapie jakiś malware, wchodzi na odpowiednio spreparowaną stronę. Phishing lub w jakiś innych sytuacjach social engineering-u przekazuje swoje dane, które mogą potem zostać użyte do przejęcia konta.

Niezależnie od tych sytuacji oczywiście warto pracować nad świadomością naszych użytkowników końcowych ale tego tematu dzisiaj nie będę dotykał. Natomiast to, co jest kluczowe z punktu widzenia administratora sieci i zespołu bezpieczeństwa to ograniczenie dostępu dla każdych grup określonych użytkowników do określonych tylko zasobów. Nasz użytkownik, który pracuje np. na systemie SAP nie powinien mieć dostępu do baz backend’owych. Gdy ktoś pracuje w systemie CRM-owym a nie potrzebuje mieć dostępu do sieci zarządzania infrastrukturą, to nie powinien mieć do tego dostępu.

W przypadku samej infrastruktury łatwiej to relatywnie zapewnić, ponieważ dobrą praktyką jest tworzenie dedykowanych sieci zarządzania do których można się dostać przez dedykowane punkty, które możemy lepiej chronić. Stacje przesiadkowe, dedykowane profile urządzeń czy użytkowników, mamy tutaj możliwość sterowania tego typu zakresem. Jeśli masz już ustanowioną taką koncepcję, że Ty do infrastruktury, swojego MikroTika będziesz się łączył tylko z danej sieci zarządzania lub tylko z danej stacji przesiadkowej (jest bezpieczniejsza bo najczęściej jest wykorzystywana tylko do tego celu przesiadkowego), a Twój laptop jest bardziej narażony bo jednocześnie korzystasz z natury rzeczy z rożnych stron, z różnych zasobów, jest większe ryzyko, że możesz trafić na jakiś element, który będzie mógł logować Twoje działania, czy przechwycić dane, które będą służyły do odpowiedniego uzyskania dostępu.

Stacje przesiadkowe są niewątpliwie dobrym pomysłem. Wtedy możesz też jednocześnie bardzo wąsko określić reguły na Firewallu. Mówisz: dobra, to stacja przesiadkowa jedna czy dwie stacje, które masz, mają konkretne adresacje i mogę je dopuścić do zarządzania np przez WinBoxa do mojego MikroTika. Gdy tego nie ma i połączenie jest nawiązywane z innego adresu, to powinno być ono odrzucane. W ten sposób możemy sobie tą politykę kreować. Dużo trudniej przedstawia się sytuacja jeśli po pierwsze nie masz systemu zarządzania tożsamościami użytkowników i ich poziomem dostępu. Mówimy o systemach typu IAM, Identity Management, jakiś AD, centralny system informacji o użytkownikach. Jest to całkowite minimum, żeby móc dalej implementować wyższy poziom bezpieczeństwa. Jak to masz, możesz też rozważyć system dostępu do sieci lokalnej – 802.1x, odpowiednie profile dostępu VPN i wtedy na Firewallu odpowiednio uwzględniać to, jakich użytkowników, o jakich parametrach dopuszczasz do pewnych zasobów.

W przypadku gdy działasz na prostym Firewall’u, jak wspomniany MikroTik, to zazwyczaj musisz się opierać tylko na adresach IP. Co można zrobić ale wymaga to trochę więcej wysiłku administracyjnego i jest też później trudniejsze w dochodzeniu w przypadku jakiegoś incydentu „co się wydarzyło i gdzie” bo musisz dodatkowe logi analizować, żeby przekładać sobie jaki użytkownik miał dany adres IP w danym czasie, w różnych systemach więc jest to problematyczne. Nie mniej jednak zawsze jest tak, że każda organizacja, administrator, działa w ramach możliwości, jakie ma. Różny poziom dojrzałości danego urzędu, firmy, organizacji, pozwala na takie działania na jakie finansowo i zasobów stać daną organizację.

Jeśli masz do dyspozycji tylko prosty Firewall, zrób to co na nim możesz zrobić, żeby móc ograniczyć dany dostęp. Przynajmniej na początku nie jesteś w stanie stwierdzić, jakie systemy w 100% łączą się z jakimi użytkownikami lub innymi systemami więc skup się na tym co wiesz. Gdy nie wiesz o pewnych schematach ruchu, to możesz w trybie akcji allow, czyli przepuszczania ruchu, logować pewne rzeczy i sprawdzać co z czym próbuje się łączyć i zastanowić się wtedy czy to się powinno czy nie powinno łączyć. Na tej podstawie dodawać kolejne reguły. Po dłuższym okresie czasu takich działań i późniejszym aktywnym zarządzaniu i odświeżaniu tych reguł na Firewallu, będziesz miał dużo wyższy poziom bezpieczeństwa na wypadek ewentualnego incydentu: włamania, przejęcia konta, komputera. Dostęp do tych danych będzie dużo mniejszy. Wiadomo, dostęp pełny to najczęściej pojawia się szyfrowanie danych i próba uzyskania okupu.

Systemy backup oczywiście też są na celowniku. Jeśli tylko uda się je namierzyć to też są celem ataku. Jest to kolejny przykład, że jeżeli masz użytkowników końcowych to nie powinni oni mieć dostępu do systemów backup. Bo z jakiej niby racji? Jeśli nawet taki użytkownik końcowy będzie miał jakiś problem i jego stacja zostanie przejęta (on ma nawet dostęp i atakujący też go będzie miał, do jakiegoś serwera np. CRM), to tam może zrobić krzywdę. Gdy Twój backup działa tylko z tym serwerem CRM i jeszcze działa na zasadzie inicjowania połączenia ze strony systemu backupowego i nie ma możliwości z systemu CRM zaatakowania tego backup-u lub jest to przynajmniej mocno ograniczone, to już jesteś bezpieczniejszy. Już masz możliwość ratowania się jakoś z tej trudnej sytuacji. W tą stronę właśnie należy iść. Tworzyć kolejne reguły dla kolejnych scenariuszy dostępu użytkowników, systemów i sobie je dodawać patrząc czy się one sprawdzają. Jeżeli zmienia się Twoja infrastruktura to oczywiście należy te reguły także zmienić.

Na koniec trzy typy przetwarzania na samym MikroTiku. Jest on systemem, który się wprost wywodzi z koncepcji Linuxowej a mamy w niej IP tables, które odpowiadają za przetwarzanie i procesowanie ruchu oraz reguły Firewall’owe. Tak na MikroTiku zaimplementowano trzy kategorie (chain), kategorie reguł. Pierwsza najbardziej popularna jest to forward – reguła, która umożliwia ograniczanie lub wpływanie na ruch dla pakietów, które przechodzą przez ten router. Wchodzą jednym interfejsem, wychodzą drugim. Drugi typ reguły jest to input – reguły, które dotyczą wchodzenia pakietów na nasz interfejs MikroTikowy. Tam są przetwarzane i dotyczą typowo ruchu, który jest związany z samym MikroTikiem czyli najczęściej ruchu zarządczego. Trzeci typ chaina jest to output – zestaw reguł, który stosujemy dla przetwarzania pakietów, które wychodzą z naszego MikroTika. Dzięki temu mamy możliwość na ruch pakietów wychodzących. Najlepiej oczywiście sobie pomóc regułami ustalonych sesji, czyli mamy możliwość ustalania reguł i zmniejszenia tych naszych reguł do sesji, które są jakoś powiązane z prawidłowo nawiązanymi sesjami np. sesje FTP gdzie mamy dwie sesje jedną menagementową, drugą danych. Automatycznie MikroTik jest w stanie skorelować te dwie informacje i odpowiednie reguły na sesje stworzyć. Możemy sobie w ten sposób ułatwić życie a generalnie chodzi o to, żeby panować nad tym, co mamy wpisane w MikroTiku, na Firewallu. Skupiamy się wtedy na kreowaniu reguł, które dotyczą nawiązywania sesji. Z jakiej sieci do jakiej sieci nawiązuje połączenie. Ten pierwszy pakiet nawiązujący skąd idzie dokąd. Dzięki temu mamy możliwość kreowania takiej polityki.

Mam nadzieję, że to było ciekawa. Jeśli masz do tego jakieś pytania to pisz w komentarzu. Dzisiaj Ci dziękuję i do usłyszenia już za tydzień.


Kliknij w obrazek, aby przejść do zapisu na warsztaty

Autor: Darek Koralewski

Od początku swojej kariery, czyli od 2004 roku, zajmuję się sieciami komputerowymi ze szczególnym uwzględnieniem ich bezpieczeństwa oraz sieciami programowalnymi. Mam na swoim koncie całą listę certyfikatów różnych producentów, dwa najważniejsze to te poświadczające najwyższy poziom wiedzy eksperckiej z zakresu rozwiązań Aruba ClearPass ACCX#901 oraz z projektowania sieci opartych o rozwiązania Aruba ACDX#1255. Więcej informacji możesz znaleźć na moich portalach społecznościowych.