Zero Trust
| Po angielsku | zero trust |
|---|---|
| Którą formą pisać | po angielsku Polski odpowiednik istnieje, ale w praktyce nikt tak nie pisze. Zostaw angielski, polski trzymaj jako synonim. |
| Inne formy | zerowe zaufanie · architektura zerowego zaufania |
| Kategoria | Kryptografia, tożsamość i uwierzytelnianie |
Zero Trust to model bezpieczeństwa, w którym obrona przesuwa się ze statycznego obwodu sieci na użytkowników, urządzenia i zasoby [2]. Żadne żądanie nie jest uznawane za zaufane tylko dlatego, że przychodzi z sieci firmowej albo z urządzenia należącego do organizacji [2]. Każdy dostęp wymaga osobnego uwierzytelnienia i autoryzacji przed udzieleniem zgody [2]. CERT Polska streszcza tę zasadę słowami „nigdy nie ufaj, zawsze weryfikuj” [4].
Jak działa
Klasyczny model zakłada twardą granicę: to, co za zaporą sieciową, jest zaufane, a to, co przed nią, nie. W modelu Zero Trust sieć traktuje się jako środowisko potencjalnie wrogie [4]. NIST w publikacji SP 800-207 z sierpnia 2020 roku opisuje architekturę Zero Trust przez siedem zasad [2] [1]. Najważniejsze z nich to:
- położenie w sieci samo w sobie nie oznacza zaufania, a cała komunikacja jest zabezpieczona niezależnie od miejsca [1];
- dostęp do każdego zasobu przyznaje się na czas jednej sesji, z najmniejszymi potrzebnymi uprawnieniami, a dostęp do jednego zasobu nie otwiera automatycznie innego [1];
- o dostępie decyduje dynamiczna polityka, uwzględniająca tożsamość, stan urządzenia i atrybuty środowiska [1];
- żaden zasób nie jest z natury zaufany, a organizacja stale mierzy stan bezpieczeństwa swoich urządzeń [1];
- uwierzytelnianie i autoryzacja są dynamiczne i wymuszane przed dostępem, w tym przez uwierzytelnianie wieloskładnikowe (MFA) [1].
Składniki
NIST dzieli architekturę na logiczne elementy [1]. Ich zadania zestawia tabela.
| Element | Zadanie |
|---|---|
| silnik polityk (policy engine, PE) | podejmuje ostateczną decyzję o dostępie podmiotu do zasobu [1] |
| administrator polityk (policy administrator, PA) | zestawia albo zamyka ścieżkę komunikacji, wydaje poświadczenia sesji [1] |
| punkt egzekwowania polityk (policy enforcement point, PEP) | włącza, monitoruje i kończy połączenie z zasobem [1] |
| źródła danych | stan urządzeń, threat intelligence, logi i reguły jako wejście do decyzji [1] |
Silnik polityk korzysta z tak zwanego algorytmu zaufania i może dostęp przyznać, odmówić go albo cofnąć [1]. Przebieg pojedynczego żądania pokazuje schemat poniżej.
NIST wymienia trzy podejścia do wdrożenia: przez rozbudowane zarządzanie tożsamością, przez mikrosegmentację i przez infrastrukturę sieciową z programowo definiowanym obwodem [1]. CERT Polska wskazuje separację sieci jako jedną z warstw realizujących zasady Zero Trust, a mikrosegmentację jako segmentację na poziomie pojedynczych obciążeń [4]. Dostęp zdalny w tym modelu realizuje zwykle ZTNA, a decyzje kontekstowe opisuje hasło dostęp warunkowy.
W WordPressie
Pojedyncza strona WordPress nie jest siecią przedsiębiorstwa, ale kilka zasad Zero Trust ma w niej bezpośrednie odpowiedniki.
- Sprawdzanie uprawnień przy każdej akcji. Podręcznik wtyczek zaleca, by kod wykonywał się tylko wtedy, gdy bieżący użytkownik ma potrzebne uprawnienie [6], sprawdzane funkcją
current_user_can(). Samo zalogowanie nie powinno otwierać wszystkich funkcji; zob. weryfikacja uprawnień i role i uprawnienia użytkowników. - Weryfikacja każdego żądania REST API. Przy uwierzytelnianiu ciasteczkiem każde żądanie musi zawierać nonce z akcją
wp_rest[7]. - Osobne poświadczenia dla integracji. Od wersji 5.6 WordPress oferuje hasła aplikacji (application passwords) do uwierzytelniania Basic przez HTTPS [7]. Każda integracja może mieć własne hasło, które da się cofnąć bez zmiany hasła konta.
- Najmniejsze uprawnienia. Redaktor treści nie potrzebuje roli administratora; zob. zasada najmniejszych uprawnień.
Na poziomie serwera odpowiednikiem są: logowanie do panelu hostingu i SSH z MFA, osobne konta dla każdej osoby oraz brak zaufania do adresów IP „z biura” jako jedynego zabezpieczenia.
Znaczenie
NIST zauważa, że skoro położenie w sieci nie daje zaufania, atakujący musi przejąć istniejące konto albo urządzenie, by zdobyć przyczółek [1]. Dobrze wdrożona architektura powinna nie pozwolić przejętemu kontu sięgać po zasoby spoza jego zwykłego zakresu [1]. Utrudnia to lateral movement, czyli przechodzenie po sieci z jednego systemu na kolejne.
Model ma granice. Ta sama publikacja przyznaje, że atakujący z ważnymi danymi uwierzytelniającymi albo nieuczciwy pracownik nadal może sięgnąć po zasoby, do których konto ma dostęp [1]. Silnik polityk staje się też nowym celem: NIST wymienia wśród zagrożeń podważenie procesu decyzyjnego i ataki odmowy usługi na jego elementy [1].
Historia i regulacje
NIST łączy genezę modelu z pracami Jericho Forum z 2004 roku nad deperymetryzacją, czyli ograniczaniem zaufania wynikającego z położenia w sieci [1]. Sam termin „zero trust” ukuł później John Kindervag, pracujący wówczas w firmie Forrester [1].
Amerykańska agencja CISA opublikowała model dojrzałości Zero Trust. Wersja 2.0 uwzględnia zgodność z memorandum OMB M-22-09 ze stycznia 2022 roku [3]. Model obejmuje pięć filarów i trzy zdolności przekrojowe, a w każdym filarze cztery stopnie: tradycyjny, początkowy, zaawansowany i optymalny [3].
W prawie Unii Europejskiej pojęcie pojawia się w dyrektywie NIS2. Motyw 89 wskazuje, że podmioty kluczowe i ważne powinny przyjąć podstawowe praktyki cyberhigieny, takie jak zasady zerowego zaufania [5]. Polska wersja aktu używa formy opisowej, w praktyce branżowej dominuje nazwa angielska.
Przypisy
7- [1] NIST SP 800-207: Zero Trust Architecture (PDF) · NIST
- [2] SP 800-207: Zero Trust Architecture — strona publikacji · NIST
- [3] Zero Trust Maturity Model · CISA
- [4] Separacja sieci · CERT Polska
- [5] Dyrektywa Parlamentu Europejskiego i Rady (UE) 2022/2555 (NIS2) · EUR-Lex
- [6] Checking User Capabilities — Plugin Handbook · WordPress.org
- [7] Authentication — REST API Handbook · WordPress.org