SELinux podstawa bezpiecznej infrastruktury IT. 30 październik 2008r. Grupa Emerge

Podobne dokumenty
SELinux. SELinux Security Enhanced Linux. czyli. Linux o podwyższonym bezpieczeństwie

Podział obowiązków, a kontrola dostępu centralne zarządzanie użytkownikami i ich uprawnieniami.

Bezpieczeństwo systemów informatycznych

Tworzenie bezpiecznego środowiska kont shellowych

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

- udostępnić anonimowym użytkownikowi Internetu pliki przez serwer FTP,

Security Enhanced Linux gwarancja najwyższego poziomu bezpieczeństwa. Leszek Miś Senior Technology Engineer RHC{E,X}, RHCVA B2B Sp. Z o.o.

Serwer pocztowy. QmaiLux. Dokumentacja techniczna mechanizmu książek adresowych (qbook)

Użytkownicy I. Użytkownik. Głównym celem istnienia użytkowników i grup w systemie jest utrzymanie porządku i separacja uprawnień.

Usługi sieciowe systemu Linux

Administratora CSIZS - OTM

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

ibok Internetowe Biuro Obsługi Klienta

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

1. INSTALACJA SERWERA

Projekt TrustedBSD jako klucz do bezpieczeństwa systemu FreeBSD

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Safe Hosting idea ultrabezpiecznego systemu hostingowego

Szczegółowa specyfikacja funkcjonalności zamawianego oprogramowania.

11. Autoryzacja użytkowników

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

Sieciowa instalacja Sekafi 3 SQL

Test. Administrowanie sieciowymi systemami operacyjnymi

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

2. Informacje o mechanizmie limitów

ZABEZPIECZENIE PRZED ZMIANĄ ADRESU IP PRZEZ UŻYTKOWNIKA Andrzej Angowski UCI, UMK Toruń

ZAŁĄCZNIK NR 3 OPIS PRZEDMIOTU ZAMÓWIENIA DOTYCZĄCY WDROŻENIA PLATFORMY ZAKUPOWEJ

Ustawienia personalne

Bezpieczeństwo danych i systemów informatycznych. Wykład 2

Projektowanie zabezpieczeń Centrów Danych oraz innych systemów informatycznych o podwyższonych wymaganiach bezpieczeństwa

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

Security Master Class Separacja uprawnień administracyjnych i audytowanie zdarzeń bezpieczeństwa - RBAC w JBoss EAP.

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Konfiguracja zapory Firewall w systemie Debian.

SELinux. Robert Jaroszuk Zimowisko TLUG, 2011.

Laboratorium Systemów Operacyjnych

POLITYKA PRYWATNOŚCI ORAZ POLITYKA PLIKÓW COOKIES W Sowa finanse

1. Zakres modernizacji Active Directory

Praca w sieci z serwerem

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

Asix.Evo - Uruchomienie aplikacji WWW

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Zdalne logowanie do serwerów

Audytowane obszary IT

DOKUMENTACJA TECHNICZNA OPIEKA NAD FORUM

System kontroli dostępu ACCO NET Instrukcja instalacji

Uprawnienia do plików pozwalają kontrolować dostęp do plików. Tabela 2 zawiera listę standardowych uprawnień do plików z opisem.

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

KARTA KURSU. Administracja serwerami WWW

Ochrona zasobów. Cele ochrony. Polityka i mechanizm ochrony. Dariusz Wawrzyniak Cele ochrony

Wykorzystanie pamięci USB jako serwera Samba

Oprogramowanie OpenVPN jest oprogramowaniem darmowym, które można pobrać ze strony:

Migracja XL Business Intelligence do wersji

Samba serwer plików i drukarek. Rafał Szcześniak <mimir@samba.org> The Samba Team. Prosze pytać w każdej chwili

Panel administracyjny serwera: admin.itl.pl

Wprowadzenie do Active Directory. Udostępnianie katalogów

Windows Server Active Directory

Sprawozdanie nr 4. Ewa Wojtanowska

Sieci komputerowe : zbuduj swoją własną sieć - to naprawdę proste! / Witold Wrotek. wyd. 2. Gliwice, cop Spis treści

Zarządzaj projektami efektywnie i na wysokim poziomie. Enovatio Projects SYSTEM ZARZĄDZANIA PROJEKTAMI

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór

System Kancelaris. Zdalny dostęp do danych

SysLoger. Instrukcja obsługi. maj 2018 dla wersji aplikacji (wersja dokumentu 2.5)

Kalipso wywiady środowiskowe

