Zaznacz stronę

Kontraktor B2B ma jeden komputer i trzy życia: wiele firm, dla których pracuje, oraz własny dom. Każde z tych żyć chce od tej samej maszyny czegoś innego, a tylko jedno z nich nie chce niczego. O tym, dlaczego świeżo kupiony laptop nie nadaje się do pracy, choć działa bez zarzutu, i co z tym zrobić bez zakładania sobie kagańca.

Poniedziałek, ósma rano. Laptop budzi się na kuchennym stole. Pierwsze logowanie: VPN firmy A, repozytorium kodu, kanał na komunikatorze, w którym ktoś już pyta o wczorajszą poprawkę. Po południu ten sam laptop, ten sam profil w przeglądarce, ale drugi klient. Firma B ma inne hasła, inne dokumenty i inną politykę: pliki z danymi jej klientów nie mogą opuścić jej systemów, a ona chciałaby wiedzieć, że tak jest naprawdę. Wieczorem komputer przechodzi w ręce córki, bo ma najlepszą kartę graficzną w domu, a potem partnerka sprawdza na nim konto w banku i drukuje bilety na weekend.

Cztery godziny, trzy światy, jeden dysk. Firma A chce mieć pewność, że system jest aktualny i że nikt obcy do niego nie zagląda. Firma B chce, żeby jej dane nie wyciekły, i chciałaby móc to udowodnić audytorowi. Dom nie chce niczego. Dom chce, żeby działało.

To rozdarcie nie wynika z niedbalstwa. Wynika z tego, że komputer nie wie, w którym świecie akurat jest, i nikt mu tego nie powiedział. Ten tekst jest o tym, jak mu to powiedzieć, bez kupowania drugiej maszyny i bez zamieniania własnego laptopa w firmowy terminal.

Komputer, który niczego się nie spodziewa

Nowy laptop wyjęty z pudełka jest zoptymalizowany pod jedno: żeby nie przeszkadzać. Pierwsze konto, które zakładamy, dostaje pełne uprawnienia administratora, bo tak jest wygodniej. Aktualizacje przyjdą, kiedy przyjdą. Zapora sieciowa przepuszcza to, o co poproszą programy. W tle pracuje kilkanaście usług „na wszelki wypadek”, od udostępniania plików w sieci domowej po zdalną pomoc, z której nikt nigdy nie skorzysta. Szyfrowanie dysku jest włączone albo nie, zależnie od wersji systemu i od tego, czy ktoś kliknął właściwe okno przy pierwszym uruchomieniu.

Dla użytkownika prywatnego to rozsądny kompromis. Producent nie wie, kto kupił komputer, więc ustawia go tak, żeby zadziałał w każdym scenariuszu. Nikt nie musi zakładać sobie kagańca ani pytać o zgodę przed instalacją gry.

Kłopot w tym, że ten sam komputer, bez żadnej zmiany w środku, staje się w poniedziałek rano stanowiskiem pracy w firmie, która ma dział bezpieczeństwa, audytora i umowę z ważnym klientem. Nikt mu tego nie powiedział. Konto administratora, na którym wieczorem siedzi córka, jest tym samym kontem, na którym rano otwierają się pliki firmy B. Przeglądarka trzyma hasła do obu firm i do domowego banku w jednym miejscu. Program pobrany „na chwilę” do konwersji wideo ma dokładnie takie same uprawnienia jak narzędzia, którymi pracujemy dla klienta.

Świeży komputer nie jest niebezpieczny. Jest neutralny. A neutralność w miejscu pracy to za mało.

Kiedy po drugiej stronie siedzi firma

Od 3 kwietnia 2026 roku obowiązuje w Polsce znowelizowana ustawa o krajowym systemie cyberbezpieczeństwa, która wdraża unijną dyrektywę NIS2. Według szacunków Ministerstwa Cyfryzacji nowe obowiązki mogą objąć około 38 tysięcy podmiotów: firmy z energetyki, transportu, bankowości i ochrony zdrowia, ale też dostawców usług cyfrowych, firmy zarządzające usługami ICT i jednostki badawcze.

