Forefront TMG 2010 – część 8 – Reguły dostępu (Access Rule)

Udostępnij na: Facebook

Autor: Jacek Światowiak

Opublikowano: 2011-07-21

Wprowadzenie

W poprzedniej części omówiono elementy, z których budowane będą reguły zapory (reguły dostępu oraz reguły publikacji). W niniejszej części omówimy tworzenie reguł dostępu – Access Rule.

Konfiguracja interfejsów, sieci i reguł sieciowych serwera TMG

Na wstępie zaprezentujemy konfigurację serwera TMG. Na rysunku 8.1 przedstawiono informacje o sieciach widzianych przez TMG. W stosunku do konfiguracji standardowej dodana została sieć DMZ z zakresem adresów IP od 172.16.0.0 do 172.16.0.255 maska 255.255.255.0.

Rysunek 8.1. Właściwości sieci przykładowego serwera TMG 2010.

 

Na rysunku 8.2 przedstawiono reguły sieciowe. Pomiędzy sieciami Internal i DMZ a siecią External mamy regułę NAT, a pomiędzy sieciami Internal a DMZ – ROUTE.

Rysunek 8.2. Właściwości reguł sieciowych serwera TMG 2010.

 

Każda budowana reguła dostępu składa się z tych samych komponentów, które przedstawiono ogólnie na rysunku 8.3. poniżej:

Rysunek 8.3. Ogólna budowa reguły dostępu – Access Rule.

 

Tabela 8.1 omawia przeznaczenie poszczególnych komponentów reguły.

Element Access Rule Przeznaczenie
Action (akcja) Akcja – określać będzie, czy dany typ ruchu będzie dozwolony lub zabroniony
Protocols (protokół) Protokół, który będzie dozwolony lub nie przez daną regułę dostępu
From i To (źródło i przeznaczenia) Lokalizacje – skąd i dokąd dany ruch będzie przenoszony
User (użytkownik) Użytkownik, dla którego dana reguła ma obowiązywać
Content Types (typ zawartości) Zawartość (treść), która ma być dozwolona lub nie daną regułą
Schedules (Harmonogram) Harmonogram stosowania lub nie danej reguły (harmonogram budowany jest w trybie 7-dniowym)
Warunki  (dodatkowe) Dodatkowe warunki związane z daną regułą dostępu, np. typ przepuszczanej zawartości

Malware Inspection

(nie pokazany na rysunku)

Określać będzie, czy treść pobierana z danego źródła ma być skanowana na obecność szkodliwego oprogramowania

** Tabela 8.1. Przeznaczenie poszczególnych elementów reguły dostępu.**

 

Tworzenie nowej reguły dostępu

Aby zbudować nową regułę, należy wybrać zadanie Create Access Rule z zakładki Tasks lub kliknąć prawym przyciskiem myszy w lewej kolumnie na poziomie Firewall Policy i z menu wybrać New… Access Rule (jak pokazano na rysunku 8.4).

Rysunek 8.4. Dostęp do kreatora tworzenia nowej reguły dostępu (Access Rule).

 

W pierwszym oknie kreatora tworzenia nowej reguły dostępu (rysunek 8.5) definiujemy nazwę nowej reguły dostępu.

Rysunek 8.5. Kreator tworzenia reguły dostępu.

 

W następnym oknie – Rule Action – definiujemy akcję związaną z daną regułą. Wybór typu akcji związanej z daną regułą przedstawiono na rysunku 8.6. Dostępne są dwie akcje:

  • Zezwalaj na dany ruch sieciowy –  Allow
  • Zabraniaj danego ruchu sieciowego – Deny

Rysunek 8.6. Kreator tworzenia reguły dostępu – okno Rule Action.

 

W następnym oknie – Protocols (rysunek 8.7) – wybieramy listę protokołów związanych z daną regułą. Dostępne są trzy warianty:

  • All Outbound trafic – cały ruch wychodzący bez ograniczeń – wszystkie protokoły;
  • All Outbound trafic except selected – cały ruch wychodzący z pewnymi wyjątkami;
  • Selected protocol – ruch tylko dla określonych protokołów.

Rysunek 8.7. Kreator tworzenia reguły dostępu – wybór listy protokołów.

 

Opcja Source Ports – porty źródłowe.

Dla ruchu wychodzącego możemy ograniczyć zakres portów źródłowych (oczywiście tylko dla protokołów TCP lub UDP wyłącznie). Domyślnie wszystkie porty źródłowe są dozwolone. Wygląd okna Source Ports przedstawiono na rysunku 8.8:

Rysunek 8.8. Kreator tworzenia reguły dostępu – zakładka Ports.

 

Dla typów protokołów określonych jako All Outbound trafic except selected oraz Selected protocol dostępna jest lista protokołów, które są zdefiniowane na serwerze TMG. Widok okna dodawania protokołów (Add Protocols) zaprezentowano na rysunku 8.9.

