Dostęp warunkowy Azure AD – dostęp pod kontrolą

Dzięki dostępowi warunkowemu Azure AD, można w sposób prosty i efektywny kontrolować dostęp do wybranych obszarów naszego środowiska. Dzięki elastycznym mechanizmom budowania polityk Dostepu Warunkowego możemy szybko i efektywnie zwiększać bezpieczeństwo wprowadzając dodatkowe wymagania.

Z pozoru zasada działania i wykorzystywane reguły wydają się proste i zrozumiałe, jednak w wielu wdrożeniach okazuje się, że to przekonanie jest pozorne. W realiach internetu błędnie zaimplementowane reguły dostępu warunkowego okazują się bardziej niebezpieczne niż ich brak. Pozorne poczucie bezpieczeństwa wynikające z faktu wdrożenia dostępu warunkowego sprawia, że błędnie zakładamy, że pewne wektory ataku nie zostaną wykorzystane.

Jak działa dostęp warunkowy

Azure Active Directory wykorzystuje dostęp warunkowy do podejmowania decyzji o przyznaniu użytkownikowi dostępu do zasobu oraz określeniu na jakich warunkach ma on nastąpić.

Dostęp warunkowy Azure AD

Zasady dostępu warunkowego są wymuszane po zakończeniu pierwszego uwierzytelniania. Dostęp warunkowy nie powinien być więc wykorzystywany jako pierwsza linia obrony organizacji dla scenariuszy takich jak ataki typu DoS.

Dostęp warunkowy działa na zasadzie najprostszej konstrukcji: jeżeli, to. Na początku dla każdej polityki, system sprawdza czy spełnione zostały warunki dla których polityka jest uruchamiana. Następnie, system zbiera wyniki działania uruchomionych polityk. Ich wynik określa czy i na jakich zasadach użytkownik może uzyskać dostęp do odpowiedniego zasobu.

Jeżeli spełnione są warunki, polityka zostaje zaaplikowana i podejmowane są działania dotyczące zasad dostępu.

Wynikiem działania polityki jest blokada dostępu lub zezwolenie na dostęp pod określonymi warunkami.

Przy każdej próbie dostępu sprawdzane są polityki dostępu warunkowego. Dla każdej z polityk sprawdzany jest zestaw warunków. Jeżeli są one spełnione, zostaje zastosowana polityka.

Wynik działania wszystkich polityk, które zostały wykorzystane w tym wypadku determinuje ostateczny efekt działania dostępu warunkowego.

Dostęp warunkowy Azure AD - Decyzja

Dostęp zostaje przyznany gdy zostały spełnione wymagania wszystkich
zaaplikowanych polityk (operacja logiczna AND).

Jeżeli wynikiem działania którejkolwiek z polityk jest Blokuj dostęp,
użytkownik nie uzyskuje dostępu do zasobu

Sprawdzenie warunków

W tym momencie następuje sprawdzenie czy parametry które niesie ze sobą żądanie dostępu spełniają warunki nałożone na politykę. Na podstawie tego testu ustalamy czy dana polityka ma zostać zaaplikowana.

Warunki obowiązkowe
  1. Użytkownik lub grupa (Users and groups)

    Polityka zostanie zaaplikowana tylko dla wskazanych użytkowników  lub użytkowników należących do wskazanych grup.

  2. Aplikacje w chmurze (Cloud apps)

    Polityka zostanie zaaplikowana tylko w przypadku żądania dostępu do zasobu wskazanego w tym warunku.

Polityka jest stosowana dla wskazanych użytkowników lub grup próbujących uzyskać dostęp do wskazanego zasobu.

Warunki opcjonalne
  1. Platforma / System operacyjny (Device platform)

    Ograniczenie lub wykluczenie wykonania polityki tylko do przypadków gdy urządzenie generujące żądanie działa pod kontrolą jednego z systemów:

    • Android
    • iOS
    • Windows Phone
    • Windows
    • macOS
  2. Lokalizacja

    Polityka będzie stosowana lub nie będzie miała zastosowania dla żądań przychodzących ze wskazanych klas adresowych.

  3. Aplikacja kliencka

    Warunek można budować dla przypadku połączeń z przeglądarki oraz kilku innych warunków dotyczących aplikacji klienckiej.

  4. Stan urządzenia

    W tym wypadku możemy jedynie wykluczyć z działania polityki dla urządzeń odpowiednio podłączonych do domeny (Azure Hybrid AD Joined) i/lub zweryfikowanych przez Intune jako zgodne ze zdefiniowaną polityką zgodności.

