sobota, 9 czerwca 2018

Blacklisty w urządzeniach FortiGate - w końcu.

Urządzenia FortiGate są świetnymi zaporami sieciowymi klasy UTM. Do tej pory posiadały mały brak w postaci braku możliwości skorzystania z blacklist.
Teraz, od wersji 6.0 (tutaj pdf o tym co jeszcze się zmieniło) się to zmieniło i w niniejszym tekście pokażę jak je skonfigurować.

Ale po co blacklisty? 

Przecież w przypadku małej ilości adresów można je dodawać skryptami, spinać w grupy i przypinać do odpowiednich polis, ale:
  • było to czasochłonne i wprowadzało chaos na liście adresów,
  • nie umożliwiało zarządzania taką ilością adresów jak w przypadku blacklist. Pod tym linkiem FortiOS 6.0.0 Maximum Values Table, możecie sprawdzić ile wynosi maksymalna ilość adresów jaką Wasze urządzenie może obsłużyć korzystając z dotychczasowego sposobu, a ile wynosi ona w przypadku skorzystania z blacklist,
  • nie umożliwiało dynamicznego zarządzania blokowanymi adresami. Zarówno dodanie, aktualizacja, czy usunięcie "klasycznego" adresu wymaga od administratora wykonania tej czynności ręcznie. W przypadku blacklist może to być robione odgórnie, ponieważ są one pobierane z serwera HTTP, w określonym interwale czasowym (z dokładnością do minuty). Teraz wystarczy, że admin serwera HTTP będzie zajmował się aktualnością listy, a urządzenia korzystające z tej blacklisty same będą ją uaktualniać. 

Podpięcie blacklist do FortiGate jako zewnętrzne źródła (External Resources)

Aby było możliwe korzystanie z blacklist należy je podpiąć w menu System → External Resources. Blacklisty to zwykłe plik tekstowe, umieszczone na serwerze HTTP. Dzielą się one na blacklisty z adresami IP i nazwami domenowymi. Przy ich tworzeniu można stosować proste symbole wieloznaczne, przedziały adresów, bądź maski.
Z informacji uzyskanych z serwisu FortiGate, na dzień dzisiejszy pliki blacklist nie mogą zawierać żadnych pól komentarza.
  • blacklista zawierająca adresy domen w formacie jedna domena w linii z możliwością prostych wildcardów, np.:
    Przykładowy plik blokujący domeny mail.*.example.com
    *-special.example.com
    www.*example.com
    example.com
  • blacklista zawierająca adresy IP w formacie jeden adres w linii z możliwością stosowania masek, czy zakresów np.:
    Przykładowy plik blokujący adresy IP 192.168.2.100
    172.200.1.4/16
    172.16.1.2/24
    172.16.8.1-172.16.8.100
    2001:0db8::eade:27ff:fe04:9a01/120
    2001:0db8::eade:27ff:fe04:aa01-2001:0db8::eade:27ff:fe04:ab01
Przy ich podpinaniu należy jedynie zwrócić uwagę, aby typ blacklisty przypiąć do odpowiedniego typu (screen poniżej). Adresy IP przypinamy po wybraniu typu Firewall IP Address, jeżeli zaś blacklista doty. nazw domenowych, to zaznaczamy Domain Name.

Kontrolka w FortiGate służąca podpinaniu blacklisty z adresami IP
Kontrolka służąca podpinaniu blacklisty z adresami IP
Tak przypięte blacklisty widoczne są jak na poniższym screenie z podziałem na to czy dotyczą one blokowania domen, czy też adresów IP.

Blacklisty podpięte w FortiGate jako External Resources
Blacklisty podpięte w FortiGate jako External Resources

Korzystanie z podłączonych blacklist

Blacklisty w Filtrze DNS

Zarówno blacklisty dotyczące adresów domenowych, jak i IP można podpiąć do Filtra DNS (Security Profiles → DNS Filter).
Blacklistę dot. domen odnajdziemy w sekcji FortiGuard category based filter, gdzie będzie ona widoczna w gałęzi Remote Categories.
Blacklista adresów domenowych podpięta do filtra DNS w urządzeniu FortiGate
Blacklista adresów domenowych podpięta do filtra DNS
Również na tej samej stronie Filtra DNS, ale nieco niżej, w sekcji External IP Block Lists można dodać skonfigurowane wcześniej listy z adresami IP. 

Lista blacklist widoczna z poziomu Filtra DNS
Lista blacklist widoczna z poziomu Filtra DNS
Od tego momentu wszelkie próby połączeń przechodzące przez filtr DNS będą podlegały kontroli pod kątem obecności adresów na blacklistach.

Pytanie tylko czy macie dobrze skonfigurowany filtr DNS? ;)

Blacklisty w Polisach Proxy

Jeżeli w swoim urządzeniu korzystacie z funkcjonalności Explicit Proxy, to blacklisty można wykorzystać także w Polisach Proxy jako źródło (Source), bądź cel (Destination).

Słowo Proxy przewija się w urządzeniach FG w wielu różnych miejscach, więc jeżeli w menu Policy & Objects nie widzicie opcji Proxy Policy, to być może macie ją po prostu wyłączoną i z niej nie korzystacie. Dla pewności możecie to zweryfikować w menu System → Feature Visibility → czy opcja Explicity Proxy jest włączona.

