Podkast 23T6 ZTNA-VPN per Aplikacja

Więcej miejsc do posłuchania:

Spotify

WERSJA TEKSTOWA

Cześć. Witam Cię w dzisiejszym podkaście. Temat to ZTNA a konkretniej tunele aplikacyjne. Co to jest ZTNA? Zero Trust Network Access – koncert wyartukuowany m.in. przez Gartnera. Chodzi o to, aby podwyższać poziom bezpieczeństwa w naszej sieci ograniczając ilość aplikacji, którą dany użytkownik może osiągnąć przy dostępie sieciowym do naszej infrastruktury.

Jak to zrobić? Przede wszystkim, jeśli chodzi o Gartnera to mówi o trzech rzeczach. Informacja o użytkowniku – musimy mieć informację z jakiegoś wiarygodnego dla nas źródła, co to jest za użytkownik. Najczęściej jest to Active Directory. Po drugie musimy mieć informację o kontekście, czyli z jakiego urządzenia się łączy, czy to urządzenie ma odpowiedni patching, czy jest to urządzenie mobilne, stacjonarne, czy jest to system Windows, Mac OS itd. Czyli mamy kontekst, no i na koniec dajemy dostęp do infrastruktury, do sieci, do aplikacji tylko w takim zakresie, który jest dla nas zaufany.

Najpierw mamy logowanie, potwierdzanie, że ten użytkownik z tego urządzenia może się udać do tego zasobu a następnie mamy udostępnianie zasobu. Ten zasób najczęściej, najlepiej by było gdyby był udostępniony w ramach konkretnej aplikacji. Czyli mamy jedną aplikację np. Office 365 lub inną i wiemy, że ten konkretny pracownik, który wykonuje te konkretne zadania, ma dostęp do tych konkretnych aplikacji. Brzmi świetnie? Oczywiście, że tak. Z punktu widzenia każdej osoby, która się zajmuje bezpieczeństwem albo przynajmniej się z nim styka ta koncepcja jest super. Natomiast z punktu widzenia administratora infrastruktury już tak kolorowo nie jest.

Dlaczego? Po pierwsze chodzi o to, że sama koncepcja dawania dostępu per konkretna aplikacja oznacza, że będziemy mieli dużo użytkowników o różnych profilach. Czyli np. pracownik na recepcji będzie miał inny zestaw aplikacji do których ma dostęp. Prezes będzie miał inny zestaw aplikacji. Ktoś w biurze od księgowości będzie miał inny zestaw aplikacji. Czyli tych ról i potencjalnych zestawów tego do jakich aplikacji się łączy dany użytkownik będzie bardzo dużo. To powoduje problem z zarządzaniem. Jak się nie ma właściwego narzędzia to w zasadzie ten super koncept jest nie do wdrożenia.

Kolejna rzecz, to trzeba mieć rozwiązania VPN’owe, rodzaj tunelu albo rozwiązania NAC’owe – Network Access Control w ramach sieci korporacyjnej, które będą nam filtrować ten ruch per aplikacja. To też nie jest wcale takie trywialne i oczywiste. Spójrzmy najpierw na aspekt VPN’a. Czyli dostęp zdalny, klasyczny. Najczęściej jak realizujemy taki dostęp to mamy przy rozwiązaniach już bardziej zaawansowanych jakiś dostęp i trasę routingu. Domyślną trasę lub speed tunneling w zależności od tego, jak implementujemy i jaki mamy tam zaimplementowany jakiś rodzaj filtrowania.

Prosty rodzaj to jest oczywiście per IP, per port czy warstwa trzecia, czwarta modelu ISO/OSI ale jeżeli chcieli byśmy mówić o aplikacjach to już to rozwiązanie VPN’owe musi mieć możliwość rozpoznawania aplikacji, wykrywania aplikacji. Chyba, że rozumiemy tą aplikację tylko na warstwie trzeciej i czwartej. To jest tam różnie w zależności od aplikacji. Niektóre są dynamiczne więc nie jest to tak prosto tylko w określeniu o adres IP i port. Jeśli to my kontrolujemy aplikację, jest z tym trochę łatwiej bo to my decydujemy na jakich portach działa dana aplikacja.

