Zasada najniższych przywilejów – czym jest i jak ją wyegzekwować?
Poniższy tekst ma na celu przybliżenie Państwu idei zasady najniższych przywilejów. Postaramy się pokrótce opisać czym jest ta zasada oraz w jaki sposób można ją wdrożyć korzystając z dedykowanych w tym celu narzędzi.
Podstawą zasady najniższych przywilejów (a dokładniej zasady najmniejszego uprzywilejowania) jest koncept, w którym każdy element systemu informatycznego ma dostęp wyłącznie do tych informacji i zasobów, które są niezbędne do wykonania określonego zadania. Trudno spierać się z zasadnością tej idei – wydzielenie wyłącznie takiego poziomu uprawnień, który pozwala wykonywać pracownikom swoje zadania, a jednocześnie nie ogranicza produktywności, wydaje się być bardzo rozsądne. Nasuwa się jednak pytanie – jak zastosować tę zasadę w praktyce?
Pochylając się nad tym zagadnieniem i rozpatrując je z perspektywy użytkowników końcowych, warto spojrzeć na to analizując aplikacje wykorzystywane przez pracowników. Możemy podzielić je na trzy grupy – aplikacje, które mogą być uruchamiane w trybie standardowego, słabego użytkownika (i działają w tym trybie bez przeszkód), aplikacje, które nigdy nie powinny być przez użytkownika uruchomione (na przykład takie, które samodzielnie pobrał z Internetu) oraz aplikacje, które wymagają do działania podwyższonych uprawnień.
Pierwsza grupa jest bardzo prosta i oczywista w działaniu – aplikacje pakietu biurowego, wbudowany notatnik, kalkulator, klient poczty, przeglądarka internetowa. Wszystkie te aplikacje działają w trybie słabego użytkownika i najczęściej są dostarczane pracownikowi jako preinstalowane programy w jego komputerze służbowym. Nie ma tu ryzyka związanego ze zgodnością, ponieważ cały pakiet aplikacji wychodzi z działu IT i jest przez ten dział weryfikowany pod względem bezpieczeństwa użytkowania.
Druga grupa, to aplikacje, które pod żadnym pozorem nie powinny być uruchamiane przez użytkowników. Nie ma znaczenia, czy dotyczy to aplikacji pobranych z Internetu, przyniesionych na pamięci flash, czy też nawet wbudowanych w system operacyjny (na przykład, gdy polityka zakazuje z jakiegoś powodu używania Notatnika). Opanowanie tych aplikacji i procesów jest kluczowe dla wdrożenia zasady najniższych przywilejów, zatem zdefiniowanie takiej czarnej listy to absolutna podstawa ochrony endpointów.
Jednak to ostatnia grupa sprawia najwięcej trudności. Otóż część aplikacji wymaga uprawnień administracyjnych do działania. Może to być na przykład oprogramowanie napisane na zamówienie (na przykład finansowo-księgowe), które z jakiegoś powodu potrzebuje wysokich przywilejów, mogą to być systemy produkcyjne albo systemy administracyjne baz danych. Do tej grupy można także dodać określone czynności wykonywane przez użytkownika, jak na przykład samodzielne dodanie drukarki lub zmiana adresu IP. Obsługa tych aplikacji i procesów jest o tyle trudna w implementacji, że wymaga albo uruchamiania aplikacji jako Administrator, co wymusza każdorazowo podanie hasła konta Administratora (albo zapisanie go w pliku uruchomieniowym) albo nadanie uprawnień podwyższonych użytkownikowi (co jest zaprzeczeniem istoty nadawania niskich uprawnień użytkownikom, którzy nie są administratorami).
Jak zatem wybrnąć z tej kłopotliwej sytuacji, w której z jednej strony zachodzi potrzeba redukcji uprawnień użytkowników do minimum, a z drugiej – konieczne jest podnoszenie przywilejów, by w ogóle możliwe było wykonanie określonych zadań?
Rozwiązaniem tego problemu są narzędzia klasy EPM (Enterprise Privilege Management). Jednym z takich narzędzi jest BeyondTrust PowerBroker for Windows, które pozwala bardzo precyzyjnie określić jakie uprawnienia na poziomie systemu operacyjnego powinien posiadać użytkownik. Narzędzie instalowane jest jako rozszerzenie do edytora polis grupowych (choć może też stanowić samodzielną instalację, niezależną od domeny) i pozwala propagować ustawienia wraz z polisami domenowymi. Możliwe jest precyzyjne określenie jak konkretne aplikacje mają zachowywać się w systemach obsługiwanych przez wskazanych użytkowników (tryb pasywny, blokada uruchomienia, nadanie podwyższonych uprawnień), dzięki czemu działy IT mają pełną kontrolę nad tym co jest uruchamiane w środowisku informatycznym. Naturalnie, określanie pojedynczych aplikacji będzie pracą żmudną i nieefektywną, dlatego też możliwe jest wskazanie całych folderów (i tym samym wszystkich zawartych w nich aplikacji) by zachowywały się w określony sposób. Prostota tego mechanizmu pozwala w kilku regułach wymusić określone działania i nałożyć ograniczenia na użytkownika komputera.
I żeby operować przykładem, korzystając z PowerBroker for Windows, możliwe jest zbudowanie przykładowej polityki dla użytkownika standardowego:
Reguła 1: Blokuj wszystkie aplikacje w folderze „C:” oraz we wszystkich podfolderach.
Reguła 2: Uruchamiaj aplikacje w folderze „C:Windows” i podfolderach w trybie pasywnym (zgodnie z posiadanymi uprawnieniami)
Reguła 3: Analogicznie jak Reguła 2 dla folderu „C:Program Files”.
Reguła 4: Analogicznie jak Reguła 2 dla folderu „C:Program Files (x86)”.
System analizuje reguły od dołu, zatem istotne, by najbardziej restrykcyjna reguła (w tym wypadku blokada uruchomienia wszystkich aplikacji w folderze „C:” i podfolderach) była na samej górze. Reguły wcześniejsze, zostaną zastosowane najpierw, jeżeli zostanie wykryta zgodność z kryteriami (które w tym wypadku są bardzo proste, bo dotyczą konkretnej lokalizacji na dysku).
Tym sposobem – wszystkie aplikacje pobrane z Internetu do folderów użytkownika zostaną zablokowane. Również, jeśli użytkownik skopiuje je do utworzonego przez siebie folderu na dysku „C:”.
Naturalnie uszczelnienie tej reguły wymaga dodatkowo określenia napędów dla pamięci flash lub zasobów sieciowych, ale jest to już kwestia wyłącznie dodania dodatkowych reguł.
I o ile powyższe 4 reguły można zdefiniować korzystając z wbudowanych narzędzi edycji polis grupowych, tak trzeba wziąć pod uwagę aspekty rozważając zastosowanie dedykowanych narzędzi – przede wszystkim wygoda definiowania określonych polityk, a także możliwość wykorzystania rozwiązania do podwyższania uprawnień konkretnych aplikacji.
Ponieważ 4 reguły opisane powyżej, mogą zostać uzupełnione o reguły definiujące podnoszenie przywilejów dla konkretnej aplikacji, a to wykonane może być wyłącznie z użyciem dedykowanego narzędzia. Grafika poniżej ilustruje nadanie aplikacji tokenu administracyjnego.
Na co warto również zwrócić uwagę, to fakt, że możliwe jest poprzedzenie wykonania określonej operacji (blokady, podniesienia uprawnień lub po prostu pasywnego przepuszczenia aplikacji), monitem informującym użytkownika o określonym zdarzeniu. Co więcej – możliwe jest także wymuszenie powtórnego logowania (szczególnie zasadne przy uruchamianiu aplikacji o podwyższonych przywilejach) oraz podanie powodu uruchamiania określonego programu. Przykładowe monity widoczne są poniżej.
Komunikaty zawarte w wyskakujących oknach mogą być oczywiście spersonalizowane.
Myśląc o wdrożeniu zasady najniższego przywileju, warto rozważyć skorzystanie z narzędzia, które znacznie usprawni proces definiowania określonych polityk. Użycie PowerBroker for Windows pozwala:
– precyzyjnie określić uprawnienia użytkownika na poziomie systemu operacyjnego, w zależności od indywidualnego charakteru pracy i zajmowanego stanowiska,
– określić listę aplikacji zabronionych w organizacji,
– uniemożliwić uruchomienie przez użytkowników aplikacji niezatwierdzonych (np.
pobranych z Internetu),
– podnieść uprawnienia dla uruchomienia pojedynczej aplikacji (lub grupy aplikacji),
– wprowadzić mechanizm dodatkowej autentykacji przy uruchomieniu programów z wysokimi przywilejami.
Jeżeli chcieliby Państwo bliżej poznać rozwiązanie BeyondTrust PowerBroker for Windows, zapraszamy do kontaktu.