Polisa Proxy w FortiGate z blacklistami dodanymiw polu Destination
Polisa Proxy z blacklistami dodanymi w polu Destination

Czy jest w tym jakiś haczyk?

Innymi słowy, czy jest coś co mi się nie podoba w obecnej implementacji blacklist w urządzeniach FortiGate?
Przyjrzyjmy się im bliżej - są to łatwe w obsłudze pliki tekstowe zaciągane z serwera HTTP w określonym interwale czasowym. Istnieje możliwość podpięcia ich do filtra DNS, bądź polis Proxy. Normalnie cud, miód, malina ;)

Łyżką dziegciu w tej beczcie miodu jest brak możliwości sprawdzenia z poziomu urządzenia, czy adres IP, bądź FQDN podlega blokadzie przez którąkolwiek z blacklist.

Panie... ale o co chodzi?

Wyobraźmy sobie sytuację.
Mamy skonfigurowanych kilka blacklist. Pięknie działają, blokują co trzeba. Nagle mamy potrzebę zablokować kilka / kilkadziesiąt dodatkowych adresów "z palca".
I teraz pada pytanie: Czy te adresy nie znajdują się już na którejś z blacklist? Może one wszystkie są już blokowane? Jeżeli tak, to my się narobimy, zrobimy śmietnik w adresach i polisach IP i wszystko niepotrzebnie.

No właśnie.
W nowszych wersjach firmware'u producent udostępnił menu Reputation dzięki któremu można sprawdzić do której z czterech kategorii (widocznych na screenie poniżej), producent zakwalifikował adres, który chcemy sprawdzić.

Menu Reputation w FortiGate
Menu Reputation w FortiGate
Niestety to menu nie bierze pod uwagę podłączonych blacklist. Jeżeli więc adres, który chcecie sprawdzić jest blokowany przez blacklistę, to dzięki tej funkcji się tego nie dowiecie.

Panie Kochany, ale jest przecież jeszcze widget Botnet Activity, który można dodać w głównym dashboardzie (jak to będzie po naszemu?).

Można by było przypuszczać, że ten gadżet wskaże nam blokady wynikające z blacklist (w końcu mamy tutaj informację o zablokowanych IP i domenach), ale niestety tak nie jest.

Widget Botnet Activity w urządzeniach FortiGate
Widget Botnet Activity w urządzeniach FortiGate
Pozostaje mieć nadzieję, że zostanie to uzupełnione w przyszłych wersjach firmware'u, a póki co można się cieszyć z tego co jest, bo jest to i tak znaczne zwiększenie bezpieczeństwa naszych sieci.

Słowo końcowe 

Mam nadzieję, że przybliżyłem Wam tworzenie i wykorzystanie blacklist w urządzeniach FortiGate. Jeżeli jednak powyższe informacje Wam nie wystarczają, zachęcam do zapoznania się z dokumentem Security Profiles for FortiOS 6.0 - Fortinet Document Library.
Są tam opisane poszczególne profile bezpieczeństwa, zaś informacje dotyczące blacklist odnajdziecie w sekcji pt. "External dynamic block lists".

Zmiany w FortiOS 6.0.1

Cóż za niespodzianka spotkała mnie po aktualizacji firmware'u do najnowszej wersji. 
Chciałem przeglądnąć blacklisty, wchodzę do menu System i.... zonk... Nie ma menu External Resources
Okazało się, że wraz z menu dotyczącym konfiguracji połączeń SSO, sekcja zarządzania blacklistami została przeniesiona do Security FabricFabric Connectors i wygląda ona jak na poniższym screenie. 
Jest teraz ładna: kafelkowa, pomarańczowa i w ogóle ;)

FortiGate Blacklisty w menu Fabric Connectors
Blacklisty w menu Fabric Connectors
Ale nie tylko wygląd został poprawiony. 
Od teraz, po wejściu w dowolną blacklistę, istnieje możliwość przeglądania i przeszukiwania adresów, które się na niej znajdują. Jest to częściowe wyjście naprzeciw moim oczekiwaniom, które zgłaszałem kilka linijek wyżej w "Słowie końcowym". Wprawdzie zawartość wszystkich blacklist nie jest możliwa do sprawdzenia z jednego miejsca jakim jest menu Reputation, ale i tą zmianę należy przyjąć jako krok w dobrym kierunku.
Ponadto zauważyłem jeszcze jedną rzecz, która mnie zaskoczyła. Wcześniej kontaktowałem się z serwisem Fortinet i otrzymałem informację, że blacklisty nie mogą zawierać żadnych komentarzy. Działanie urządzenia zdawało się ten fakt potwierdzać. Blacklisty zawierające komentarze rozpoczynające się od znaku # wydawały się nie działać. 
Aktualnie, przeglądając blacklisty zauważyłem, że adresy IP zostały poprawnie zaczytane, zaś sekcje komentarzy pominięte.

To tak na gorąco.

Brak komentarzy:

Prześlij komentarz

Bardzo proszę o zachowanie netykiety.