Załącznik nr 2. Przewodnik instalacyjny systemu e-broker Technologiczny v.1.0. Część 4 - Narzędzia informatyczne przeznaczone dla ośrodków innowacji

Ochrona zasobów. mechanizm ochrony polityka ochrony. 2. Domeny ochrony 3. Macierz dostępów 4. Implementacja macierzy dostępów

Jak skorzystać z aplikacji do tworzenia kursów WBT Express

Co zawiera ten dokument: Ten dokument zawiera informacje o sposobie organizacji danych w systemie Kancelaris.

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Instalacja i konfiguracja serwera IIS z FTP

LABORATORIUM - SINUS Firewall

Instalacja systemu zarządzania treścią (CMS): Joomla

Ćwiczenie 7a - Active Directory w pracowniach MEN

INSTALACJA SERWERA LOKALNEGO TYPU WAMP NA PRZYKŁADZIE PAKIETU KRASNAL SERV 2.7

Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0

Instrukcja obsługi Konfigurator MLAN-1000

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Modele uwierzytelniania, autoryzacji i kontroli dostępu do systemów komputerowych.

Win Admin Monitor Instrukcja Obsługi

Użycie pakietów instalacyjnych.msi w oprogramowaniu WYWIAD Plus

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Działanie komputera i sieci komputerowej.

Usługa wsparcia technicznego związana ze zmianą stosu technologicznego Oprogramowania Syriusz Std.

Aplikacje WWW - laboratorium

Konfiguracja i uruchomienie usługi Filtry adresów IP dla użytkowników Centrum Usług Internetowych dla Klientów Banku Spółdzielczego w Łęcznej.

POLITYKA PRYWATNOŚCI SERWIS:

procertum CLIDE Client 2.1 wersja 1.0.2

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

Polityka prywatności dla strony ELCEN Sp. z o.o. z siedzibą w Gdyni

Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Najbardziej popularne metody włamań

Nowe możliwości zapewnienia skutecznej ochrony przed zagrożeniami wewnętrznymi

Transkrypt:

SELinux podstawa bezpiecznej infrastruktury IT 30 październik 2008r. Grupa Emerge firma@emerge.pl

Wprowadzenie: Security-Enhanced Linux (w skrócie SELinux) to rozwiązanie autorstwa Amerykańskiej Agencji Bezpieczeństwa Narodowego - NSA (National Security Agency) znacząco podnoszące poziom bezpieczeństwa systemu Linux. Implementacja rozwiązania bazuje na modelu bezpieczeństwa FLASK będącym połączeniem modeli RBAC,TE i MLS. Projekt przeznaczony jest przede wszystkim dla systemów korporacyjnych o podwyższonym stopniu ryzyka, jak np. banki i instytucje finansowe, agencje rządowe i wojskowe, ale także dla małych i średnich firm, które chcą zapewnić infrastrukturze IT wysoki poziom bezpieczeństwa. Większość administratorów systemu Linux na pytanie: "Czy używa Pani/Pan mechanizmu zabezpieczeń SELinux?" odpowiada: "Nie, ponieważ bardzo ciężko jest wdrożyć ten mechanizm do poprawnego działania produkcyjnego, czyli mowiąc wprost: wyłączamy go". Zastanawiające więc, dlaczego o SELinuxie słyszymy coraz więcej i coraz częściej jest on brany pod uwagę przy planowaniu polityki bezpieczeństwa systemów... W dokumencie tym chcielibyśmy przedstawić przede wszystkim zasadę działania, wykorzystywane technologie oraz możliwości rozwiązania jakie otrzymujemy od autorów mechanizmu SELinux. Jednocześnie pragniemy zwrócić uwagę na pozytywne aspekty korzystania z tego rozwiązania, a co za tym idzie w sposób odmienny chcemy zaoferować wdrożenia naszej głównej technologii, w której się specjalizujemy jaką jest SELinux. Jako jedyni w Polsce - firma Emerge - profesjonalnie zajmujemy się wdrażaniem mechanizmu SELinux dla produktów oraz systemów teleinformatycznych naszych Klientów opartych na systemie Linux. Ten dokument ma być pierwszym z serii "SELinux - podstawa bezpiecznej infrastruktury", który zachęcać powinien do skorzystania z naszych usług. Model DAC: Zamiast podstawowej polityki DAC (Discretionary Access Control), która znana jest każdemu administratorowi i użytkownikowi Linuxa, SELinux wprowadza pojęcie tzw. mechanizmu obowiązkowej kontroli dostępu MAC (Mandatory Access Control). Aktualnie jednak skupmy się na charakterystyce polityki DAC : - właściciel obiektu (np. pliku) decyduje o uprawnieniach dotyczących danego obiektu (model UGO: user-group-other oraz odpowiednie uprawnienia rwxrwxrwx nadane na pliki i katalogi). - brak możliwości wprowadzenia jakiejkolwiek kontroli przepływu informacji w systemie oraz nadawanych uprawnień. Powyższe cechy, zazwyczaj w większości przypadków są powodem codziennych problemów związanych z nadużyciami dotyczącymi bezpieczeństwa danych i systemów informatycznych). www.emerge.pl Strona 2

