Czy martwicie się gdy zostawiacie swoje najcenniejsze dane i serwery bez kontroli pod opieką zaufanego administratora? Czy powinniście się tym przejmować? Co możecie zrobić, żeby martwić się mniej lub wcale?
Zapraszamy do lektury felietonu Pawła Jakuba Dawidka. Dla zachowania pełnej przejrzystości: autor artykułu jest współzałożycielem firmy Wheel Systems – producenta rozwiązań bezpieczeństwa, z których jedno – Fudo – służy do monitorowania użytkowników uprzywilejowanych. W związku z ostatnimi problemami jednej z firm hostingowych warto przybliżyć czytelnikom problemy związane z zarządzaniem użytkownikami uprzywilejowanymi oraz sposoby na rozwiązanie tych problemów, w czym Fudo, jak łatwo się domyślić, może pomóc.
Biorąc pod uwagę wydarzenia ostatnich dni pewnie nie trzeba przypominać, dlaczego zarządzanie użytkownikami uprzywilejowanymi jest takie ważne. Warto wszakże pokazać, że takie problemy można w bezpieczny sposób rozwiązać. Przez bardzo długi czas bezpieczeństwo IT skupiało się głównie na zagrożeniach z zewnątrz. Każdy ma firewalla, system antyspamowy, VPNa, IDSa. W momencie gdy użytkownik poprawnie się uwierzytelnił łącząc się z VPNem czy logując do systemu operacyjnego bezpieczeństwo się kończyło. Rozpoczynało się zaufanie. Zaufanie, mimo iż koncepcyjnie szlachetne, moim zdaniem wyklucza się z bezpieczeństwem. Zaufanie w świecie bezpieczeństwa pojawia się gdy nie mamy już narzędzi i możliwości weryfikacji lub kontroli. Oznacza po prostu bezradność. „Ufam mu.”, czyt. „Nie mam pojęcia co robi i nie mam jak sprawdzić.”.
Monitoring a zaufanie
Przykład Edwarda Snowdena i sposobu w jaki zdobył ujawnione przez siebie dokumenty sprawił, że korporacje zaczęły uważniej przyglądać się tzw. użytkownikom uprzywilejowanym. Użytkownikom, którzy nie muszą „hackować” w celu osiągnięcia dodatkowych korzyści, gdyż są już wewnątrz sieci i mają wysokie uprawnienia, np. do zarządzania infrastrukturą IT. Mówimy tutaj m.in. o administratorach sieci, administratorach systemowych czy zdalnych konsultantach.
Możliwość dostępu do poczty zarządu (znacie firmę której zarząd szyfruję przesyłaną pocztę?), dokumentacji księgowej, własności intelektualnej firmy to dość poważne supermoce. Czy stać nas na to by opierać bezpieczeństwo tych danych na zaufaniu?
„No dobrze, ale co jest złego w zaufaniu jeżeli pracuję z konkretną osobą od lat, nigdy mnie nie zawiodła, nigdy nie dała mi powodu by jej nie ufać?”
To jest oczywiście częste pytanie, które lubię odwracać: a co jest złego w monitorowaniu pracy takiej osoby? Obrazi się na nas? Będzie jej przykro? Będzie to niestosowne? Jeżeli zostawiam dzieci z opiekunką, to kamery w moim domu nagrywają to co się dzieje, a opiekunka o tym wie. Jeżeli opiekunce się to nie podoba, uważa to za niestosowne, to droga wolna. Nie ma dla mnie nic cenniejszego niż moje dzieci i nie pozwolę by coś im się stało, bo obawiałem się sprawić komuś przykrość. To nic osobistego, mogę jej bardzo ufać a i tak monitoringu nie wyłączę.
Ryzyko związane z nieuczciwym administratorem zawsze istnieje, a firma musi dbać o bezpieczeństwo swoich danych i infrastruktury. Ja mogę danej osobie ufać prywatnie, ale wtedy konsekwencje nadużycia zaufania ponoszę tylko ja, a nie cała firma. Jeżeli administrator tego nie rozumie, odbiera to personalnie, cóż, to jego problem.
Krótka dygresja: Z jakiegoś powodu brak zaufania jako domyślna postawa traktowany jest jak złe maniery. Typowy przykład na potwierdzenie tej tezy: Stoimy przy domofonie do klatki schodowej. Przychodzi mieszkaniec, wpisuje swój kod, otwiera drzwi. My wchodzimy razem z nim. Ilu takich mieszkańców nie pozwoli nam wejść? Ilu poprosi żebyśmy użyli swojego kodu lub zadzwonili do osoby, z którą chcemy się spotkać? Oczywiście niewielu. Przecież takie pytanie mogłoby kogoś urazić. Oznaczałoby, że mu nie ufamy, a przecież nie wyrządził nam jeszcze żadnej krzywdy. Oznaczałoby, że nie ufamy osobie, którą pierwszy raz widzimy na oczy. Hmm. Czyż takie zachowanie nie leży przypadkiem u podstaw większości ataków socjotechnicznych?
Możemy także mieć tu do czynienia z jeszcze jednym ciekawym fenomenem: „lepiej nie wiedzieć”. Nie monitorując uprzywilejowanych użytkowników nie wiemy co tak naprawdę robią, więc jedynym logicznym wnioskiem jest, że na pewno nie robią nic złego. Jeszcze nie brzmi znajomo? „To na pewno jest zdrowe jedzenie, przecież nie dopuściliby go do sprzedaży.”, „Inwestycja w Amber Gold musi być bezpieczna, przecież ktoś to musiał sprawdzić.”, „Nie idę do lekarza, bo mi jeszcze coś znajdzie.”. Teraz? Bezpieczeństwo nie może opierać się na niewiedzy. Mogę spróbować określić czy coś jest bezpieczne, ale wtedy i tylko wtedy gdy zrozumiem dokładnie jak to coś działa.
Zamykając ten wątek: nie budujmy bezpieczeństwa na zaufaniu. Nawet jeżeli ktoś jest godny zaufania teraz, to w przyszłości nie musi być. Może będzie miał problemy finansowe i zostanie przekupiony. Może ulec szantażowi. Może popaść w konflikt z pracodawcą i szukać zemsty. Może również popełnić błąd i nie przyznać się chcąc uniknąć konsekwencji. No i na końcu może mieć złośliwe oprogramowanie na swojej stacji, które wykorzysta jego uprawnienia. Nie są to rozważania teoretyczne. Wystarczy spojrzeć na administratora dużej firmy hostingowej, który zostawił tylne furtki na 2700 serwerach, dyrektora bezpieczeństwa loterii który manipulował generatorem liczb losowych czy w końcu administratora który odchodząc z pracy zniszczył całą infrastrukturę IT w firmie.
Jeśli monitorować to w jaki sposób?
Skoro ustaliliśmy już, że uprzywilejowanych użytkowników należy kontrolować, pozostaje pytanie jak to robić. Uprawnienia możemy ograniczać tylko do pewnego stopnia. Nie bez przyczyny nazywamy tych użytkowników uprzywilejowanymi – potrzebują tych przywilejów by wykonywać swoją pracę. Zatem skoro nie możemy im ich odebrać pozostaje monitorowanie ich pracy.
Istnieją co najmniej trzy sposoby monitorowania pracy użytkowników uprzywilejowanych a każdy z nich ma swoje wady i zalety. Użytkownik dostaje się do systemu, np. za pośrednictwem protokołu SSH czy RDP. Możemy zatem monitorować jego działania na jego stacji roboczej, na docelowym serwerze lub stojąc w środku, pomiędzy użytkownikiem, a serwerem. Przy projektowaniu Fudo rozważaliśmy wszystkie trzy metody. Poniżej wyjaśnię dlaczego zdecydowaliśmy się na jedną z nich.
Monitorowanie na poziomie stacji roboczej jest zdecydowanie najsłabszym pomysłem – użytkownik może znaleźć sposób na wyłączenie monitorowania lub po prostu użyć innej stacji. Na niekorzyść tego rozwiązania przemawia także konieczność utrzymania dodatkowego oprogramowania na stacjach użytkowników oraz pogorszenie wydajności stacji.
Monitorowanie na docelowym serwerze ma większy sens, bo właśnie na nim nam zależy, a tam możemy monitorować każde wywołanie systemowe (tj. otwarcie pliku, wykonanie połączenia, wysłanie sygnału do innego procesu). Nie jest to łatwe w implementacji, jednak część systemów operacyjnych posiada funkcjonalność audytu umożliwiającą rejestrowanie wszystkich wywołań systemowych w niezawodny sposób. Jest jednak kilka poważnych wad tego podejścia. Istnieje konieczność instalacji dodatkowego oprogramowania na każdym serwerze, który chcemy kontrolować, co oczywiście mocno komplikuje kwestie utrzymaniowe i będzie miało wyraźny wpływ na wydajność systemu. Jest również spora szansa, że skoro mówimy o użytkowniku uprzywilejowanym, to loguje się on na konto roota lub Administratora, a co za tym idzie ma pełną kontrolę nad monitorowanym systemem i w konsekwencji może monitoring wyłączyć. Natomiast chyba największy problem z tym podejściem jest taki, że nie będziemy w stanie zabezpieczyć wszelkiego rodzaju rozwiązań zamkniętych takich jak firewalle, routery, przełączniki sieciowe, itp. ponieważ nie mamy możliwości instalacji dodatkowego oprogramowania na takich urządzeniach.
Dla Fudo wybraliśmy trzecią możliwość, czyli znajdujemy się pomiędzy użytkownikami a serwerami. Połączenie przechodzi przez rozwiązanie monitorujące. Z perspektywy użytkownika nie ma dodatkowego kroku gdyż nie jest to stacja przesiadkowa. Wykorzystywana jest technika Man-in-the-middle i logowany jest całych ruch sieciowy (po odszyfrowaniu), na bazie którego możemy wizualnie odtworzyć przebieg sesji (nawet na żywo) dzięki czemu widzimy przez panel WWW dokładnie to, co widzi użytkownik na swoim ekranie. Nie musimy instalować żadnego oprogramowania na stacjach użytkowników ani na serwerach.
Dodatkowe atuty
Może zdarzyć się, że materiał zgromadzony przez tego typu rozwiązanie musi zostać wykorzystany jako dowód w sprawie sądowej. Z tego powodu ważne jest silne uwierzytelnienie użytkowników zapewniające atrybucję (a najlepiej możliwość dwuskładnikowego uwierzytelnienia). Zapisywane dane powinny być zaszyfrowane a ich integralność powinna być zapewniona przez weryfikację kryptograficzną. Powinna także istnieć możliwość pobrania surowego zapisu sesji (by udowodnić, że urządzenie monitorujące nie modyfikuje w żaden sposób ruchu) oraz możliwość znakowania sesji czasem przy użyciu niezależnego serwisu.
Często niestety zdarza się, że dostęp do kont uprzywilejowanych ma kilka osób. Jeżeli ktoś loguje się bezpośrednio na roota to ciężko jest później ustalić kim faktycznie był ten użytkownik. Nie pomaga tutaj wykorzystanie logowania po kluczach SSH, gdyż domyślnie serwer OpenSSH nie loguje informacji o użytym kluczu.
W naszym rozwiązaniu rekomendujemy zakładanie imiennych kont dla każdego użytkownika ponieważ istnieje możliwość podmiany „w locie” loginu i hasła, których użyjemy do automatycznego zalogowania użytkownika w systemie docelowym. W praktyce użytkownik wykonuje komendę:
ssh -l jkowalski fudo.example.com
a zostaje zalogowany na konto roota. Dodatkowym atutem tego podejścia jest to, że użytkownik nie zna hasła konta roota w systemie docelowym, więc jeżeli nawet jest w stanie znaleźć obejście sieciowe by połączyć się bezpośrednio z serwerem to i tak nie będzie w stanie się zalogować. Z kolei jeżeli postanowi zmienić hasło na docelowym serwerze to będzie musiał to wykonać w ramach monitorowanej sesji.
Podsumowanie
Mam nadzieję, że udało mi się trochę przybliżyć temat użytkowników uprzywilejowanych i przekonać, że warto monitorować ich pracę. Jeżeli nie, cóż, do zobaczenia na Zaufanej Trzeciej Stronie? :)
Dla zachowania pełnej przejrzystości – jest to wpis sponsorowany za który otrzymujemy wynagrodzenie.
Komentarze
Czy informacja o sponsoringu mogłaby pojawiać się na górze tekstu?
Poszukaj jeszcze raz (np. w tagach)
@Adam – w wersji mobilnej nie widać tagów na górze.
Wygląda bardzo ciekawe, szczególnie (i zapewne) dla większych firm. Istnieje jakaś alternatywa Open Source?
nie wiem czy można to porównywać z prezentowanym tu systemem (raczej nie) ale można spróbować script i scriptreplay.
Z alternatyw open-source to pewnie najbardziej polecałbym funkcjonalność audytu w systemach operacyjnych (nie wiem jak to wygląda na Windowsie niestety) i wypychanie audit trails często gdzieś na zewnątrz. Logi audytowe niestety analizuje się trochę trudno.
Można też próbować postawić jakąś stację przesiadkową i ją monitorować.
Co do auditingu Windows to jedno z lepszych rozwiązań w porównaniu do systemów z auditd czy rozwiązań AIX/Solaris. Od tej strony Microsoft naprawdę się postarał. Z auditingiem (wszędzie) jest jeden problem, a przynajmniej w dużych firmach – bez systemów klasy SIEM lub chociaż jakiegoś systemu typu log management kiepsko się analizuje bulk miliona wpisów. Ale z drugiej strony żadne tam analizy na poziomie sieci nie oddadzą poziomu szczegółowości, który daje dobrze przygotowany auditing. Naprawdę wiem o czym mówię. Pozdro
Możesz sobie zbudować taką zabawkę bez większych problemów.
Wszystko sprowadza się do analizy ruchu i takiego ładnego podglądania. Nie potrzebowałem więc nie bawiłem się ale pewnie tak jak zdjęcia czy firmy lecące po lan można oglądać tak i sesje możesz sobie podejrzeć po ludzku.
Sam atak MIM i zapisywanie interesującego ruchu w twojej sieci jest z tych „trywialnych” choć żeby było elegancko to trzeba się pobawić.
Większość projektów routerów na bsd czy linuxie ma gotowe rozwiązania które dają bazę do budowania takiej zabawki do monitoringu ruchu w sieci.
Zresztą bym się nie zdziwił gdyby i omawiana zabawka miała bazę właśnie w którymś z projektów OS bo nie jeden firewall „firmowy” czerpie garściami z OS.
Jeżeli chodzi o alternatywę to bardzo podobnie działa BalaBit Shell Control Box, można by dyskutować czy nie ma nawet szerszej funkcjonalności, ale niestety nie jest darmowy.
A może do kompletu jakiś uporządkowany opis aspektów prawnych monitoringu działań komputerowych podejmowanych przez pracowników (nie tylko adminów), czyli jakie trzeba spełnić warunki przy wdrażaniu monitoringu, aby móc potem zgodnie z polskim prawem skorzystać z jego rezultatów? Bo kwestie techniczne to jest jedna sprawa, i tu wiadomo że wybiera się rozwiązanie zależne od lokalnych warunków (w tym budżetu i środowiska sprzętowego), ale legalność też trzeba zapewnić.
Najprostsza sytuacja jest, gdy nowy pracownik od razu przy zatrudnieniu dowiaduje się o monitoringu i podpisuje zgodę na niego przy okazji innych umów. Ale w długo działających firmach ze starą zgraną załogą też czasem trzeba coś wdrożyć i zwykle są z tym schody.
O, to, to, to :) Popieram i zachęcam do zgłebienia tematu. Jestem w trakcie wdrożenia systemu monitorowania końcówek białkowych (userów;)), trwają ustalenia prawno-organizacyjne ale chętnie poznam opinie zewnętrznych fachowców. Wpływu na decyzję robić/nie robić i tak nie będę miał ale dobrze wiedzieć jak stoją te sprawy w świetle bieżących rozwiązań prawnych.
W skrócie sądzę – tak mi mówiono – że pracodawca ma pełne prawo monitorować pracę wykonywaną na jego sprzęcie (obojętnie czy chodzi o maile, desktopy czy tablety). Trzeba tylko pracowników skutecznie powiadomić o takim działaniu. Zwykle poprzez podpisanie stosownego papierka.
Sądzisz i dobrze i źle.
Pracodawca ma prawo podglądać ale nie ma praw podglądać prywatnej korespondencji a tym bardziej haseł.
I tu rodzi się problem.
Bo musisz zakazać używania prywatnej poczty. Ale jeśli ktoś złamie zakaż i tak nie wolno Ci podglądać takiej transmisji.
Dochodzisz do etapu gdzie okazuje się ze blokada wszystkiego poza dopuszczonym ruchem jest najbezpieczniejsza z punktu widzenia praw pracownika i bezpieczeństwa pracodawcy ale i admina. (pomijam że bezpieczeństwa sieci też)
Z tym że to nie zawsze jest łatwe bo czasem ta siec jest potrzebna w mniej określonych ramach.
Mialem ich czerone pudlo na testach. Bardzo fajne. Smieszne bo na kilku sciemniaczy zdalnych (z duzej polskiej firmy na A) podzialalo juz samo logo Fudo na panelu logowania RDPa i nagle tematy sie zaczely kulac do przodu. Ciezko to zabudzetowac niestety, zwlaszcza jak gora ma w dupie security i takie bajery.
Ale samo rozwizanie polecam (nie, nikt mi nie placi za reklame)
1. Ktos serwerem posredniczacym zarzadza, ergo ma dostep do wszystkiego. 2. W razie awarii posrednika tracimy dostep do systemu. Albo musi istniec jeszcze bardziej zaufany administrator. I wpadamy w petle.
Trafne podsumowanie,nic dodać,nic ująć. Dodam tylko tyle,że firma która będzie pośredniczyła w logowaniu na cudze serwery będzie bardzo łakomym kąskiem dla napastników no i jako potencjalny napastnik jest groźna też. Zasada KISS przede wszystkim – no ale co kto lubi,jak ktoś ufa bardziej zewnętrznemu usługodawcy niż swoim adminom to proszę bardzo… A SysAdmin z żyłką pentestera i tak znajdzie sposób.
Awarii łatwo jest uniknąć stosując konfigurację klastrową (długo walczyłem z biznesem żeby drugi węzeł klastra był na tyle tani żeby każdemu się opłacało – aktualnie to dodatkowe 20% ceny) oraz backupy. Sam appliance ma redundantne zasilacz i 12 dysków w konfiguracji RAIDZ2 (na ZFSie), czyli dowolne dwa dyski mogą ulec awarii bez utraty danych.
Nawet administrator Fudo pewnych żeby nie może usunąć (np. logów gdzie trzymamy dokładnie to co robił). Wszystkie dane są zaszyfrowane i jest weryfikowana ich integralność plus można skorzystać ze znakowania czasem co daje nam pewność, że sesja nie mogła później zostać zmodyfikowana.
Dzięki Fudo mamy separację ról – osoby które logują się na serwery są monitorowane przez inne osoby. Nie ma sytuacji kiedy osoba wykonująca pracę sama siebie monitoruje, albo nikt jej nie monitoruje.
Bardzo duża część polskich banków korzysta już z Fudo, więc coś jest na rzeczy:)
Mały problem: administrator fudo monitoruje wszystko, a więc też utworzenie nowych kont czy zmiane haseł/kluczy. Czyli ma dostęp do tego samego co monitorowany admin/admini. Czyli ufamy mu bardziej niż adminowi (bo może narobić szkód za admina się podając).
Czyli zamiast pozbyć się problemu tworzymy nowe. Dodajemy nową osobę, którą trzeba opłacać, jej ufać, mieć nadzieję, że jej hasło/klucze gdzieś nie wycieknie.
No, chyba, że sam wielebny zarząd/szef będzie tym zarządzał – to 2 pierwsze odpadają (a katastrofa murowana: znam hasło roota, sam zrobie…)
„surowy zapis” xD
A nie można prościej, konto roota wyłączone, polecenia wykonywane tylko w ramach sudo, daemon audit, logowanie do zewnętrznego serwera (który jest poza kontrolą tych użytkowników pracujących na serwerze)
Same logi za dużo ci chyba nie dadzą,można je teoretycznie wyłączyć / przesterować jeśli lecą z maszyny operatora. Stacja robocza i serwer mogą zatem zostać przez kumatego admina odpowiednio zhakierowane – stacja robocza choćby dzięki fizycznemu dostępowi, serwer dzięki temu że to superuserzy. Maszyna pośrednia zostaje jako rozsądne wyjście ale ona też ma wady. Zbych pisał i ja pisałem też jakie
Audyt jest fajny i bardzo szczegółowy, sporo czasu spędziłem nad jego implementacją we FreeBSD. Natomiast analiza logów audytowych jest żmudna i bardzo czasochłonna, ma znaczacy wpływ na wydajność systemu no i jest dużo więcej pracy administracyjnej z tym związanej. Na Fudo oglądasz sesje dokładnie tak jak widzi ją użytkownik, przez co audyt jest dużo prostszy. Masz też masę dodatkowych narzędzi żeby audyt ułatwić/przyspieszyć jak indeksowanie zawartości sesji, OCR sesji graficznych, szczegółowe filtrowanie, możliwość przeskakiwania nieaktywnych okresów w sesji, możliwość tagowania/komentowania fragmentów sesji to name a few:) Jednak, powtarzając, audyt zadziała na Linuxie, FreeBSD, Solarisie, ale nie zadziała na switchy, firewallu, IDSie, routerze. Nie wiem jak na Windowsie. Fudo monitoruje też protokoły np. bazodanowe w czym audyt również nie pomoże.
A co z hasłami? Bo wynika z tego że FUDO monitoruje też hasła użytkowników (jeśli je sobie zmienią).
Link do cennika?
Zapraszam do kontaktu z [email protected].
Czyli już coś zaczynacie ściemniać i kręcić skoro to taka tajna informacja.
Kolejne narzędzie posiadające jakiś „zakres sensownego zastosowania”. Ale to tylko narzędzie. Sprzedawca młotków będzie przekonywał, że dzięki jego towarowi gwoździe będą się same wbijały. Ale najlepszy nawet młotek nie zastąpi młotkowego. Podobnie w security: możemy zamontować najlepsze zamki, ale klucze tak czy inaczej trafią do klucznika, który te zamki otworzy gdy będzie chciał. Przekonanie, że technika może zastąpić zaufanie, jest naiwne. Każde ludzkie działanie tworzy, mniej lub bardziej bezpośrednio, interakcję z innymi ludźmi. W szczególności w interesach – niezależnie jak wielką techniką się obudujemy, po drugiej stronie i tak będzie jakiś człowiek – klient, pracownik, podwykonawca. Bez jakiegoś zaufania nie zrobimy żadnego interesu. Polityka bezpieczeństwa określa m.in. jak dużym zaufaniem obdarzamy poszczególne podmioty i jakie zabezpieczenia w związku z tym (techniczne i prawno-organizacyjne) dobieramy. I tylko w tym kontekście warto rozważać to reklamowane rozwiązanie – jako jeden z elementów zapewnienia wymaganego poziomu bezpieczeństwa, a nie jako panaceum, dzięki któremu już nigdy żaden administrator nie zrobi nam żadnego kuku.
„Ciekawy” tekst. To że nie powinniśmy wpuszczać nieznajomych do klatki to jest argument za tym żeby monitorować własnych adminów… A cały ten system i tak rozbija się o kant, bo koniec końców, pan prezesina i tak zleci instalację monitoringu adminowi, po czym nie zmieni sobie hasła, a w najlepszym wypadku zmieni i naklei je na monitor…
A w allegro.pl nie ma monitoringu dlatego mam 17 GB ich poufnych dokumentow w tym infrastrukture sieci i klucze ssh do logowania sie na roota.
Powiem tak: widziałem to w akcji (wdrożenie testowe). Faktycznie należy przyznać, że włożono bardzo dużo bardzo dobrej pracy. Interfejs zarządzania (web) robi wrażenie.
Tak jak napisano wcześniej, zawsze zostaje klucznik, który może coś pootwierać. Niemniej ponieważ wszystko jest logowane (bez możliwości skasowania), zatem ślad zawsze zostanie – tak więc będzie wiadomo, który klucznik zawiódł.
Zapewne kwestia czasu, kiedy nawet w takich przypadkach będzie miała zastosowanie stara (sowiecka?) zasada: aby coś zrobić potrzeba trzech osób – każda posiada kawałek uprawnień…
Nie ma czegoś takiego jak „bez możliwości skasowania”. Można nie mieć takiej opcji w interfejsie użytkownika ale zawsze ktoś może podejść do urządzenia, wyjąć dyski i…
Jak sprytny, to najpierw zasymuluje awarię i zrobi obrazki, które potem wgra usuwając dowody zbrodni.
Natomiast do codziennego monitorowania typu „kto wywalił serwer x” albo „co za debil zajął cały dysk na hoście Y” zdecydowanie przydatne.
Zasada „kawałkowania” uprawnień jest dużo starsza od Związku Radzieckiego. Co najmniej w średniowieczu używano skrzyń/skarbców wyposażonych w kilka zamków, do których klucze posiadały różne osoby.
Niewiele od tego odbiegają współczesne „key ceremonies” stosowane do przekazywania klucza kryptograficznego, który powinien pozostać nieznany dla przekazujących i nie zostać podsłuchany podczas transportu. Taki klucz dzieli się na kilka części i każdą z nich przekazuje innej osobie transportującej. Każdy z przekazujących osobno dociera do miejsca (komputera) docelowego i poufnie wpisuje swoją część. Oczywiście to jest obudowane dodatkowymi zabezpieczeniami (tajne pomieszczenia, bezpieczne koperty, różne środki/trasy przemieszczania się…). Ale podstawowa idea kawałkowania uprawnień jest niezmienna od wieków…
„To jest oczywiście częste pytanie, które lubię odwracać: a co jest złego w monitorowaniu pracy takiej osoby? Obrazi się na nas? Będzie jej przykro? Będzie to niestosowne?…” Tak, będzie to cholernie niestosowne, paranoiczne. Dodatkowo jeśli potencjalni pracownicy będą sobie pozwalali na takie traktowanie to ośmieli to wielu ludzi o takim podejściu do intensywniejszych działań w tym stylu. Zgodnie z zasadą „twoja wolność kończy się tam gdzie zaczyna się wolność innej osoby”, szukaj rozwiązań problemów bezpieczeństwa w zakresie w którym jest to etyczne. Jeśli nie ma środków technicznych/koncepcji która na to pozwoli – przykro mi przegrałeś, idź na piwo lub odsapnij w inny sposób.
Mój artykuł miał bardziej na celu pokazanie, że problem uprzywilejowanych użytkowników jest ważny i że są sposoby żeby go rozwiązać. Dyskusja czy to etyczne czy nie jest daleko za nami. Wolałbym nie wyjaśniać czym różni się sprzedaż laptopa z oprogramowanie to rozszywania prywatnych sesji TLS użytkowników na ich prywatnym komputerze bez informowania ich o tym od monitorowania jakie komendy wykonuje administrator na krytycznym serwerze, którego kompromitacja, czy może nawet awaria może wyłożyć firmę. Jeżeli ktoś nie rozumie różnicy to powinien przeprowadzić ten proces myślowy i sam dojść do odpowiednich wniosków, które są bardzo jednoznaczne i logiczne. Stąd mamy chociażby rekomendację D KNFu, która wprost nakazuje bankom monitorowanie uprzywilejowanych użytkowników. Przykłady kiedy nawet zaufany użytkownik może wyrządzić firmie krzywdę podałem w artykule.
To jest chyba problem adekwatności podejmowanych środków do sytuacji. A piszecie zdaje się o dwóch różnych sytuacjach.
Bo na przykład w infrastrukturach krytycznych, elektrowni, banku, i tak dalej, wysoki poziom kontroli jest ważny; pracując w takim miejscu powinno się to rozumieć. Monitoring użytkowników uprzywilejowanych jest tam jak najbardziej na miejscu.
A na przykład w małej firmie gdzie kilka osób mrówczo pracuje nad zamówieniami, wdrażanie megasuperhipermonitoringu bo szefowi się wydaje, że poprawi tym ich wydajność jest… głupie. A dość często spotykane.
Jeszcze mi się skojarzyła analogia fudo do czarnej skrzynki samolotu. Nie dziwimy się, że w samolocie są rejestratory (włącznie z rejestratorem mowy, co w monitoringu przez pracodawcę podlega szczególnym obostrzeniom), bo wiadomo że stosowane są w analizie incydentu i zapobieganiu kolejnym. A stawka (bezpieczeństwo ruchu lotniczego, życie ludzi) jest megaduża.
Ale jak rejestratory są wprowadzane bez wiedzy pracowników w powiedzmy minifirmie projektowej i po jakimś rozlicza się ich z każdego błędu lub minuty spędzanej na czym innym niż szefowi się wydaje że powinni, to jest to chore.
Fajne, niestety to wciąż wymaga zaufania dla tego „security officera”, który wdrażał fudo ;)
Autor tekstu wykorzystał tutaj kilka nadużyć, albo jak kto woli argumentów pozamerytorycznych, które w tym kontekście można nazwać chwytami marketingowymi.
Przykładowo, w akapicie o nie budowaniu bezpieczeństwa na zaufaniu jako przykłady gdzie sie to nie sprawdziło są podane trzy linki do artykułów na z3s. Podejrzewam że w opisanych przypadkach nie był wykorzystywany system Fudo, a jak widać udało się w miare dokładnie ustalić co kto a nawet dlaczego zrobił. Gdyby Fudo było tam wdrożone to mógłby zrobić dokładnie to samo, a jedyną jego zaletą było by przyspieszenie czy ułatwienie ustalenia co się stało. Ale jak widać w większości przypadków i tak jest to możliwe, mniejszym bądź większym nakładem pracy.
Kolejne podobne nadużycie jest popełnione w podsumowaniu, w domyśle (dzięki czemu będzie się można łatwo wycofać) jest napisane że jeśli ktoś nie jest zainteresowany monitorowaniem pracowników to ma dużą szansę zostać opisany na z3s. No dobrze, tyle że jeśli ktoś wyniesie bazę z banku i opublikuje a było w banku używane Fudo to redaktor z3s obiecał nie opisywać tego przypadku? Bo inaczej chyba nie można tego rozumieć.
Tak, główne zadanie Fudo to przyspieszenie analizy powłamaniowej, pomoc przy ustaleniu jaki był zakres „penetracji”, ale również, co jest bardzo ważne, ma zapewnić atrybucję. Dzięki Fudo można użyć silnego (np. 2FA) uwierzytelnienia przy logowaniu do kont uprzywilejowanych dzięki czemu mamy dużo mocniejszy materiał dowodowy niż log systemowy mówiący o tym, że ktoś o tej godzinie zalogował się na konto roota. Oczywiście w podanych przykładach sprawców ustalono, ale te trzy przykłady to nie wszystkie incydenty związane z nadużyciem uprawnień. Przykłady miały na celu pokazać, że mówimy o istniejącym problemie. Jestem przekonany, że jest mnóstwo przykładów gdzie sprawcy nie ustalono lub że mimo iż ustalono, nie udało się go skazać.
Dokładnie, zaczyna się od monitorowania, „a jak nie to droga wolna”, ciekawe co dalej
A jak będą monitorowani superużytkownicy, administratorzy fudo?
A kto monitoruje FUDO?
Super urządzenie…
Tylko że działając w kwestii bezpieczeństwa jest obarczone pewnym błędem założeń.
Nie ufamy sysadminowi. I ok bo może to mieć podstawy.
Ale ufamy firmie która dostarcza czerwone urządzenie…
Czemu? Skąd wiemy że nie ma furtki? Albo błędów w oprogramowaniu?
Albo że ich główny programista nie wkurzy się na szefa i nie postanowi wysadzić w powietrze wszystkich urządzeń które sprzedali?
Skąd wiemy że nie mają umowy z rządem policją kimkolwiek…
Teorie spiskowe już mamy za sobą choć czas pokazał ze one nie są nierealne.
Ale idźmy dalej.
Zabezpieczamy się przed intruzem.
Tworzymy system z znanymi sobie podatnościami które możemy lepiej lub gorzej monitorować.
I nagle dostajemy uprzędzenie z zewnątrz. nie mamy pojecie ao jego zabezpieczeniach i jego podatnościach. Podobno jest ok… Ale jak ktoś popełnił błąd który jakiś napastnik wykryje to zostajemy bezradni a WSZYSTKIE dane przesyłane zostaną skompromitowane.
Co więcej z duża dozą prawdopodobieństwa nie będziemy o tym wiedzieć tak długo aż nie będzie za późno.
MiM jest kuszący przy monitorowaniu pracowników i sieci ale jest skrajnie niebezpieczny.
Nagle wielopoziomowe systemy zabezpieczeń staja się kompletnie płaskie bo jedno urządzenie widzi wszystko.
Napastnik jeśli zaatakuje jedno uradzenie dostaje dostęp do wszystkiego.
Co więcej nie musi atakować samej skrzynki wystarczy ze zaatakuje nadzorcę…
Więc zamieniamy zaufanie do jednej osoby zaufaniem do dwóch.
Zwiększamy liczbę potencjalnych punktów ataku.
Zwiększmy ilość ludzi z dostępem do danych więc i czynnik ludzki jest większym ryzykiem.
To świetna zabawka z zakresu kontroli.
Ale kontrola nie jest jednoznaczna z bezpieczeństwem.
Tak naprawdę to urządzenie zwiększa ryzyka w zamian za poczucie ze skontrolujemy intruza.
Problem w tym że intruz może zaatakować poprzez system kontroli oślepiając nas i w tym że wiedząc o systemie może znaleźć sposób żeby się ukryć.
Działa to jak prymitywne kamery w sklepach.
Można ich nie włączyć i tak większość złodziejaszków pójdzie do sklepu obok. Ale ktoś kto będzie chciał nas okraść ubierze maskę zepsuje kamery czy zmieni to co widzą. I i tak okradnie.
W najlepszym razie będziemy widzieć jaką miał kurtkę.
nie mówiąc już o RSS.
i czytaniu przez tor
Dziwią mnie niektóre komentarze. Sam jestem adminem mającym niemonitorowany dostęp do wszystkiego w niemałej firmie. Wszystkie bazy danych, serwery produkcyjne, serwer exchange (czyli dostep do kazdej skrzynki w firmie), zdalne wejście na każdą stację roboczą (przez vpn oczywiscie) czy oba serwery kopii zapasowych.
Sam się zastanawiałem w jaki sposób można by takiego „mnie” monitorować, który w zasadzie ma pełną władzę. I gdyby prezes firmy zaproponował jakieś rozwiązanie monitorowania administratora typu Fudo lub jakiekolwiek inne zdające egzamin, nie poczułbym się urażony czy uznał, że prezes nie ma do mnie już zaufania. Wykonuję swoją pracę, za to mi płacą, to dlaczego miałbym się czuć z tym źle, że ktoś „weryfikuje” moją pracę?
Poza tym taki system może ujawnić prawdziwego winowajcę w momencie gdy wszystko wskazuje niesłusznie na administratora w razie jakiegoś problemu (np podobnego do adweb).
Czy naprawdę niektórzy admini czatują z laskami na fejsie przez RDP z głównego serwera produkcyjnego, że poczuliby się inwigilowani przez pracodawcę w sytuacji wykorzystania takiego systemu? Jeśli tak to w pierwszej kolejności taki admin powinien zostać zwolniony, bo coś z nim jest MOCNO nie tak.
Fudo wygląda ciekawie, jednak pierwsze co przyszło mi na myśl to problemy z certyfikatami, które musi przecież fudo podmieniać w celu rozszyfrowania komunikacji, a w przypadku dość skomplikowanej infrastruktury sieciowej może to prowadzić do masy problemów na etapie wdrożenia. Mam na myśli, że nie jest to urządzenie typu UPnP i jego wdrożenie w wielu przypadkach nie będzie proste.
„Czy naprawdę niektórzy admini czatują z laskami na fejsie przez RDP z głównego serwera produkcyjnego, że poczuliby się inwigilowani przez pracodawcę w sytuacji wykorzystania takiego systemu? Jeśli tak to w pierwszej kolejności taki admin powinien zostać zwolniony, bo coś z nim jest MOCNO nie tak.”
A co mają czatować z komputera prywatnego w domu?
Przecież boją się inwigilacji przez żonę ;)
A Poważniej to i admini i zwykli pracownicy cuda wyprawiają i nie wizą zagrożeń. Sex stronka w pracy… A co tam przecież na pewno nie złapią czegoś co zaszyfruje sieć firmową…
A ostatnio usłużyłem
„ja wiem że pan to musi nam powiedzieć ale bodźmy szczerzy to całe bezpieczeństwo to takie straszenie przecież my jesteśmy małą firmą nam to niepotrzebne…”
Problem z określeniem wielkości firmy też jest kolosalny.
Bo co świadczy o wielkości?
Są firmy z 4 komputerami i serwerkiem które robią miliony i jak cokolwiek padnie to kwiczą i ich nie ma.
A są firmy z kilkudziesięcioma pracownikami w których jak padnie infr. to pójdą na papierosa i zaczną następnego dnia z większym bajzlem niż mieli przed awarią ale nadal niespiesznie.
A z adminami jest tak że chcą udowadniać swoją wiedzę. A że wiedzą ze w wielu dziedzinach nie są guru to wolą żeby nikt nie sprawdzał. Sa tacy co się zaprą że sami znajdą rozwiązanie zamiast go poszukać. Czasem widzę takiego speca kręcącego się w koło i pytam czemu nie spyta googla o rozwiązanie. :D
Tak wielu adminów boi się że jak ktoś ich sprawdzi to wyjdzie na to ze korzystają z poradników z manulai i że nie pamiętają składni każdej nawet wykonywanej raz na rok komendy.
Wyjdzie że są tylko ludźmi i że czasem się zakręcą wkoło za własnym ogonem. I to że czasem idą na skróty bo mają dość.
Część choć niewielu po prostu nie chce dzielić się wiedza i sposobami bo to ich lata spędzone nad książkami.
@KrzysztofKozlowski „(…)A co tam przecież na pewno nie złapią czegoś co zaszyfruje sieć firmową… ”
A nie spotykasz pracowników z podejściem „Przecież to nie moja sieć/firma/komputer, co się będę martwić, najwyżej ktoś naprawi”? U adminów ta postawa na szczęście jest rzadkością, w zdecydowanej większości mają odruchową odpowiedzialność za powierzone systemy, nawet bardzo nietypowe ;-) Jak nie umieją to się douczają, bo znalezienie rozwiązania to punkt honoru. A z monitorowaniem pracy jest ten problem, że ludzie generalnie obawiają się „zbierania haków” na nich przez osoby o małych kompetencjach a dużym wpływie na zatrudnienie.
Testowałem i FUDO i BALABIT Shell Control Box, na korzyść tego drugiego. Pełne funkcjonalności, indeksacja itd. Lokalne wsparcie również „atrakcyjne”. Na korzyść również integracje i gotowe polityki.