Rysunek 8.9. Widok okna Add Protocols dla kreatora reguły dostępu.

 

Dla protokołów określonych jako:

  • All Outbound trafic except selected – cały ruch wychodzący z pewnymi wyjątkami,
  • Selected protocol – ruch tylko dla określonych protokołów

z listy Add Protocols – wybiera się jeden lub więcej protokołów, które mają być związane z daną regułą (mają być przepuszczane lub blokowane).

W naszym przykładzie (rysunek 8.10) przepuszczać będziemy ruch typu PING (jest to w rzeczywistości protokół ICMP, typ 9 kod 8 – określony dodatkowo jako ruch typu Send Receive – co oznacza, iż wysyłamy zapytanie i spodziewamy się odpowiedzi zwrotnej).

Rysunek 8.10. Widok okna Protocols dla kreatora Access Rule.

 

W kolejnych krokach definiujemy, skąd ruch będzie inicjowany (Access Rule Sources) i dokąd ma być kierowany (Access Rule Destination). Okno określania, skąd ruch będzie inicjowany – Access Rule Sources – przedstawia rysunek 8.11. W przykładzie dodana została sieć określana jako Internal – czyli sieci wewnętrzne.

Rysunek 8.11. Widok okna Access Source dla Access Rule.

 

Okno, w którym określa się dokąd ruch będzie inicjowany – Access Rule Destination – przedstawia rysunek 8.12. W przykładzie dodana została sieć określana jako External, czyli sieci zewnętrzne, np. Internet oraz sieć określona jako DMZ.

Specjalna opcja For URL filtering, apply to non-primary categorizations zostanie omówiona w jednej z dalszych części artykułu, przy omawianiu mechanizmu URL filtering.

Rysunek 8.12. Widok okna Access Destinations dla reguły dostępu.

 

W następnym oknie – User Sets (rysunek 8.13) – definiujemy, dla jakich użytkowników ruch ma być dopasowywany (uwaga, funkcjonalność ignorowana dla klientów typu Secure NAT; typy klientów zostaną omówione w jednej kolejnych części); domyślnie All Users, czyli dla wszystkich użytkowników.

Rysunek 8.13. Widok okna User Sets.

 

Ostatnie okno kreatora pominiemy, gdyż nie wnosi żadnych informacji do procesu tworzenia nowej reguły dostępu. Efekt działania kreatora pokazany został na rysunku 8.14. Jest to nowa reguła o numerze 8. Klikając na regule prawym przyciskiem myszy, udostępniamy dodatkowe menu konfiguracyjne. Okno to pozwala grupować reguły (Create Group), kasować je (Delete), chwilowo wyłączać (Disable) czy zmieniać kolejność reguł (Move Up, Down) oraz eksportować i importować definicje reguł.

Rysunek 8.14. Efekt działania kreatorautworzona nowa reguła o nazwie PING.

 

Właściwości zaawansowane reguły dostępu

Nie wszystkie opcje konfiguracyjne dostępne są w kreatorze tworzenia reguły. Dodatkowe opcje dostępne są we właściwościach już utworzonej reguły. W zakładce General (rysunek 8.15) możemy zmienić nazwę reguły oraz dodać opcjonalny opis (Description). Regułę można chwilowo wyłączyć lub włączyć (Enable).

Rysunek 8.15. Właściwości nowej reguły — zakładka General.

 

Na zakładce Action (rysunek 8.16) określa się, czy definiowany typ ruchu ma być dozwolony (Allow), czy blokowany (Deny). W przypadku ruchu HTTP (i włączonego blokowania) można przekierować użytkownika, np. na specjalną stronę informacyjną. Poza tym określamy, czy ruch, który został do danej reguły dopasowany, ma być logowany, czy nie (Log request matching this rule). Specjalna sekcja User Overide pozwala na samodzielne decydowanie przez użytkownika, czy chce uzyskać dostęp do witryn odpowiednio klasyfikowanych (protokoły HTTP i HTTPS).

Rysunek 8.16. Właściwości nowej reguły – zakładka Action.

 

W zakładce Protocols (rysunek 8.17) definiujemy protokoły opisujące ruch danej reguły. Opcja Ports… została opisana wcześniej. Opcja Filtering związana jest z modyfikacją filtrów warstwy aplikacji (dla ruchu HTTP, FTP oraz RPC). Dla innego typu protokołów filtry definiuje się inaczej lub są niedostępne (jak w tym przypadku).

Rysunek 8.17. Właściwości nowej regułyzakładka Protocols.

 

Na zakładce From (rysunek 8.18) określa się źródło, skąd dany ruch będzie inicjowany. Można teraz dodać wyjątki (Exception) pozwalające na budowanie bardziej skomplikowanych reguł.