Przyklad1: Źle nadane uprawnienia na krytyczny plik /etc/shadow dające możliwość odczytania go lub modyfikacji przez każdego użytkownika w systemie: # ls -al /etc/shadow (plik ten zawiera hasła wszystkich użytkowników systemowych) rwxrwxrwx root:root Jest to typowy przypadek potwornego błędu administratora korzystającego z polityki DAC, który nie zadbał o nadanie poprawnych uprawnień do plików krytycznych (bądź nie zdążył po zmianie atakującego). Tego rodzaju problem może dotykać dowolne pliki w systemie. Mechanizm DAC nie pozwala również na jakże ważną w dzisiejszych czasach ochronę przed atakami tzw. dnia zerowego (0-day exploits). Przy założeniu, ze usługa pracująca w systemie uruchomiona jest z konta nieuprzywilejowanego użytkownika, istnieje możliwość otrzymania przez atakującego nieautoryzowanego dostępu do systemu. Typowe ataki związane z przepełnieniami (buffer overflow, stack overflow, itp.) pozwalają napastnikowi otrzymać dostęp do powłoki systemowej poprzez odpowiednie wymuszenie uruchomienia kodu w pamięci procesu. Tym kodem wykonywalnym jest zazwyczaj tzw. shellcode, który daje możliwość przejęcia uprawnień użytkownika, z którego usługa została uruchomiona. Umiejętnie skonfigurowany SELinux zapewnia bardzo efektywną ochronę przeciwko atakom dnia zerowego. Model DAC jest przestarzały i niewystarczający, dlategoteż należałoby się zastanowić w którą stronę pójść? Być może w kierunku rozwiązań zwiększających możliwości polityki DAC czyli ACL (Access Control List), które prędzej czy później przysporzą ogromnych problemów ze względu na ciągłe rozrastanie się nadawanych uprawnień. Po drugiej stronie medalu znajduje się innowacyjne rozwiązanie jakim jest polityka Mandatory Access Control (MAC) w ujęciu o mechanizm SELinux. www.emerge.pl Strona 3

Zasada działania mechanizmu Selinux: Koncepcją polityki bezpieczeństwa SELinuxa jest określenie jak najmniejszej ilości uprawnień dla danego obiektu (demona, programu, pliku) potrzebnych do jego prawidlowego funkcjonowania. Pozwoli to na ograniczenie do minimum możliwości wykorzystania uprawnień po przejęciu kontroli nad obiektem przez potencjalnych atakujących (np. uprawnienia użytkownika 'www-data' uzyskane poprzez kompromitację serwera Apache). Jest to typowy model obowiązkowej kontroli dostępu MAC. SELinux to mechanizm pracujący na poziomie jądra systemu pozwalający określić w bardzo szczegółowy sposób przydzielania dostępu do zasobów dla aplikacji pracujących w systemie. Wszelkie elementy związane z działaniem systemu, które nie zostały objęte polityką, bądź są z nią niezgodne są domyślnie zabronione. To podstawowa zaleta polityki MAC, która jednoznacznie wytyka blędy modelowi DAC. Globalnie przyjęta zasada głosi, że administrator powinien posiadać informacje dotyczące zainstalowanych i uruchomionych usług oraz oprogramowania, które wykorzystywane jest do codziennej pracy. Administrator zazwyczaj identyfikuje uruchomione usługi poprzez wylistowanie poszczególnych procesów, np. 'apache2' bądź 'httpd', lub poprzez określenie nazwy usługi, której dostarczają, np serwer HTTP. W jednym i drugim przypadku SELinux identyfikuje procesy w postaci domeny, z którą zostały uruchamione (httpd_t) jak również w postaci punktu wejściowego, który przyznał te cechy procesom podczas uruchamiania(httpd_exec_t). Każda domena odpowiada ściśle za uslugę, którą ogranicza, np. MySQL, Bind. Każda domena posiadać musi unikatową nazwę i unikatowe nazwy elementów składowych wejściowych (entrypoints) oraz uprawnienia. Przykład poniżej ilustruje w bardzo uproszczony sposób działanie mechanizmu. vf www.emerge.pl Strona 4

