W każdej firmie od dwudziestu osób wzwyż działa równolegle druga grupa użytkowników, o której zarząd nic nie wie. Nie odbiera pensji, nie chodzi na spotkania i nie odchodzi na emeryturę. Loguje się natomiast do najbardziej krytycznych systemów, często z prawami administratora. To konta serwisowe — i w większości MŚP nikt nie potrafi powiedzieć, ile ich jest.
To nie jest teoria. W jednym z projektów, do którego weszliśmy z audytem, integracja Comarch Optima z systemem WMS działała z konta o nazwie „integracja". Konto założył 4 lata wcześniej zewnętrzny konsultant, dodał je do grupy Domain Admins „na wszelki wypadek" i nikt tego później nie ruszył. Hasło było zapisane w pliku konfiguracyjnym na dysku sieciowym, do którego dostęp miała cała księgowość. Gdyby atakujący znalazł się w tej sieci — a znaleźć się w niej dzisiaj nie jest trudno — miałby zaufany klucz do wszystkiego.
Tekst jest o tym, dlaczego takie konta są największą, a jednocześnie najczęściej ignorowaną luką w bezpieczeństwie MŚP, i co można z tym zrobić w normalnym budżecie.
Czym są konta serwisowe
Konto serwisowe to konto, które nie należy do konkretnej osoby. Loguje się nim proces: skrypt, integracja, drukarka sieciowa, kopia zapasowa, aplikacja księgowa łącząca się z bankiem. Typowe przykłady w firmie 20–50 osób:
- Konto pod integrację ERP z WMS albo z systemem kurierskim.
- Konto, z którego uruchamia się nocny backup baz danych.
- Konto techniczne aplikacji sklepowej łączącej się z Comarch Optima albo Subiektem.
- Konto na drukarce wielofunkcyjnej, żeby mogła skanować do folderu współdzielonego.
- Konto pod agenta monitoringu (Zabbix, PRTG, Nagios) chodzącego po serwerach.
- Konto pod skrypt PowerShell, który raz w tygodniu robi raport dla właściciela.
Te konta łączy jedno: nikt się do nich świadomie nie loguje. Powinny być niewidoczne. Właśnie dlatego są takim dobrym celem.
Dlaczego to problem
Konta pracowników mają cykl życia. Zatrudniasz — zakładasz konto. Zwalniasz — wyłączasz konto. Rotujesz hasła. Wprowadzasz MFA. Konto serwisowe nie ma tego cyklu. Jest zakładane raz, „żeby zadziałało", i zostaje tam wiecznie. Kombinacja typowa dla MŚP wygląda tak:
- Hasło nigdy się nie zmienia — bo „przecież wszystko się wtedy popsuje".
- Uprawnienia rosną, nie maleją — bo prościej dodać rolę niż sprawdzić, jakiej naprawdę potrzeba.
- Hasło leży w pliku — konfiguracyjnym, w kodzie skryptu, w mailu do konsultanta sprzed trzech lat.
- Brak MFA — bo drukarka nie umie potwierdzić kodu z telefonu.
- Brak logów — bo nikt nie ustawił monitorowania czegoś, co „i tak działa cały czas".
Efekt jest przewidywalny. Atakujący, który wejdzie na jeden komputer w firmie (przez phishing, dziurę w przeglądarce, cokolwiek), zaczyna się rozglądać. I nie idzie od razu na admina domeny — bo tego admina ktoś obserwuje. Idzie na konto „backup", „integracja", „sql-service". Znajduje jego hasło w skrypcie, zapisane wtedy, kiedy nikomu się nie chciało robić czegoś porządnie. I od tego momentu porusza się po Twojej sieci jako zaufany proces.
U jednego z klientów, 18-osobowej hurtowni elektrycznej, znaleźliśmy 4 konta serwisowe, z których każde miało prawa Domain Admin. Dwa z nich miały hasła w plikach ini na dysku sieciowym, otwartym do odczytu dla wszystkich pracowników. Podmiana wszystkich czterech na osobne konta, każde z minimalnym niezbędnym zakresem uprawnień, zajęła nam 3 tygodnie roboczodni. Koszt tej pracy to ułamek tego, co ta sama firma wydała rok wcześniej na komercyjny antywirus — a realna dziura, przez którą można było wjechać czołgiem, była właśnie tam.
Jak zrobić inwentaryzację
Zanim zaczniesz cokolwiek zmieniać, musisz wiedzieć, co masz. Konta serwisowe są rozproszone, więc nie ma jednego przycisku „pokaż listę". Ale jest krótka, praktyczna lista miejsc, w których żyją:
- Active Directory / Entra ID — filtruj po kontach, które nigdy nie logują się interaktywnie, ale mają aktywne sesje albo należą do grup uprzywilejowanych.
- Serwery aplikacyjne — sprawdź, jakie konto uruchamia usługi Windows (Services → LogOn). Konta z formatu
.\Administratorprawie zawsze są warte uwagi. - Bazy danych — jakie konta łączą się z SQL Server, MySQL, Postgresem. Konta typu
sa,root,appprawie zawsze coś znaczą. - Skrypty i harmonogramy zadań — Task Scheduler, cron, skrypty PowerShell na serwerach. Konto pod zadaniem = konto serwisowe.
- Aplikacje SaaS — konta do integracji z Comarch Optima, bankami, kurierami, sklepami. Zwykle mają w nazwie „api", „integration", albo są to skrzynki typu
it@firma.pl. - Urządzenia — drukarki, skanery, kamery, kontrolery domenowe drukarni. Zwykle logują się jednym kontem do folderu współdzielonego.
Efektem jest arkusz: nazwa konta / gdzie się loguje / co robi / kiedy ostatnio ktoś dotykał hasła / kto wie, gdzie to hasło jest. Ten arkusz w większości MŚP nie istnieje. Sam fakt, że powstaje, jest połową sukcesu.
Jak nimi zarządzać
Higiena kont serwisowych to nie jest jeden wielki projekt. To kilka nawyków, które trzeba wprowadzić raz i utrzymywać.
- Jedno konto = jedno zadanie. Konto pod backup nie loguje się do systemu kurierskiego. Jeśli jedno konto obsługuje trzy różne rzeczy, w razie kompromitacji tracisz trzy rzeczy naraz.
- Minimum uprawnień. Konto integracyjne między ERP a WMS nie musi być Domain Adminem. Prawie nigdy nie musi. Zacznij od najmniejszych uprawnień i dodawaj tylko wtedy, kiedy coś rzeczywiście przestanie działać.
- Hasła w password managerze, nie w pliku. Bitwarden, 1Password, KeePass — cokolwiek, byleby nie plaintext na dysku. Rozwiązania klasy enterprise (Azure Key Vault, AWS Secrets Manager) pozwalają dodatkowo automatycznie rotować hasła — ale nawet zwykły vault na starcie jest o rząd wielkości lepszy niż plik
config.ini. - Managed Service Accounts w Windows. Jeśli masz Active Directory, gMSA (group Managed Service Accounts) same rotują hasła i eliminują problem „hasło w pliku". To jedna z niewielu rzeczy, które warto wdrożyć nawet w niewielkim środowisku.
- Rotacja co 12 miesięcy. Wpisujesz do kalendarza raz. Jeśli hasła nie da się zmienić bez restartu wszystkiego, to znak, że konto jest źle zaprojektowane — nie usprawiedliwienie, żeby go nie zmieniać.
- Alerty na nietypowe logowanie. Konto
backup, które nagle zaczyna logować się o 3:00 w nocy z komputera księgowej, jest atakiem. Prosty alert e-mail wystarczy — nie musisz kupować SIEM-a.
Co dalej
W większości firm, do których wchodzimy z audytem bezpieczeństwa, konta serwisowe są tym elementem, o którym nikt wcześniej nie pomyślał. Nie dlatego, że ludzie są nieodpowiedzialni, tylko dlatego, że te konta z definicji są niewidzialne. Widać je dopiero wtedy, kiedy się je świadomie policzy.
Jeżeli nie wiesz, ile takich kont pracuje w Twojej firmie w tej chwili — nie zgaduj. Zacznij od 30 minut rozmowy. Powiemy, gdzie szukać, w jakiej kolejności zmniejszać ryzyko i co można zrobić samodzielnie, zanim zaangażujesz kogokolwiek z zewnątrz.
Konto, którego nie widać, nie znaczy, że nie istnieje. Znaczy, że nikt go nie chroni.