Rysunek 8.18. Właściwości nowej reguły – zakładka From.

 

Na zakładce To (rysunek 8.19) określa się miejsce docelowe, dokąd dany ruch będzie kierowany. Można również dodać wyjątki (Exception) pozwalające na budowanie bardziej skomplikowanych reguł.

Rysunek 8.19. Właściwości nowej reguły – zakładka To.

 

Na zakładce Users (rysunek 8.20) określa się użytkowników, których będzie obejmowała dana reguła. Podobnie jak dla From oraz To, tu również można zdefiniować wyjątki.

Rysunek 8.20. Właściwości nowej reguły – zakładka Users.

 

Na zakładce Schedule (rysunek 8.21) określamy harmonogram działania reguły. Opcja harmonogram  nie była dostępna w kreatorze tworzenia reguły. Wynika to stąd, iż większość reguł nie ma ustalonego harmonogramu czasowego (tzn. wybrany jest domyślny harmonogram, oznaczony jako Always – czyli zawsze).

Rysunek 8.21. Właściwości nowej reguły – zakładka Schedule.

 

Na zakładce Content Types (rysunek 8.22) określamy typ treści (danych). Podobnie jak w przypadku harmonogramu, kreator tworzenia reguły nie pokazuje tej opcji. Zakłada się, iż reguła obejmuje domyślnie cały zakres przesyłanej treści bez wyjątku. W tej zakładce można tę regułę bardziej doprecyzować.

Rysunek 8.22. Właściwości nowej reguły – zakładka Content Types.

 

Ostatni zakładka Malware Inspection (rysunek 8.23) określa, czy dany ruch sieciowy ma być skanowany na obecność szkodliwego oprogramowania. Opcja dostępna tylko dla protokołu HTTP.

Rysunek 8.23. Właściwości nowej reguły – zakładka Malware Inspection.

 

Testowanie działania reguły

Aby przetestować działanie reguły, posłużymy się prostym wbudowanym w system narzędziem ping.

Ping z komputera 192.168.0.200 (Sieć INTERNAL) do komputera 80.80.80.1 (Sieć EXTERNAL) – jak pokazano na rysunku, komunikacja jest możliwa.

Rysunek 8.24. Ping z sieci INTERNAL do EXTERNAL.

 

Test zwrotny – jak widać ruch nie jest przepuszczany. Jest to prawidłowe zachowanie, gdyż pomiędzy sieciami INTERNAL a EXTERNAL mamy KIERUNKOWĄ regułę sieciową NAT (zezwalającą na ruch tylko w jedną stronę).

Rysunek 8.25. Ping z sieci EXTERNAL do INTERNAL.

 

Ping z komputera 192.168.0.200 (Sieć INTERNAL) do komputera 172.16.0.1 (Sieć DMZ) – jak prezentuje rysunek, komunikacja jest również możliwa. Ruch jest przepuszczany, gdyż istnieje zarówno reguła sieciowa pomiędzy sieciami INTERNAL a DMZ (DWUKIERUNKOWA reguła ROUTE), oraz utworzona została KIERUNKOWA reguła dostępu typu Access Rule (z sieci INTERNAL do DMZ).

Rysunek 8.26. Ping z sieci INTERNAL do DMZ.

 

Pytanie: Czy ruch sieciowy inicjowany sieci DMZ do sieci INTERNAL będzie w takiej konfiguracji przechodził, mimo istnienia DWUKIERUNKOWEJ reguły sieciowej ROUTE pomiędzy tymi sieciami?

Odpowiedź: NIE.

Access Rule (reguły dostępu) są regułami KIERUNKOWYMI. Aby ruch był przepuszczany w obie strony, należałoby przekonfigurować już istniejącą regułę lub dodać nową – Reguła 9 (jak pokazano na rysunku 8.27). Dodano tu regułę identyczną, ale z zamienionymi adresami źródłowymi i docelowymi (z DMZ do INTERNAL).

Rysunek 8.27. Dodanie reguły dla ruchu PING z sieci DMZ do INTERNAL.

 

Teraz test zakończy się sukcesem, co pokazano na rysunku 8.28:

Rysunek 8.28. Test ponowny – ping z sieci EXTERNAL do INTERNAL.

 

Podsumowanie

W tym artykule przedstawiliśmy zagadnienia konfiguracji reguł dostępu (AccesRule). Mam nadzieję, że informacje zawarte w tej części wraz z informacjami o działaniu reguł sieciowych pozwolą na prawidłowe budowanie tych KIERUNKOWYCH reguł dostępu.  W następnych częściach omówimy typy klientów serwera TMG oraz zaczniemy omawiać reguły publikacji najważniejszych typów serwerów – Web, Exchange, SharePoint oraz innych, jak SMTP czy FTP.