Rysunek 1: Zasada działania mechanizmu SeLinux: Rule Based Access Control: Kontrola dostępu na podstawie przyznanej roli to kolejna mocna strona SELinuxa. Ograniczenie użytkownika systemowego nie sprowadza się już tylko i wyłączenie do nadanych mu uprawnień w modelu DAC (np. możliwość zapisywania w katalogu /tmp, ponieważ katalog ten ma uprawnienia 777 czyli do zapisu/odczytu dla wszystkich lub brak uprawnień odczytywania/zapisu pliku /etc/shadow ponieważ jest on dostępny do odczytu tylko i wyłącznie dla użytkownika root). W ujęciu RBAC, podczas logowania, użytkownikowi przydzielana jest specjalna rola, która ogranicza jego uprawnienia w sposób bardzo restrykcyjny i przede wszystkim kontrolowany. Nie ma tu miejsca na tzw. wolną amerykankę. Możliwości wprowadzanych restrykcji jakie daje nam to rozwiązanie są praktycznie nieskończone. W rzeczywistym przypadku mechanizm RBAC można zastosować, aby przykładowy użytkownik www-admin (uid=0,gid=0 czyli de facto root - administrator systemu) posiadał możliwość: - restartowania usługi httpd. - edycji plików konfiguracyjnych usługi httpd. - odczytywania logów systemowych dotyczących pracy usługi httpd. - odczytywania/edytowania zawartości stron WWW serwowanych poprzez usługe httpd. www.emerge.pl Strona 5

Jakakolwiek inna wykonana akcja spotyka się z odmową dostępu oraz odpowiednim poinformowaniem administratora systemu dzięki mechanizmowu auditd. Mimo. iż użytkownik www-data posiada uid=0 to nie jest w stanie na przykład: - odczytywać/edytować plików systemowych np. /etc/shadow. - zatrzymać pracy innych usług w systemie np. serwera FTP. - nasłuchiwać na portach innych niż 80/tcp(HTTP) oraz 443/tcp(HTTPS). - odczytywać/zapisywać do katalogu domowego użytkownika root /root. - zrestartować maszyny. - itd. itp. Dzięki RBAC-owi nareszcie istnieje możliwość przypisania konkretnych ról dla konkretnych użytkowników. Rozwiązanie RBAC bardzo dobrze nadaje się do wdrożenia do produktów opartych o system Linux - wszelkiego rodzaju routery, firewalle, systemy NAS/iSCSI. Upraszczając, przy wykorzystaniu mechanizmu SELinux, administrator bezpieczeństwa w sposób szczegółowy i restrykcyjny zarządza nie tylko uprawnieniami użytkownika (właściciela procesu), ale przede wszystkim prawami jakie posiada sam proces, czyli co może, a czego nie może wykonać. Przykład 2: allow httpd_t httpd_sys_content_t { read getattr lock ioctl }; daje domenie skojarzonej (httpd_t) z demonem httpd uprawnienia do czytania kontentu WWW z katalogu np. /var/www (httpd_sys_content_t). Istnieje ścisłe określenie reguł odczytu plików poprzez poszczególne domeny (httpd_t). Powyższy przykład ukazuje, że mechanizm SELinuxa narzuca restrykcje w bardzo szczegółowy sposób już na poziomie wywołań systemowych. Stąd też zdefiniowane zostały wywołania zarówno dotyczące odczytu atrybutów danego pliku (getattr) jaki i faktycznego odczytu zawartości danego pliku (read). www.emerge.pl Strona 6

Podsumowanie Wdrożenie SELinuxa jest bardzo trudną operacją związaną przede wszystkim ze znajomością działania systemu i usług pracujących pod jego kontrolą na naprawdę wysokim poziomie. W istocie otrzymujemy pewnego rodzaju firewalla aplikacyjnego, który podobnie jak filtr pakietów sieciowych pozwala na dostęp, bądź po prostu go odrzuca i informuje o tym administratorów. Jesteśmy przekonani, że SELinux to przyszłość bezpiecznej infrastruktury IT. Misją firmy Emerge jest propagowanie bezpiecznych systemów informatyczanych opartych w szczególności o darmowe oprogramowanie Opensource. Uważamy, że bezpieczeństwo danych i informacji to jeden z kluczowych aspektów biznesu XXI wieku. Innowacyjne rozwiązania, które oferujemy są również na miarę XXI wieku... 4