Istnieje jeszcze kilka innych warunków ale o nich opowiemy sobie innym razem, są trochę bardziej skomplikowane.

Co dalej?

Gdy już wiemy czy użytkownik spełnił nasze warunki i które polityki mają zostać uruchomione, możemy przystąpić do działania.

Decyzja!

  • Wiemy już kto się połączył, do czego chce się dostać i skąd nawiązuje połączenie oraz z jakiej aplikacji korzysta….

    albo
  • Wiemy już kto się połączył, do czego chce się dostać i już

    albo…..
Decydujemy:
  • Blokujemy dostęp! – dla takich warunków nie zgadzamy się na połączenie

    lub
  • Zgadzamy się na dostęp lecz pod pewnymi warunkami, jak na przykład:
    • Użytkownik musi skorzystać z dwuskładnikowego uwierzytelniania
    • Urządzenie z którego korzysta musi być oznaczone jako zgodne
    • Wymagamy aby było zarejestrowane jako Hybrid Azure AD joined
    • i jeszcze inne o których opowiemy sobie innym razem

Więc jak to dokładnie działa?

1. Warunek
Sprawdzamy kto i czym się łączy i do czego próbuje uzyskać dostęp.
2. Działanie
Co ma się stać?
3. Test4. Efekt
1.Jeżeli Administrator łączy się z sieci publicznej do jakiejkolwiek usługi, to…To nie jest bezpieczne, zablokujmy dostęp.Faktycznie:
użytkownik jest w grupie Administratorzy
sieć jest publiczna
chce się dostać do SharePointa
Blokada
2.Jeżeli standardowy użytkownik łączy się do jakiejkolwiek aplikacji z sieci publicznej to…Tak bywa, home office, potwierdźmy tożsamość dwuskładnikowym uwierzytelnianiem (MFA)Faktycznie:
to zwykły użytkownik
sieć nie jest siecią korporacyjną
chce odebrać pocztę
Wymagamy MFA, jeśli się dodatkowo nie zautoryzuje Blokujemy.
Jeśli potwierdzi tożsamość MFA – pozwalamy na połączenie.

Oczywiście w praktyce jest trochę bardziej… elastyczne i efektywne.

Zdefiniujmy dla przykładu kilka wymagań stawianych przez departament bezpieczeństwa:

  1. Administrator może się połączyć poza siecią korporacyjną tylko z zarejestrowanego komputera i musi używać MFA
  2. Użytkownicy poza siecią korporacyjną muszą używać MFA
  3. Dla zdefiniowanych wcześniej sieci niebezpiecznych (NET_NOTRUST) nie pozwalamy na żadne logowania.

Jakie polityki zdefiniujemy?

  1. Wszystkie połączenia z sieci NO_TRUST mają być Blokowane
    • Users and groups: All users
    • Cloud apps: All cloud apps
    • Locations: Include: Any location Exclude: NET_CORPO
    • Zablokuj dostęp
  2. Wszyscy użytkownicy poza siecią korpo muszą używać MFA
    • Users and groups: All users
    • Cloud apps: All cloud apps
    • Locations: Include: Any location Exclude: NET_CORPO
    • Zezwól na dostęp pod warunkiem
      • Wymagaj MFA
  3.  Administratorzy
    • Users and groups: Administrators
    • Cloud apps: All cloud apps
    • Locations: Include: Any location Exclude: NET_CORPO
    • Zezwól na dostęp pod warunkiem
      • Wymagaj urządzenia Hybrid Azure AD joined device

Hierarchia polityk dostępu warunkowego

Gdy administrator łączy się z sieci publicznej zastosowanie mają dwie polityki: 2 i 3

Polityka 2 wymaga od Administratora, ponieważ zalicza się do All users, użycia MFA a nstępnie polityka 3 wymaga od niego połączenia z zarejestrowanego urządzenia.

  1. Sprawdzane są wszystkie polityki dla których połączenie/użytkownik spełniają określone warunki.

  2. Każda z nich podaje swoje wymagania aby zezwolić na dostęp.

  3. Jeżeli użytkownik spełni wymagania wszystkich polityk – uzyskuje dostęp.

  4. Jeżeli chociaż jedna z nich zabroni dostępu, wynik działania pozostałych nie ma znaczenia.