PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA Uwierzytelnianie i kontrola dostępu użytkowników na podstawie parametrów Active Directory z wykorzystaniem ConSentry LANShield Controller Role Derivation Podczas pasywnego uwierzytelniania LANShield OS (system operacyjny SLC) podsłuchuje komunikację zewnętrznych urządzeń uwierzytelniających oraz serwerów, celem uzyskania nazwy użytkownika oraz innych jego atrybutów. Dzięki nim do użytkownika przypisana zostaje konkretna rola, a wraz z nią odpowiednie polityki bezpieczeństwa, co zostało pokazane na Rysunku 1. Nazwa użytkownika wykorzystywana jest również do wizualizacji ruchu sieciowego. Przykładami mechanizmów pasywnego uwierzytelniania są: logowanie Windows Active Directory (AD) RADIUS Rysunek 1: Przypisanie roli do użytkownika CLICO Sp. z o.o., Al. 3-go Maja 7, 30-063 Kraków; Tel: 12 6325166; 12 2927525; Fax: 12 6323698; E-mail: support@clico.pl, orders@clico.pl.; Ftp.clico.pl.; http://www.clico.pl
W przypadku obu typów uwierzytelniania (pasywnego i aktywnego), system utrzymuje dwie tablice z danymi: tablicę mapowań (mapping table) oraz tablicę użytkowników (user table). Tablica mapowań odpowiedzialna jest za utrzymanie wpisów z: numerem fizycznego portu urządzenia, na którym zostało wykryte mapowanie, numerem VLAN'u, w którym zostało wykryte mapowanie (domyślnie VLAN 1), adresem MAC interfejsu użytkownika, adresem IP interfejsu użytkownika, źródłem, z którego pochodzi mapowanie (DHCP, protokół uwierzytelniający np. pakiet Kerberos), informacją o uwierzytelnieniu (uwierzytelniony lub nie), stanem mapowania (aktywny lub bezczynny), adresem IP serwera, który dokonał uwierzytelnienia (w przypadku uwierzytelnienia różnego od DHCP wyświetlane są zera), informacją o czasie, w którym mapowanie zostało utworzone. Tablica użytkowników odpowiedzialna jest natomiast za utrzymanie wpisów z: numerem fizycznego portu urządzenia, na którym użytkownik został wykryty, numerem VLAN'u, w którym użytkownik został wykryty, adresem MAC interfejsu użytkownika, adresem IP interfejsu użytkownika, nazwą użytkownika wyuczoną podczas procesu uwierzytelniania, nazwą roli przypisanej użytkownikowi, typem uwierzytelnienia (kerberos, white-list, radius, captive-portal, 802.1x, mac-radius), stanem użytkownika (success lub failed, w zależności od końcowego stanu uwierzytelnienia), czasem ostatniej aktualizacji (czasem ostatniej próby uwierzytelnienia użytkownika. Przypisanie ról do użytkowników możliwe jest ze względu na wiele atrybutów, które udostępniane są przez trzy klasy: Active Directory (ad.), RADIUS (radius.), system (system.). Dzięki nim możliwe jest przypisanie roli użytkownika, na przykład: ze względu na dział, w którym pracuje (ad.department), grupę użytkowników, do której przynależy (ad.memberof), atrybut Reply serwera RADIUS (radius.reply), nazwę użytkownika (system.username), adres IP (system.srcip), oraz wiele innych. Najczęściej dopasowania możemy dokonać zgodnie z kryteriami: exists atrybut istnieje podczas zdarzenia uwierzytelnienia, equals wartość atrybutu jest zgodna z zadaną wartością, contains wartość atrybutu zawiera zadaną wartość, contained-by atrybut zawiera się całkowicie w zadanej wartości, less-than wartość numeryczna jest konwertowana i sprawdzana, czy jest mniejsza od wartości w tablicy mapowań (mapping table), greater-than wartość numeryczna jest konwertowana i sprawdzana, czy jest większa od wartości w tablicy mapowań (mapping table), not odwraca kryterium dopasowania. Efektem takiego dopasowania roli do użytkownika są odpowiednie wpisy w tablicach użytkowników oraz mapowań. 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 2
Zasada działania Role Derivation z wykorzystaniem Active Directory Proces uwierzytelniania w AD przedstawiony został na Rysunku 2, a przykład komunikacji klienta z serwerem na Rysunku 3. Rysunek 3: Komunikacja z serwerem Active Directory 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 3
Rysunek 4 przedstawia odpowiedź serwera uwierzytelniającego w przypadku poprawnego logowania do sieci za pośrednictwem serwera AD, a Rysunek 5 przykład niepoprawnego uwierzytelnienia. Rysunek 4: Poprawne uwierzytelnienie użytkownika Rysunek 5: Niepoprawne uwierzytelnienie 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 4
Zawartość pakietu zawierającego informacje o niepoprawnym uwierzytelnieniu przedstawiona jest na Rysunku 6. Rysunek 6: Informacja o niepoprawnym uwierzytelnieniu 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 5
Konfiguracja oraz uruchomienie usługi User Role Derivation Rule-Map mapa dopasowania ruchu sieciowego Tworzenie nowej mapy: Definicja nowej mapy: (LANShieldOS)# configure terminal (config)# aaa rule-map <nazwa> Tworzenie komentarza do utworzonej mapy: (rule-map)# description Opis rule-map'y Tworzenie warunków dopasowania ruchu, na podstawie których nastąpi przypisanie użytkownikom sieci odpowiedniej roli: (rule-map)# match <co> equals <czemu> (rule-map)# no match <co> equals (rule-map)# match <co> not equals <czemu> Deklaracja roli, która ma być przypisana po pozytywnym dopasowaniu: (rule-map)# set system.rolename <nazwa roli> (rule-map)# end Aplikowanie zdefiniowanej mapy: (config)# aaa rule-map apply <nazwa> precedence <1-65535> Wyświetlanie zdefiniowanych ustawień mapy: (LANShieldOS)# show aaa rule-maps configuration (LANShieldOS)# show aaa rule-maps application Definiowanie polityk w oparciu o filtry Utworzenie nowej polityki: (config)# policy user <nazwa> (policy-user)# filter <nazwa_filtru> from <skąd> to <dokąd> (policy-user)# filter <nazwa_filtru_2> from <skąd> to <akcja> (policy-user)# no filter <nazwa_filtru_2> (policy-user)# end <co> <akcja> <dokąd> <co> Wyświetlenie istniejących polityk: (LANShieldOS)# show policy user all 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 6
Definiowanie ról użytkowników Tworzenie nowej roli: Definicja nowej roli: (config)# user-role <nazwa> Tworzenie komentarza do nowej roli: (user-role)# description Opis roli Ustawianie przodka nowej roli: (user-role)# parent <nazwa_przodka> Strefy Uwagi: Standardowo każdej nowej roli przypisywany jest przodek authenticated. Przypisanie wcześniej zdefiniowanej polityki do nowej roli: (user-role)# user-policy <nazwa_polityki> (user-role)# user-policy <nazwa_polityki_2> (user-role)# no user-policy <nazwa_polityki_2> (user-role)# end Definicja nowej strefy: Tworzenie nowej strefy: (config)# network-zone <nazwa> Definicja elementów składowych strefy: (network-zone)# host ip-address <ip> (network-zone)# host mac-address <mac> (network-zone)# network <ip> <maska> (network-zone)# range <ip_start> <ip_koniec> 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 7
Wykonanie powyższych czynności za pomocą interfejsu graficznego Mapy dopasowania ruchu sieciowego: Aby utworzyć nową mapę, trzeba prawym przyciskiem myszy nacisnąć na ikonę Role Derivations i wybrać New... : Następnie należy uzupełnić wymagane pola. Uwagi: Należy zmienić wartość 'Precedence' na inną niż 0. W przeciwnym przypadku tworzona mapa nie zostanie automatycznie przypisana i trzeba będzie zrobić to ręcznie z linii komend lub poprzez edycję utworzonej mapy z poziomu interfejsu graficznego. 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 8
Widok prawidłowo utworzonej mapy: Aby edytować lub usunąć mapę, prawym przyciskiem myszy należy wybrać ikonę istniejącej mapy, a następnie wybrać Edit... lub Delete... : Polityki: Aby zdefiniować nową politykę, trzeba prawym przyciskiem myszy wybrać ikonę Policies, a następnie New oraz User Policy... : 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 9
Następnie należy uzupełnić wymagane pola. Dodanie nowych filtrów: 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 10
Widok prawidłowo dodanej polityki: Aby edytować lub usunąć politykę, prawym przyciskiem myszy należy wybrać ikonę istniejącej polityki, a następnie wybrać Edit... lub Delete... : Role użytkowników: Aby utworzyć nową rolę użytkownika, prawym przyciskiem myszy wybrać ikonę Roles, a następnie New... : 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 11
Następnie należy uzupełnić wymagane pola oraz dodać polityki: Widok prawidłowo dodanej roli: Aby edytować lub usunąć rolę, prawym przyciskiem myszy trzeba wybrać ikonę istniejącej roli, a następnie wybrać Edit... lub Delete... : 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 12
Strefy: Aby utworzyć nową strefę, prawym przyciskiem myszy kliknąć na ikonie Network Zones, a następnie wybrać New... : Następnie należy uzupełnić wymagane pola oraz dodać elementy strefy: 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 13
Aby edytować lub usunąć strefę, prawym przyciskiem myszy należy wybrać ikonę interesującej nas strefy, a następnie wybrać Edit... lub Delete... : Opracowali: Konrad Ślęzak Adam Śniegórski 2006 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 14