Od czego zacząć? Przykładowy plan dla CISO, który chce zapanować nad NHI
W serii artykułów o Non-Human Identities (NHI) pokazaliśmy, jak duże zagrożenie stanowią konta maszynowe i jak trudno je kontrolować. Wiemy już, że standardowe narzędzia IAM, PAM i CSPM nie wystarczają, że wiele organizacji trzyma sekrety w kodzie, nie rotuje ich i nie ma wglądu w to, kto używa kont maszynowych.
Jeśli jesteś CISO i chcesz odzyskać kontrolę nad tym niewidzialnym obszarem, zadaj sobie następujące pytania:
- Czy wiem, ile jest kont maszynowych (NHI) w mojej organizacji?
- Czy wiem, kto je kontroluje, jaka osoba czy zespół odpowiada za konkretny byt NHI?
- Czy wiem, które są bezpieczne, a które nie?
Jeśli nie jesteś w stanie odpowiedzieć na te pytania konkretną liczbą, nazwą systemu albo nazwiskiem właściciela, to znaczy, że zarządzanie Non-Human Identities (NHI) – kontami maszynowymi, serwisowymi i aplikacyjnymi – nie jest pod pełną kontrolą. I to jest normalny punkt startowy: większość organizacji, z którymi rozmawiamy, widzi tylko fragment większej całości. Wiedzą, że „jakieś konta serwisowe są”, ale nie potrafią powiedzieć, ile ich jest, kto je utrzymuje, które są krytyczne, a które można bezpiecznie wyłączyć.
Poniżej przedstawiamy przykładowy plan działania, mogący posłużyć jako punkt wyjścia do uporządkowania i zabezpieczenia tożsamości nieludzkich w organizacji. Nie jest to plan sztywny ani uniwersalny, ale bazuje na najlepszych praktykach i konkretach, które działają. Na początku nie musisz nawet zakładać realizacji wszystkich punktów, ale zajęcie się chociażby dwoma początkowymi pozwoli Ci zrozumieć, jaki obszar masz do zabezpieczenia.
Jak zebrać dane i jak wykonać pełną inwentaryzację kont maszynowych (NHI)?
Bez tego nie ruszysz dalej. Zidentyfikuj wszystkie konta NHI we wszystkich środowiskach: chmurowych, on-premises, CI/CD, bazach danych, aplikacjach SaaS. Uwzględniaj konta serwisowe, klucze API, tokeny, certyfikaty, konta techniczne w narzędziach automatyzacji i integracji.
Użyj narzędzi skanujących chmurę (jeżeli nie masz żadnych komercyjnych rozwiązań, które pomogą Ci zrealizować to zadanie, pomyśl o wykorzystaniu API z poziomu skryptów), przepytaj zespoły DevOps, przeszukaj repozytoria kodu. Zanotuj metadane kont: gdzie używane, kto jest właścicielem, kiedy ostatnio aktywne.
Jak przypisać odpowiedzialność, czyli kto i za co powinien odpowiadać
Każdy token, konto czy klucz powinny mieć przypisanego właściciela (osobę lub zespół), który zatwierdzi jego istnienie i będzie za nie odpowiadał. Brak ownership to jedna z głównych przyczyn problemów z NHI. Stwórz nawet prostą listę w Excelu, która będzie miejscem przechowywania i aktualizowania takich informacji – jeżeli z czasem okaże się to niewystarczające, pomyśl o tym, co może zaoferować Ci rynek rozwiązań NHI.
Czy wyczyścić to, co zbędne, czyli konta osierocone, nieużywane i nadmiarowe?
Nie czekaj z czyszczeniem na „pełną widoczność”. Już na etapie inwentaryzacji będziesz w stanie wychwycić konta nieużywane od miesięcy, nieposiadające właściciela czy o podejrzanie szerokich uprawnieniach. Dezaktywuj je, unieważnij tokeny, zmniejsz przywileje. To szybkie ruchy, które natychmiast obniżą ryzyko. Twój Excel z listą kont i odpowiedzialności zacznie żyć.
Czy warto zakazać interaktywnego używania kont maszynowych?
Często spotykanym nadużyciem jest używanie konta maszynowego do logowania się przez człowieka (np. administrator loguje się kontem aplikacyjnym). To poważne ryzyko, które należy zidentyfikować i zablokować. Wprowadź regułę – konta maszynowe nie mogą być używane interaktywnie. W miarę możliwości skonfiguruj SIEM, by wyłapywać takie przypadki. Znowu – jeżeli masz SIEM i możesz go wykorzystać do śledzenia prób takiej aktywności, to świetnie. Pamiętaj jednak, że są rozwiązania, które potrafią to ułatwić.
Jak zabezpieczyć sekrety – czy menedżer i rotacja sekretów wystarczą?
Sekrety muszą trafić do centralnego vaulta (np. HashiCorp Vault, AWS Secrets Manager). Jeśli sekrety są w kodzie, skryptach czy plikach konfiguracyjnych – usuń je natychmiast. Wprowadź rotację haseł i tokenów, zaczynając od najważniejszych. Docelowo rotacja powinna być automatyczna i zsynchronizowana z CI/CD. Jest to z całą pewnością ogromna praca do wykonania, ale jeżeli nie możesz zmienić wszystkiego „na już”, zacznij edukację zespołów i wprowadź zasady, które stopniowo pozwolą osiągnąć stan docelowy.
Co daje integracja z procesem wytwarzania – NHI w DevSecOps?
Nowe konta maszynowe powinny powstawać według zasady: zarejestrowane w katalogu NHI, z przypisanym właścicielem, z kontrolowanym cyklem życia, z bezpiecznie zarządzanym sekretem. Uczyń to częścią pipeline’u DevSecOps. Równie ważne: pamiętaj o offboardingu – usuwaniu kont i kluczy po zamknięciu projektu. Czasami wystarczy spisanie prostych zaleceń i procedur dla zespołów, tak by miał świadomość takich działań, a przede wszystkim jasną ścieżkę postępowania.
Jak wprowadzić zasady zarządzania kontami NHI?
Co zmierzysz, tym możesz zarządzać. Zdefiniuj metryki, np. procent kont NHI z przypisanym właścicielem, średni wiek sekretu, liczba kont z nadmiarowymi uprawnieniami. Zbuduj wokół tego politykę: tworzenie, przeglądy, rotację, usuwanie. Edukuj zespoły i zakotwicz zasady w kulturze organizacji. Nie tylko będzie to ładnie wyglądać na prezentacjach dla zarządu, ale praktycznie zwiększy poziom bezpieczeństwa w organizacji.
Podsumowanie
Zarządzanie NHI to temat przekrojowy. Nie zaczynaj od narzędzi, zaczynaj od widoczności i odpowiedzialności. Powyższy plan możesz rozbudowywać, ale jeśli wykonasz dobrze powyższe siedem kroków, będziesz o krok dalej niż większość organizacji.
Na koniec wróć do trzech pytań:
- Czy wiem, ile jest kont maszynowych (NHI) w mojej organizacji?
- Czy wiem, kto je kontroluje, jaka osoba czy zespół odpowiada za konkretny byt NHI?
- Czy wiem, które są bezpieczne, a które nie?
Po wdrożeniu powyższego planu odpowiedź powinna być coraz prostsza: „Tak, mamy nad tym coraz większą kontrolę – znamy liczbę kont NHI, ich właścicieli i poziom ryzyka. I mamy konkretny plan, jak to ryzyko dalej obniżać”.
Zapraszamy do kontaktu z naszym zespołem w ProLimes!