Idealnie byłoby gdyby nasz system wymuszania czyli ten enforcement tak zwany był związany z wykrywaniem aplikacji a nie tylko z samym IP i numerem portu. Gdy mamy takie rozwiązanie VPN’owe – tu w zasadzie tylko komercyjne rozwiązania wchodzą w grę, żadne Open Source nie ma takiej możliwości a przynajmniej nie widziałem. Jeśli widziałeś to napisz w komentarzu, chętnie się zapoznam. W każdym razie jeśli mówimy o zaawansowanym poziomie bezpieczeństwa to zdecydowanie już rozwiązania płatne bo są one po prostu mocniej developowane niż Open Source.

Jeżeli chodzi o rozwiązania NAC, czyli patrzymy teraz od kontekstu naszej sieci biurowej. Mamy tutaj naszego pracownika, załóżmy, że jest to ta pani na recepcji, ona przychodzi do pracy, załóżmy, że ma swojego laptopa no i wpina się czy kablowo czy bezprzewodowo do naszej infrastruktury w firmie i ma otrzymać zestaw aplikacji. Np jakaś aplikacja rejestrująca gości czy rozdająca hasła jednorazowe do sieci wifi, tego typu aplikacje. Teraz żeby ją rozpoznać to musimy ją uwierzytelnić, czyli zapewne musimy mieć konto w AD – ok, to jest najczęściej zrealizowane. Po drugie musimy wiedzieć, że ta grupa w AD to jest ten rodzaj profilu i tu już się zaczyna trochę ciężko bo jeśli mamy tych profili 5, 10, 20 to tych grup zrobimy 20 ale jak już byśmy chcieli to robić tak docelowo, czyli na zasadzie: ten pracownik ma w zasadzie swój indywidualny profil a tamten ma inny indywidualny i tych profili mamy na setki to już ręcznie robi się to bardzo trudne do zarządzania. Administracyjnie nawet tworzenie, usuwanie grup będzie po prostu operacyjnie nie do zrobienia.

W związku z tym, już musimy obniżyć swój poziom bezpieczeństwa chyba, że mamy automatyzację, która nam odpowiednio tego pracownika tam wyposaża w dodanie do grupy AD, usunięcie z niej. Jeśli bazujemy tylko na AD. Wyobraźmy sobie że mamy np. bazę administratorów w innym systemie, gdzie konkretnie AD nie jest wykorzystywane. Wtedy jeszcze potrzebujemy system typu IAM – Identity Manager, który będzie zarządzał tym, gdzie wpisuje konta jeśli pracownik jest zatrudniany a gdzie to konto usuwa jeżeli pracownik jest zwalniany czy odchodzi z firmy.

To są rzeczy, które warto rozważyć ale wróćmy do przykładu troszkę prostszego. Mamy AD, mamy naszego pracownika recepcyjnego i chcemy, żeby on konkretnie dostał dostęp tylko do konkretnych aplikacji. System NAC w oparciu o punkty dostępowe lub przełączniki nie zawsze daje możliwość tej polityki per aplikacja. W systemach WiFi jeśli kontroler rozpoznaje aplikacje to możemy przypisywać role per konkretna grupa aplikacji i to jest do zrobienia. Natomiast jeśli chodzi o przełączniki tutaj takiej możliwości nie ma, bo tak są projektowane przełączniki. Teoretycznie można by tam pewne rzeczy zrobić ale założenie przełącznika jest takie, że on ma być relatywnie tani i bardzo wydajny. Czyli mamy ASIC – sprzętowe układy, nie typowy procesor jak w routerze tylko bardziej ograniczone funkcjonalnie, które mają realizować konkretnie funkcje przełączania. To oznacza, że nie mają widoczności i nawet nie ma takiego założenia, żeby przełączniki miały taką funkcjonalność na poziomie aplikacyjnym.

Więc co można zrobić? Można rozwiązać ten problem następująco – powiązać daną sesję użytkownika na przełączniku przez serwer wymiany sesji, np przez protokół EVE-MAP z naszym Firewallem aplikacyjnym. Najczęściej Firewalle, które ja spotykam to jest Check Point Palo Alto, Fortinate, to są Firewalle, które najczęściej są przynajmniej w naszym regionie stosowane. Możemy powiązać tą informację, czyli jeśli uwierzytelniamy np. do VPN’a lub do NAC’a i wiemy, że to jest użytkownik pan Janek czy pani Asia i chcemy tą informację odrazu przesłać do Firewalla a na Firewallu w dynamicznej grupie aplikacyjnej mamy już konkretny zestaw aplikacji, które będziemy zezwalać, przepuszczać a pozostałe będziemy blokować. To w ten sposób możemy zapewnić ten scenariusz Zero Trust Network Access w klasycznym modelu, czyli w modelu pod tytułem rozwiązanie On-Premise czyli takie lokalne w oparciu o system NAC z integracją z Firewallem.