Freelancer ani jednoosobowa spółka B2B nie figurują w tym wykazie. Ustawa nie nakłada na nich obowiązków wprost. Nakłada je na zleceniodawcę, i tu zaczyna się mechanizm, który warto zrozumieć. Podmiot objęty ustawą musi zarządzać ryzykiem w całym łańcuchu dostaw, a kontraktor na własnym laptopie jest częścią tego łańcucha. Jego komputer jest dla firmy urządzeniem, którego nie kontroluje, a które ma dostęp do jej kodu, danych i systemów. Z punktu widzenia audytora to dokładnie ta sama kategoria, co laptop pracownika, tylko bez firmowego nadzoru.

Skutek jest prosty: wymagania spływają w dół, przez umowę. Kontrakt zaczyna zawierać zapisy o szyfrowaniu dysku, aktualizacjach, dwuskładnikowym logowaniu, o tym, że dostęp do danych ma wyłącznie wykonawca osobiście, i coraz częściej o tym, że firma ma prawo poprosić o dowód. Nie o deklarację, tylko o dowód: raport, zrzut konfiguracji, wynik audytu. Część firm idzie dalej i wymaga instalacji własnego agenta monitorującego na komputerze kontraktora, co dla osoby pracującej dla dwóch klientów naraz jest osobnym problemem: dwa agenty dwóch firm na jednym prywatnym dysku, każdy z wglądem w to, co robi drugi.

Ciągłość jest tu słowem kluczowym. Firma nie pyta, czy komputer był bezpieczny w dniu podpisania umowy. Pyta, czy jest bezpieczny w każdy poniedziałek i czy da się to sprawdzić.

Wróg nie musi być hakerem

W wyobraźni większości ludzi zagrożenie dla komputera ma twarz hakera w kapturze. W praktyce znacznie częściej ma twarz kogoś, kogo kochamy. Dziecko instaluje modyfikację do gry z forum, którego nazwy nie potrafi powtórzyć. Partner klika w link z fałszywego SMS-a o paczce. Gość podłącza własny pendrive, „bo ma zdjęcia z wakacji”. Żadna z tych osób nie ma złych zamiarów. Każda z nich ma za to pełne uprawnienia, bo komputer nie rozróżnia, kto przy nim siedzi.

Druga grupa nie ma twarzy wcale. To programy. Darmowy konwerter plików, który po cichu dokłada rozszerzenie do przeglądarki. Aplikacja do notatek, która prosi o dostęp do wszystkich dokumentów, bo „tak jest wygodniej”. Sterownik z nieoficjalnego źródła. Każdy z tych programów robi dokładnie to, na co mu pozwolono, a pozwolono mu na wszystko.

Utwardzenie systemu (branża mówi: hardening) zmienia ten układ w dwóch miejscach. Po pierwsze, oddziela światy: praca dzieje się na osobnym koncie bez uprawnień administratora, dom na innym, a instalacja czegokolwiek wymaga świadomej decyzji i hasła. Po drugie, zostawia ślady. Włączone dzienniki zdarzeń sprawiają, że kiedy coś się dzieje, da się ustalić co, kiedy i z którego konta. Nie po to, żeby kogoś w domu przyłapać. Po to, żeby na pytanie klienta „czy ktoś obcy miał dostęp do naszych plików?” odpowiedzieć inaczej niż „chyba nie”.

Dlatego to nie jest kaganiec. Kaganiec ogranicza tego, kto go nosi. To raczej płot między ogródkami: każdy zostaje u siebie, a właściciel wie, kto przez niego przeszedł.

Próba generalna przed produkcją

Jest jeszcze jeden powód, o którym rzadko się mówi, a który dotyczy przede wszystkim programistów i administratorów pracujących dla dużych organizacji.

W korporacji z prawdziwym działem bezpieczeństwa komputer pracownika wygląda zupełnie inaczej niż domowy laptop. Nie ma uprawnień administratora. Nie uruchomi programu spoza listy dozwolonych. Nie zapisze pliku na pendrive. Skrypty są logowane, makra zablokowane, a ruch sieciowy przechodzi przez filtr. Środowisko produkcyjne, na które ostatecznie trafia praca kontraktora, jest jeszcze ciaśniejsze.

