Integracja z MS AD w trybie SSO

Opublikowany przez pawel w LDAP/AD

Wersja 9.1 firmware wprowadza zupełnie nowy model integracji z bazą katalogową AD w trybie SSO. Do wersji 9.1 automatyczna autoryzacja użytkowników logujących się do domeny AD była oparta o protokół SPNEGO. Nie był to idealny sposób, żeby nie powiedzieć, że w praktyce wręcz fatalny. Konieczność uruchamiania przeglądarki internetowej (SPNEGO jest wbudowany w przegladarki), instalowania certyfikatów SSL, etc. skutecznie zniechęcała do stosowania integracji w praktyce.

Nic w tym zatem dziwnego, że pierwszą rzeczą jaką przetestowałem po zainstalowaniu nowego firmware było sprawdzenie jak działa nowy mechanizm SSO. Idea jest następująca:

  1. na kontrolerze domeny lub dowolnej stacji należącej do domeny instalujemy oprogramowanie Agenta SSO
  2. Agent SSO cyklicznie odczytuje dzienniki zdarzeń z kontrolerów AD i informacje o logowaniu użytkowników wysyła do NETASQ-a
  3. NETASQ w oparciu o informacje otrzymane z Agenta SSO uaktualnia swoją listę zautoryzowanych użytkowników (NETASQ (agent SSO) sprawdza również czy host na którym był zalogowany użytkownik nadal jest dostępny w sieci albo czy użytkownik się nie wylogował)

Agent SSO pracuje w trybie usługi, dobrze jest powołać nowego użytkownika z odpowiednimi prawami dedykowanego do uruchomienia tej usługi:

ad1

 

w moim przypadku będzie to user o nazwie netasq_sso:

ad2

użytkownik powinien należeć do grupy Czytelnicy dzienników zdarzeń:

ad3

musimy również nadać użytkownikowi prawo logowania w trybie usługi:

ad4

wybieramy Dodaj użytkownika lub grupę i dodajemy użytkownika netasq_sso:

ad5

Teraz możemy zainstalować oprogramowanie Agenta SSO.

ad6

Instalacja agenta jest banalna i sprowadza się do potwierdzania kolejnych ekranów. Najważniejszym krokiem jest wskazanie gdzie odbywa się instalacja, czy na kontrolerze czy na hoście należącym do domeny:

ad7

wskazanie użytkownika na prawach którego serwis ma być uruchamiany:

ad8

oraz podanie klucza PSK służącego do szyfrowania komunikacji pomiędzy agentem a NETASQ-kiem:

ad9

ad10

Po restarcie komputera (lub ręcznym uruchomieniu usługi) agent SSO jest gotowy do pracy:

ad11

W folderze w którym został zainstalowany Agent SSO znajduje się plik konfiguracyjny config.ini kontrolujący pracę agenta:

 

[Global] VerboseLevel=low
ADObsolescenceTimeout=604800
FirewallEnabled=true
MaxThreadPool=64
Lookup=all

[WebServer] Port=1301
SSLKey=12345678

[AD-fake_fw] Servers\1\ips=127.0.0.1
Servers\size=1
IgnoreList\1\user=Administrator
IgnoreList\size=1
FirewallName=fake_fw
Enabled=false
CollectInterval=5
MaxLogonTime=28800
DnsEnabled=true
DnsInterval=60
MaxSecondToRead=900
LastUtmConnection=
Probe\ProbeTimeout=600
Probe\CacheTimeout=86400
Probe\MaxConcurrent=20
Probe\Enabled=true
Probe\Method=ping
Probe\PingTimeout=1000

Klucz IgnoreList\1\user=Administrator informuje agenta aby nie raportował zdarzeń dotyczących użytkownika Administrator (wiele usług może być uruchamianych na tym koncie), powinniśmy dopisać pozostałych userów którzy są dedykowani uruchamianiu usług.

Dokonujemy standardowej integracji NETASQ-a z Active Directory:

ad20

Teraz musimy dodać metodę autoryzacji za pomocą agenta SSO oraz skonfigurować jego obsługę:

ad21

W konfiguracji agenta musimy wskazać gdzie (na jakich hostach) jest zainstalowany agent oraz podać klucz PSK. Możemy zainstalować agenta na dwóch hostach, jeżeli podstawowy agent przestanie działać, informacje będą akceptowane z agenta zapasowego. Musimy również wskazać kontrolery domeny. Tylko ze wskazanych kontrolerów informacje będą akceptowane. Agent wykrywa kontrolery poprzez zapytanie DNS, jeżeli zatem nie zadamy w konfiguracji wszystkich kontrolerów to mimo, że agent będzie przesyłał do NETASQ-a informacje z ich logów zdarzeń nie będą one brane pod uwagę przez NETASQ-a:

22Konieczne jest również wskazanie którzy użytkownicy i zalogowani na jakich hostach mogą się autoryzować za pomocą metody SSO. W poniższym przykładzie zezwolenie takie otrzymuje dowolny użytkownik, niezależnie na jakim hoście się zaloguje:

ad23

Za pomocą programu RealTime Monitor możemy dokonać weryfikacji działania mechanizmu:

ad24

 Zaawansowane ustawienia agenta

ad30Maksymalny czas sesji definiuje maksymalny czas przez jaki użytkownik może być zalogowany na NETASQ-a w ramach sesji. Gdy ten czas upłynie NETASQ usuwa powiązanie użytkownika z IP jego hosta – co oznacza wylogowanie użytkownika z firewalla. Domyślnie ustawiony limit wynosi 36000 sekund (10 godzin).

Parametr Częstotliwość odświeżania grup użytkowników odpowiada za okres co jaki NETASQ sprawdza w AD czy nastąpiły zmiany w Grupach. Jednocześnie NETASQ informuje agenta jeżeli takie zmiany miały miejsce. Domyślnie taka kontrola dokonywana jest raz na godzinę (3600 sekund):

ad40

Opcja Sprawdź czy sesja wygasła pozwala kontrolować stan sesji użytkownika. Kontrola może odbywać się poprzez kontrolę czy host jest nadal dostępny (ping co 60 sekund) lub poprzez odczyt rejestru systemowego sprawdzanego komputera. W przypadku wybrania metody PING należy zadbać aby zapora na stacji (o ile jest jakaś zainstalowana i włączona) pozwala na badanie za pomocą icmp. Metoda Register wymaga aby konto na którym jest uruchomiony agent miało prawa odczytu rejestru (prawa administracyjne)  na lokalnym hoście (ewentualnie kontrola może się odbywać poprzez usługę zdalnego rejestru).

Wartość w polu Uznaj za rozłączony po upływie określa po jakim czasie należy uznać host za nie dostępny w przypadku wyboru metody sprawdzenia PING. Po tym czasie użytkownik który autoryzował się na tej stacji zostanie usunięty z tablicy zautoryzowanych użytkowników NETASQ-a.

[/betterpay]
18 Paź 2013


Najnowszy firmware SNS: 3.7.1 (Release Note)
Najnowszy firmware SNSv2: 2.12.2 (Release Note)