Tu już oczywiście musimy za to rozwiązanie zapłacić gdzieś. Tutaj najczęściej za tą część Firewallową musimy zapłacić. Jeszcze nie widziałem, żeby ktoś korzystał z takiej darmowej części. Chociaż pewne rzeczy oczywiście można zrobić w iptables ale to jest zupełnie inny poziom zarządzania, kreowania tych reguł, zajmowania się tym. Więc jeśli mówimy o Zero Trust Network Access czyli takim bardziej zaawansowanym poziomie bezpieczeństwa to w zasadzie zawsze będziemy mówić o takich rozwiązaniach komercyjnych.

Gdyby ktoś chciał sobie w ramach swoich mniejszych możliwości finansowych zrobić tego typu strukturę w oparciu o rozwiązania Open Source to to w pewnym zakresie małej ilości użytkowników jest to możliwe. Tylko oczywiście wymaga większej ilości manualnej pracy bo jeśli mamy w naszej firmie np pięciu czy dziesięciu pracowników to jest możliwość wykonania dla tych dziesięciu osób np. dziesięciu takich profili. Jest to możliwe do zrobienia. Natomiast moja praktyka pokazuje, że jeżeli mówimy o takich małych firmach to najczęściej to nie jest osoba na etacie tylko raczej jakiś informatyk, który z doskoku obserwuje daną firmę a to oznacza, że nie ma tyle czasu i możliwości bawienia się w takie rzeczy.

W takim modelu nie da się niestety zastosować Zero Trust Network Access w takim wydaniu klasycznym. Dlatego dla wszystkich mniejszych klientów raczej atrakcyjne jest podejście chmurowe w którym mamy możliwość korzystania z różnych systemów chmurowych z których i tak takie małe firmy korzystają i definiowania konkretnych polityk np. VPN – bo jak już chmurowe to musimy gdzieś ten ruch wysłać, do jakiegoś systemu chmurowego. Tam możemy ograniczyć już ten zestaw aplikacji. Jeżeli masz taki przypadek to oczywiście możesz myśleć o systemach Zero Trust Network Access w kontekście systemów chmurowych czy też VPN’owych czy systemów Secure Web Gateway czyli takich bramek w publicznej chmurze, które pozwalają nam filtrować, zabezpieczać ten ruch do systemów w chmurze publicznej.

Jeżeli masz taki przypadek to oczywiście warto rozważyć gotowe systemy. Dla mniejszych firm na pewno jest to atrakcyjne rozwiązanie, bo jest po prostu gotowe, nie trzeba dużo czasu spędzać nad integracją. Z kolei jeśli mówimy o dużych firmach – ja często z takimi mam doczynienia właśnie – to te duże firmy nie chętnie chcą iść do chmury a to dlatego, że mają dużo swoich systemów, mają swój sposób działania, te chmury często nie są w Polsce tylko są gdzieś tam na świecie, nawet jeśli w Europie to gdzieś najczęściej za granicą i nie ma kontroli nad tym gdzie te dane wędrują, co się tam dzieje, jak i jest poziom zaopiekowania się tymi danymi. Jest to generalnie nowy aspekt, którym się trzeba zająć. W związku z tym raczej preferują te większe firmy zachowanie tego modelu on-premis czyli lokalnie u siebie w jakimś centrum przetwarzania danych i wtedy realizowanie czy tego połączenia VPN’owego do swoich aplikacji, czy połączenia NAC’owego, czyli z sieci korporacyjnej i wtedy scenariusz w połączeniu z systemem Radius z VPN’em, z WiFi, z przełącznikami.

W razie jakby zainteresował Cię jakiś inny temat z tego cyklu to oczywiście pisz w komentarzu. Mam narazie plan taki, że nagram takich odcinków o kontekście Zero Trust Network Access więcej bo różne komponenty, różne funkcje pełnią w tym kontekście a wiele jest potrzebnych w zależności od tego co chcemy wykonać. Na dziś to tyle i do usłyszenia już za tydzień.


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.