Developer, który tygodniami pracuje na całkowicie swobodnej maszynie, pisze oprogramowanie, które działa na całkowicie swobodnej maszynie. Potem przychodzi wdrożenie i okazuje się, że skrypt instalacyjny wymaga uprawnień, których nikt w firmie nie ma, że aplikacja zapisuje dane w katalogu, do którego produkcja nie pozwala pisać, a narzędzie pomocnicze, bez którego wszystko się rozsypuje, stoi na liście zabronionych. Zdanie „u mnie działa” jest w tej branży żartem, bo każdy je kiedyś wypowiedział.

Komputer utwardzony według tego samego wzorca, który obowiązuje u klienta, jest próbą generalną. Ograniczenia, które na co dzień lekko irytują, wyłapują te problemy w czwartek po południu na własnym biurku, a nie w piątek wieczorem podczas wdrożenia. Dla kontraktora to różnica między poprawką a reklamacją.

Wspólny język: czym jest CIS Benchmark

Skoro firma chce dowodu, a kontraktor chce wiedzieć, co właściwie ma ustawić, obie strony potrzebują wspólnego wzorca. Najczęściej używanym jest CIS Benchmark.

Center for Internet Security to amerykańska organizacja non profit, która od ponad dwudziestu lat zbiera praktyków bezpieczeństwa z całego świata i prosi ich o uzgodnienie jednej rzeczy: jak powinien być skonfigurowany dany system, żeby uchodzić za rozsądnie zabezpieczony. Wynikiem są benchmarki, osobne dla Windows 11, Windows Server, Ubuntu, macOS, popularnych przeglądarek i baz danych. Każdy z nich to długa, ponumerowana lista konkretnych ustawień, a przy każdym ustawieniu krótkie uzasadnienie, dlaczego ma znaczenie, i sposób, jak sprawdzić, czy jest spełnione.

Nie jest to jedyny taki wzorzec. Microsoft publikuje własne zalecane konfiguracje, wojsko amerykańskie ma swoje, część urzędów krajowych wydaje własne wytyczne. CIS jest jednak tym, na który najczęściej powołują się audytorzy i umowy, właśnie dlatego, że nie należy do żadnego producenta.

Benchmark ma dwa poziomy. Poziom pierwszy to ustawienia, które podnoszą bezpieczeństwo, a użytkownik prawie ich nie zauważa. Poziom drugi jest pomyślany dla środowisk o wysokich wymaganiach i bywa uciążliwy: część rzeczy przestaje działać, i to celowo.

Dla pojedynczego komputera, na którym pracuje kontraktor, liczy się kilka obszarów. Kto może być administratorem i jak długie musi być hasło. Czy dysk jest zaszyfrowany, tak by kradzież laptopa nie była kradzieżą danych. Czy zapora sieciowa przepuszcza tylko to, co konieczne. Czy system prowadzi dziennik zdarzeń, żeby po incydencie dało się odtworzyć przebieg. Czy wyłączone są usługi, których nikt nie używa, bo każda z nich to potencjalne drzwi. Czy nośniki wymienne i zdalny dostęp są pod kontrolą. Reszta benchmarku, a jest go kilkaset stron, dotyczy głównie serwerów i dużych sieci.

I tu pojawia się problem, o który rozbija się większość prób wdrożenia. Skaner zgodności wypluwa listę kilkuset niespełnionych punktów, płaską i bez hierarchii. Nie mówi, który z nich zablokuje jutro pracę, a którego nikt nie zauważy. W efekcie hardening albo kończy się na raporcie, albo wdraża się go hurtem i odkręca po pierwszej awarii.

Sentin-Harden: pytanie „co się zepsuje?”

Z tego problemu wyrósł Sentin-Harden, otwartoźródłowe narzędzie do audytu i utwardzania Windows i Linuksa, dostępne po polsku i angielsku. Nie jest klonem benchmarku. Treść dokumentów CIS jest objęta licencją i program jej nie powiela. Odwołuje się wyłącznie do numeracji punktów i wersji benchmarku, tak żeby raport dało się położyć obok dokumentu źródłowego i pokazać klientowi, które wymagania są pokryte. Opisy ryzyka, opisy skutków i polecenia naprawcze są własne. Projekt nie jest powiązany z Center for Internet Security, a jego wynik nie jest certyfikacją.

