NAC (network access control)
| Po angielsku | network access control (NAC) |
|---|---|
| Którą formą pisać | bez tłumaczenia Skrót, nazwa własna albo nazwa standardu — nie tłumaczymy w ogóle. |
| Inne formy | kontrola dostępu do sieci (opisowo, nie jako tytuł hasła) · uwierzytelnianie urządzeń w sieci (opisowo) |
| Kategoria | Sieć i infrastruktura obronna |
NAC (network access control) to klasa rozwiązań, które wpuszczają urządzenie do sieci dopiero po jego uwierzytelnieniu i sprawdzeniu, czy spełnia politykę bezpieczeństwa. Urządzenie niespełniające wymagań trafia do sieci kwarantanny albo nie dostaje dostępu. NIST opisuje NAC jako funkcję, która przyznaje dostęp na podstawie poświadczeń użytkownika i wyników kontroli stanu urządzenia [1]. Typowym mechanizmem uwierzytelniania urządzeń w sieci lokalnej jest standard IEEE 802.1X, który zapewnia uwierzytelnienie na porcie sieci [2].
Jak działa
NAC łączy dwa pytania: kim jest urządzenie i w jakim jest stanie. Na pierwsze odpowiada uwierzytelnianie na porcie przełącznika albo w sieci bezprzewodowej. RFC 3580 z września 2003 roku opisuje, że IEEE 802.1X umożliwia uwierzytelniony dostęp do sieci IEEE 802, w tym Ethernetu i bezprzewodowych sieci 802.11 [2]. W modelu 802.1X występują trzy role [2]:
| Rola | Kto to jest | Przykład |
|---|---|---|
| Suplikant (supplicant) | urządzenie, które się uwierzytelnia [2] | laptop pracownika |
| Uwierzytelniający (authenticator) | strona wymagająca uwierzytelnienia [2] | przełącznik, punkt dostępowy |
| Serwer uwierzytelniania | weryfikuje tożsamość na podstawie poświadczeń [2] | serwer RADIUS |
Wiadomości protokołu EAP przechodzą od uwierzytelniającego do serwera w atrybucie RADIUS EAP-Message [2]. Po udanym uwierzytelnieniu serwer może wskazać, do której sieci VLAN przypisać port: służą do tego atrybuty Tunnel-Type, Tunnel-Medium-Type i Tunnel-Private-Group-ID [2].
Na drugie pytanie odpowiada ocena stanu (posture). RFC 5209 z czerwca 2008 roku definiuje ją jako konfigurację lub stan sprzętu i oprogramowania urządzenia w odniesieniu do polityki bezpieczeństwa organizacji [3]. Typowo sprawdzane są oprogramowanie antywirusowe, zapora na hoście i poprawki bezpieczeństwa [3]. Cały proces pokazuje schemat poniżej.
Składniki
RFC 5209 dzieli ocenę urządzenia na trzy fazy: zbieranie danych o stanie, ich ocenę według polityki i naprawę [3]. Urządzenie niezgodne może zostać umieszczone w sieci o ograniczonym dostępie na czas naprawy [3], czyli w kwarantannie. Wynik oceny wpływa na decyzję o dostępie, ale jej egzekwowanie należy do innych elementów infrastruktury [3].
Egzekwowanie opiera się zwykle na segmentacji sieci. CERT Polska opisuje VLAN (standard IEEE 802.1Q) jako podstawowy mechanizm logicznej separacji w sieciach lokalnych [4]. Ruch między sieciami VLAN jest domyślnie zablokowany i wymaga routingu przez zaporę sieciową (firewall) albo urządzenie warstwy trzeciej [4]. Dodatkowo listy kontroli dostępu na przełącznikach i routerach filtrują ruch według adresów, portów i protokołów [4].
W WordPressie
NAC nie chroni samej strony WordPress wystawionej do internetu: odwiedzający nie przechodzą przez 802.1X. Ma znaczenie dla sieci, z której loguje się administrator, i dla infrastruktury hostingu. Stacja z nieaktualnym systemem albo zainfekowana infostealerem w sieci biurowej może przejąć zapisane hasła do panelu. NAC, który sprawdza stan poprawek i ochronę antywirusową [3], zmniejsza szansę, że taka maszyna trafi do sieci z dostępem do serwerów.
Dostęp do panelu wp-admin i do usług administracyjnych serwera, takich jak SFTP, częściej ogranicza się na poziomie aplikacji i hostingu: przez białą listę adresów IP, VPN albo ZTNA. To ta sama idea przeniesiona z sieci lokalnej na usługi w internecie.
Zagrożenia i skutki
NAC ma ograniczenia wbudowane w sam model. RFC 5209 wprost wyłącza z zakresu wykrywanie urządzeń, które kłamią o swoim stanie, i przyznaje, że nie wszystkie urządzenia będą współpracować [3]. Oprogramowanie złośliwe z uprawnieniami administratora może więc zgłosić, że system jest aktualny.
Samo dopuszczenie do sieci nie powinno też oznaczać zaufania. NIST w publikacji o architekturze Zero Trust z sierpnia 2020 roku zakłada, że żadne zaufanie nie jest przyznawane zasobom ani kontom wyłącznie na podstawie ich fizycznej lub sieciowej lokalizacji [5]. Urządzenie dopuszczone przez NAC wciąż może posłużyć do ruchu bocznego (lateral movement).
Wreszcie serwer NAC sam jest celem ataku, bo decyduje o dostępie do całej sieci. W lutym 2023 roku Fortinet opublikował informację o podatności CVE-2022-39952 w produkcie FortiNAC, z oceną CVSS 9,8 [6]. Błąd w serwerze WWW urządzenia mógł pozwolić nieuwierzytelnionemu atakującemu na dowolny zapis w systemie [6]. Dotyczył między innymi wersji 9.4.0 i 9.2.0–9.2.5, a poprawki ukazały się w wersjach 9.4.1, 9.2.6 i 9.1.8 [6]. To przykład podatności wykorzystywanej bez uwierzytelnienia.
Dobre praktyki
- Przypisuj urządzenia po uwierzytelnieniu do osobnych sieci VLAN według roli: pracownicy, goście, urządzenia IoT, serwery [2].
- Stosuj zasadę „domyślnie zabroń” między segmentami i dopuszczaj tylko potrzebne przepływy [4].
- Sprawdzaj stan poprawek i ochrony antywirusowej, ale traktuj ten wynik jako wskazówkę, nie dowód [3].
- Traktuj urządzenia prywatne (BYOD) jak niezaufane i kieruj je do sieci bez dostępu do zasobów wewnętrznych.
- Aktualizuj oprogramowanie samego rozwiązania NAC i ogranicz dostęp do jego interfejsu zarządzania [6].
Przypisy
6- [1] Network Access Control (NAC) — CSRC Glossary · NIST
- [2] RFC 3580: IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines · IETF
- [3] RFC 5209: Network Endpoint Assessment (NEA): Overview and Requirements · IETF
- [4] Separacja sieci — Baza wiedzy CERT Polska · CERT Polska
- [5] SP 800-207: Zero Trust Architecture · NIST
- [6] FG-IR-22-300: External Control of File Name or Path in keyUpload scriptlet · Fortinet PSIRT