Kwintesencją programu jest jedno pytanie, którego benchmark nie zadaje: co przestanie działać, jeśli to włączę? Każdy punkt dostaje dwie oceny, niezależne od poziomów CIS. Pierwsza mówi, ile realnie zyskuje atakujący, gdy punkt jest niespełniony. Druga mówi, czy ktokolwiek zauważy zmianę: czy wymaga restartu, co zablokuje, kiedy jej nie stosować. Z zestawienia obu ocen wynika kolejność pracy. Wysokie ryzyko przy zerowej uciążliwości to szybkie wygrane na pierwszy wieczór. Wysokie ryzyko przy dużej uciążliwości to miejsce na świadomą decyzję, a nie na automat. Lista sortuje się według tej macierzy, nie według numeru punktu. Można ją też czytać w drugą stronę: wskazujesz, z jakich programów korzystasz, a narzędzie pokazuje, które zasady cię zabolą.

Drugi filar to zasada, że nic nie dzieje się samo. Audyt tylko czyta i niczego nie zmienia. Naprawa jest zawsze pojedyncza: program pokazuje gotowe polecenie, które można uruchomić z aplikacji albo skopiować do własnej konsoli. Nie ma trybu zbiorczego i nie ma do niego drogi. Przed każdą zmianą powstaje kopia zapasowa modyfikowanego zasobu, a punkt bez zdefiniowanej procedury wycofania można wyłącznie skopiować, nie uruchomić. Po naprawie punkt jest audytowany ponownie, bo to jedyny dowód, że zadziałała.

Trzeci filar odpowiada na pytanie firmy o dowód. Raport eksportuje się do HTML i PDF w wersji do druku, generowany przed remediacją i po niej. To dokument, który kontraktor może przekazać klientowi zamiast zapewnienia, że „wszystko jest ustawione”. Świadome odpuszczenie punktu ma być w nim pełnoprawnym wynikiem, z uzasadnieniem, autorem i datą przeglądu, tak żeby po czasie było widać różnicę między decyzją a zaniedbaniem.

Program działa na Windows 10 i 11, Windows Server, Ubuntu i Fedorze. Jest dystrybuowany jako instalator dla Windows i obraz AppImage dla Linuksa, bez konieczności instalowania czegokolwiek dodatkowego. Baza liczy ponad 2400 reguł. W opisie projektu stoi wprost, że narzędzie jest w budowie: uruchamia się, audytuje i naprawia, ale rejestr świadomie odpuszczonych punktów i testy dopiero powstają.

Ujawnienie: autor tego tekstu jest twórcą opisywanego narzędzia. Kod jest publiczny na licencji Apache 2.0 i każdy może go sprawdzić.

Komputer, który wie, gdzie jest

Wróćmy na kuchenny stół. Laptop, który w poniedziałek rano loguje się do firmy A, po południu do firmy B, a wieczorem uruchamia grę, nie musi stać się trzema komputerami. Musi tylko wiedzieć, w którym świecie jest, i mieć czym tego dowieść.

Osobne konto do pracy, bez uprawnień administratora. Zaszyfrowany dysk. Włączone dzienniki. Wyłączone usługi, których nikt nie używa. Zmiany wdrażane pojedynczo, z wiedzą, co każda z nich zepsuje, i raport, który można pokazać klientowi. To nie jest program dla paranoika. To minimum, którego firma z działem bezpieczeństwa oczekuje od każdego, kto siada przy jej danych, niezależnie od tego, czyj jest laptop.

Wolność na własnym sprzęcie nie polega na tym, że wszystko jest dozwolone. Polega na tym, że to my decydujemy, co jest dozwolone, i potrafimy tę decyzję uzasadnić. Przed klientem, przed audytorem i przed sobą, kiedy w środę wieczorem córka zapyta, czy może coś zainstalować.