SELinux - Emerge
Transkrypt
SELinux - Emerge
SELinux w walce z exploitami (i nie tylko). Leszek Miś Sysday 2009, Wrocław 3031.03.2009r. Agenda Wprowadzenie DAC vs. MAC – nierówna bitwa Co to jest i z czego składa się SELinux? Mechanizm RBAC Mechanizm MLS/MCS Mechanizm SECMARK oraz sVIRT W jaki sposób napisać moduł SELinuxowy? Przykłady działania SELinux na desktopie Podsumowanie Wprowadzenie Bezpieczeństwo = proces Wprowadzenie ● Typowe błędy implementacyjne wykorzystywane do przeprowadzania ataków na systemy i usługi prowadzące do eskalacji uprawnień: ● Stack buffer overflow ● Heap buffer overflow ● Format string attack ● RFI,LFI,RCE,SQL Injection W efekcie w systemie zainstalowane oprogramowanie typu rootkit,backdoor,itp. DAC vs. MAC – nierówna bitwa Przestarzały model polityki DAC: ● ● Ograniczanie dostępu na podstawie właściciela pliku(obiektu) oraz nadanych uprawnień Brak kontroli nad nadawanymi uprawnieniami (setuid, setgid) ● Brak kontroli nad procesami systemowymi ● Brak rozliczalności ● Użytkownik root, który może wszystko:> DAC vs. MAC – nierówna bitwa Niestety za DACiem przemawia: ● Popularność ● Wszechobecność ● Prostota zarządzania ● Rozszerzona funkcjonalność – ACL DAC vs. MAC – nierówna bitwa Przykłady problemów z DAC: DAC vs. MAC – nierówna bitwa Przykłady problemów z DAC: DAC vs. MAC – nierówna bitwa Model DAC jest dzisiaj niewystarczającym rozwiązaniem. Nawet zabezpieczenia typu propolice,libsafe,grsecurity są dzisiaj omijane. Bezpieczna infrastruktura potrzebuje czegoś więcej... DAC vs. MAC – nierówna bitwa Bezpieczny model polityki MAC (Mandatory Access Control): ● ● ● ● ● Ograniczenie wywołań tylko do konkretnych funkcji systemowych dla danego procesu Pełna kontrola nad procesami systemowymi Ścisłe określenie uprawnień dla użytkowników i usług = przypisanie ról (root już nie jest rootem) Zachowanie rozliczalności, poufności I integralności Zaufana transmisja TCP/IP DAC vs. MAC – nierówna bitwa Implementacje polityki MAC: ● SELinux ● RSBAC (Rule Set Based Access Control) ● AppArmor ● grsecurity+PAX ● Smack (Simplified Mandatory Access Control Kernel) ● TrustedBSD/SEBSD ● TrustedSolaris ● Mandatory Integrity System ● Oracle Label Security Co to jest i z czego składa się SELinux? SELinux – projekt autorstwa agencji NSA (No Such Agency :>) implementujący model obowiązkowej kontroli dostępu dla systemu Linux: ● ● Domyślnie zaimplementowany w jądrach serii 2.6 (jako LSM) Aktualnie dostępny w dystrybucjach: RHEL, CentOS, Fedora, Gentoo Hardened, Debian Lenny, SLES Co to jest i z czego składa się SELinux? ● Koncepcją polityki bezpieczeństwa SELinuxa jest określenie jak najmniejszej ilości uprawnień dla danego obiektu (demona, programu, pliku) potrzebnych do jego prawidłowego funkcjonowania. Jest to swego rodzaju firewall aplikacyjny (efekt jaila). ● Wykorzystywane idee: Flask, TE, MAC, RBAC, MCS/MLS ● SELinux zapewnia ochronę przed: Błędami typu 0day (błędami dnia zerowego) Nieautoryzowanym odczytem i modyfikacją danych Eskalacją uprawnień Co to jest i z czego składa się SELinux? ● Przykładem posłuży polecenie /bin/ping: ls alZ /bin/ping rwsrxrx root root system_u:object_r:ping_exec_t:s0 /bin/ping ● ● Wykonywane w domenie ping_t, dzięki transakcji Zwykły użytkownik domyślnie nie może wykonać tego polecenia ● Brak możliwości wykonania operacji setuid ● Dostęp do sieci – wysyłanie i odbieranie tylko ICMP Architektura SELinuxa Co to jest i z czego składa się SELinux? Zasada działania: Co to jest i z czego składa się SELinux? Elementy składowe SELinuxa: ● ● Userspace tools (np. semanage, audit2allow, setsebool, getsebool i wiele innych) ● Polityka SELinuxa (postać binarna+źródła) ● Mechanizm AVC (Access Vector Cache) ● Kernel 2.6 Wymagane poprawnie oznaczone podmioty/obiekty,np. pliki (label, np. etc_t) Co to jest i z czego składa się SELinux? ● Architektura SELinuxa (kernel level): Podmiot (subject) np. proces lub użytkownik Obiekt (object) np. plik (binary,text,socket) Akcja (np. Odczyt lub transakcja) ● ● Domyślna polityka DROP Zaimplementowany model Flask oraz TE (Type Enforcement) – pozwalający tworzyć domeny Co to jest i z czego składa się SELinux? Co to jest i z czego składa się SELinux? ● Transakcje Reguły transakcji pozwalają na wystartowanie odpowiednio oznaczonych binarek w danej domenie Przykład: type_transition initrc_t lighttpd_exec_t : process lighttpd_t; ● Booleany – dynamiczna zmiana działania polityki dla domeny Przykład: use_samba_home_dirs, user_ping Co to jest i z czego składa się SELinux? ● 3 tryby pracy: Enforcing Permissive Disabled ● 2 typy polityki: Targeted Strict Co to jest i z czego składa się SELinux? ● SELinux dostarcza gotowe polityki dla: Apache,lighttpd Bind Postfix,Dovecot MySQL/PostgreSQL dhcpd portmap ntpd Openvpn/IPSec i wiele innych, łącznie ponad 200 ograniczonych procesów (RHEL5) Mechanizm RBAC ● Rule Based Access Control – ograniczenie dostępu na podstawie przyznanej roli: unconfined_u:object_r:user_home_t ● ● ● Użytkownikom przypisane są role (np. r00t_r) Role pozwalają na dostęp do odpowiedniej domeny (np. httpd_t) Możliwości: Administratorzy (uid=0) posiadający pełny dostęp tylko do własnej usługi, np. wwwadmin, mailadmin,itd. Określenie restrykcyjnych praw dostępu do danych Mechanizm RBAC ● wwwadmin_r: ● restartowania usługi httpd. Restartowanie usługi named edycji plików konfiguracyjnych usługi httpd. Odczyt/Edycja plików konfiguracyjnych usługi named odczytywania logów systemowych dotyczących pracy usługi httpd. Odczytywanie logów systemowych dotyczących pracy usługi named odczytywania/edytowania zawartości stron WWW serwowanych poprzez usługe httpd. dnsadmin_r: Mechanizm MLS/MCS MultiLevel Security/MultiCategory Security: ● ● ● ● ● Możliwość klasyfikacji danych z uwzględnieniem czułości (sensitivity) Nadawanie plikom kategorii przez zwykłych użytkowników Dostęp do danych dla użytkowników z różnymi poziomami dostępu do danych Niskie i wysokie komponenty – wysoki zawsze dominuje nad niskim Przykład: kategoria Company_Confidential Mechanizm SECMARK ● ● ● SECMARK jako dodatek do IPTABLES Pozwala na oznaczanie pakietów za pomocą security contextów Przykład: allow httpd_t httpd_packet_t:packet { recv send }; iptables t mangle A INPUT p tcp dport 80 j SECMARK –selctx system_u:object_r:httpd_packet_t:s0 Mechanizm sVIRT ● ● ● ● Wirtualizacja staje się powszechnym rozwiązaniem Libvirt API – najniższa warstwa do zarządzania domenami w nodzie Problem separacji systemów operacyjnych (kilka VM na jednym hoście) Skompromitowany system GUEST może zaatakować innych gości badź hypervisora Mechanizm sVIRT Mechanizm sVIRT Mechanizm sVIRT ● ● ● sVIRT – izolacja systemów GUEST wykorzystując politykę MAC (SELinux) MCS wykorzystany do unikalnego oznaczenia poszczególnych maszyn Przykład: virt_domain_t W jaki sposób napisać moduł SELinuxowy? Tresys Refpolicy SELinux Reference Policy Kompletny, modularny, aktywnie rozwijany zbiór polityk (aktualna wersja: refpolicy2.20081210) składających się z: – Makr (około 2000) – Interface'ów – Tunables – Atrybutów, typów – File contextów (około 1000) – Ról – Gotowych polityk dla popularnych demonów i usług W jaki sposób napisać moduł SELinuxowy? ● 3 pliki źródłowe: *.te – główny plik źródłowy polityki *.if – plik interfejsu (współpraca z innymi domenami) *.fc – plik zawierający file contexty dla nowo oznaczonych plików W jaki sposób napisać moduł SELinuxowy? ● Źródła demonselinux.te: W jaki sposób napisać moduł SELinuxowy? ● Źródła demonselinux.if: W jaki sposób napisać moduł SELinuxowy? ● Źródła demonselinux.fc: W jaki sposób napisać moduł SELinuxowy? ● Kompilacja i ładowanie modułu SELinux: checkmodule M m o demonselinux.mod demonselinux.te semodule_package o demonselinux.pp demonselinux.mod semodule i demonselinux.pp semodule l | grep demonselinux lub make f /usr/share/selinux/devel/Makefile Przykłady działania podsumowanie ● ● ● ● ● Apache serwujący kontent niepoprawnie oznaczony Backdoorowanie serwera Apache Apache, który próbuje nasłuchiwać na niedozwolonym porcie Demon, który NAGLE próbuje otrzymać dostęp do pliku /etc/shadow Demon, który NAGLE próbuje uruchomić /bin/bash Podsumowanie ● ● Każdy ukazany przykład możemy porównać do przeprowadzanego ataku SELinux nie pozwoli na wykonanie czegoś, co nie jest wprost zdefiniowane czyli prawidłowe Przykłady działania podsumowanie ● Kiedy SELinux faktycznie zadziałał? : ● HPLIP Security Flow ● Mambo Exploit ● Apache DOS ● Hollyshit kernel root exploit ● Samba Exploit SELinux na desktopie ● ● ● Kiosk mode – tryb zabezpieczenia maszyn “publicznych” np. Terminali na dworcach, lotniskach, w kawiarniach, itd. Ogromne niebezpieczeństwo z uwagi na możliwość zainstalowania keyloggerów, backdoorów, itd. Każdy zapisany plik podczas zalogowanej sesji jest kasowany podczas wylogowania SELinux na desktopie ● Xguest – polityka dla użytkownika gość ● Kiosk mode = bezpieczne surfowanie po Internecie: id Z = xguest_u:xguest_r:xguest_t:s0 Użytkownik guest może zalogować się do systemu tylko poprzez GDM Użytkownik guest posiada dostęp tylko do wyznaczonych programów (np. Firefox) Użytkownik guest nie może uruchamiać binarek w $HOME oraz w /tmp Użytkownik guest nie ma prawa do uruchamiania su,sudo i wielu innych poleceń Podsumowanie ● ● Innowacyjne podejście do aspektów bezpieczeństwa systemu Linux wymagające dużo ciężkiej pracy Plany: Stworzenie bazowego rozwiązania dla firm hostingowych świadczących tzw. safe hosting. Czy w Polsce takowe istnieją? Podsumowanie ● Dla kogo SELinux? ● Agencje rządowe i wojskowe ● Instytucje finansowe ● Systemy o podwyższonym poziomie ryzyka ● ● Ale także dla MSP chcących osiągnąć wysoki poziom bezpieczeństwa systemów znajdujących się na styku z Internetem Poprzez pryzmat Polski – systemy typu “skonfiguruj i nie dotykaj” czyli dla firm i przedsiębiorstw, które nie mają czasu aktualizować swoich systemów i usług przy każdej wykrytej podatności Podsumowanie http://crony.develzone.pl http://danwalsh.livejournal.com/ http://www.nsa.gov/selinux/FAQ http://selinuxproject.org/page/SVirt http://selinuxnews.org http://docs.fedoraproject.org/selinuxuserguide/f10/enUS/ http://www.selinuxbyexample.com/ http://www.crypt.gen.nz/selinux/faq.html Podsumowanie Dziękuję za uwagę ! :) [email protected] SELinux w walce z exploitami (i nie tylko). Leszek Miś Sysday 2009, Wrocław 3031.03.2009r. 1 Agenda Wprowadzenie DAC vs. MAC – nierówna bitwa Co to jest i z czego składa się SELinux? Mechanizm RBAC Mechanizm MLS/MCS Mechanizm SECMARK oraz sVIRT W jaki sposób napisać moduł SELinuxowy? Przykłady działania SELinux na desktopie Podsumowanie 2 Wprowadzenie Bezpieczeństwo = proces 3 Wprowadzenie ● Typowe błędy implementacyjne wykorzystywane do przeprowadzania ataków na systemy i usługi prowadzące do eskalacji uprawnień: ● Stack buffer overflow ● Heap buffer overflow ● Format string attack ● RFI,LFI,RCE,SQL Injection W efekcie w systemie zainstalowane oprogramowanie typu rootkit,backdoor,itp. 4 DAC vs. MAC – nierówna bitwa Przestarzały model polityki DAC: ● ● Ograniczanie dostępu na podstawie właściciela pliku(obiektu) oraz nadanych uprawnień Brak kontroli nad nadawanymi uprawnieniami (setuid, setgid) ● Brak kontroli nad procesami systemowymi ● Brak rozliczalności ● Użytkownik root, który może wszystko:> 5 DAC vs. MAC – nierówna bitwa Niestety za DACiem przemawia: ● Popularność ● Wszechobecność ● Prostota zarządzania ● Rozszerzona funkcjonalność – ACL 6 DAC vs. MAC – nierówna bitwa Przykłady problemów z DAC: 7 DAC vs. MAC – nierówna bitwa Przykłady problemów z DAC: 8 DAC vs. MAC – nierówna bitwa Model DAC jest dzisiaj niewystarczającym rozwiązaniem. Nawet zabezpieczenia typu propolice,libsafe,grsecurity są dzisiaj omijane. Bezpieczna infrastruktura potrzebuje czegoś więcej... 9 DAC vs. MAC – nierówna bitwa Bezpieczny model polityki MAC (Mandatory Access Control): ● ● ● ● ● Ograniczenie wywołań tylko do konkretnych funkcji systemowych dla danego procesu Pełna kontrola nad procesami systemowymi Ścisłe określenie uprawnień dla użytkowników i usług = przypisanie ról (root już nie jest rootem) Zachowanie rozliczalności, poufności I integralności Zaufana transmisja TCP/IP 10 DAC vs. MAC – nierówna bitwa Implementacje polityki MAC: ● SELinux ● RSBAC (Rule Set Based Access Control) ● AppArmor ● grsecurity+PAX ● Smack (Simplified Mandatory Access Control Kernel) ● TrustedBSD/SEBSD ● TrustedSolaris ● Mandatory Integrity System ● Oracle Label Security 11 Co to jest i z czego składa się SELinux? SELinux – projekt autorstwa agencji NSA (No Such Agency :>) implementujący model obowiązkowej kontroli dostępu dla systemu Linux: ● ● Domyślnie zaimplementowany w jądrach serii 2.6 (jako LSM) Aktualnie dostępny w dystrybucjach: RHEL, CentOS, Fedora, Gentoo Hardened, Debian Lenny, SLES 12 Co to jest i z czego składa się SELinux? ● Koncepcją polityki bezpieczeństwa SELinuxa jest określenie jak najmniejszej ilości uprawnień dla danego obiektu (demona, programu, pliku) potrzebnych do jego prawidłowego funkcjonowania. Jest to swego rodzaju firewall aplikacyjny (efekt jaila). ● Wykorzystywane idee: Flask, TE, MAC, RBAC, MCS/MLS ● SELinux zapewnia ochronę przed: Błędami typu 0day (błędami dnia zerowego) Nieautoryzowanym odczytem i modyfikacją danych Eskalacją uprawnień 13 Co to jest i z czego składa się SELinux? ● Przykładem posłuży polecenie /bin/ping: ls alZ /bin/ping rwsrxrx root root system_u:object_r:ping_exec_t:s0 /bin/ping ● ● Wykonywane w domenie ping_t, dzięki transakcji Zwykły użytkownik domyślnie nie może wykonać tego polecenia ● Brak możliwości wykonania operacji setuid ● Dostęp do sieci – wysyłanie i odbieranie tylko ICMP 14 Architektura SELinuxa Kliknij, aby dodać tekst 15 Co to jest i z czego składa się SELinux? Zasada działania: 16 Co to jest i z czego składa się SELinux? Elementy składowe SELinuxa: ● ● Userspace tools (np. semanage, audit2allow, setsebool, getsebool i wiele innych) ● Polityka SELinuxa (postać binarna+źródła) ● Mechanizm AVC (Access Vector Cache) ● Kernel 2.6 Wymagane poprawnie oznaczone podmioty/obiekty,np. pliki (label, np. etc_t) 17 Co to jest i z czego składa się SELinux? ● Architektura SELinuxa (kernel level): Podmiot (subject) np. proces lub użytkownik Obiekt (object) np. plik (binary,text,socket) Akcja (np. Odczyt lub transakcja) ● ● Domyślna polityka DROP Zaimplementowany model Flask oraz TE (Type Enforcement) – pozwalający tworzyć domeny 18 Co to jest i z czego składa się SELinux? Kliknij, aby dodać konspekt 19 Co to jest i z czego składa się SELinux? ● Transakcje Reguły transakcji pozwalają na wystartowanie odpowiednio oznaczonych binarek w danej domenie Przykład: type_transition initrc_t lighttpd_exec_t : process lighttpd_t; ● Booleany – dynamiczna zmiana działania polityki dla domeny Przykład: use_samba_home_dirs, user_ping 20 Co to jest i z czego składa się SELinux? ● 3 tryby pracy: Enforcing Permissive Disabled ● 2 typy polityki: Targeted Strict 21 Co to jest i z czego składa się SELinux? ● SELinux dostarcza gotowe polityki dla: Apache,lighttpd Bind Postfix,Dovecot MySQL/PostgreSQL dhcpd portmap ntpd Openvpn/IPSec i wiele innych, łącznie ponad 200 ograniczonych procesów (RHEL5) 22 Mechanizm RBAC ● Rule Based Access Control – ograniczenie dostępu na podstawie przyznanej roli: unconfined_u:object_r:user_home_t ● ● ● Użytkownikom przypisane są role (np. r00t_r) Role pozwalają na dostęp do odpowiedniej domeny (np. httpd_t) Możliwości: Administratorzy (uid=0) posiadający pełny dostęp tylko do własnej usługi, np. wwwadmin, mailadmin,itd. Określenie restrykcyjnych praw dostępu do danych 23 Mechanizm RBAC ● wwwadmin_r: ● restartowania usługi httpd. Restartowanie usługi named edycji plików konfiguracyjnych usługi httpd. Odczyt/Edycja plików konfiguracyjnych usługi named odczytywania logów systemowych dotyczących pracy usługi httpd. Odczytywanie logów systemowych dotyczących pracy usługi named odczytywania/edytowania zawartości stron WWW serwowanych poprzez usługe httpd. dnsadmin_r: 24 Mechanizm MLS/MCS MultiLevel Security/MultiCategory Security: ● ● ● ● ● Możliwość klasyfikacji danych z uwzględnieniem czułości (sensitivity) Nadawanie plikom kategorii przez zwykłych użytkowników Dostęp do danych dla użytkowników z różnymi poziomami dostępu do danych Niskie i wysokie komponenty – wysoki zawsze dominuje nad niskim Przykład: kategoria Company_Confidential 25 Mechanizm SECMARK ● ● ● SECMARK jako dodatek do IPTABLES Pozwala na oznaczanie pakietów za pomocą security contextów Przykład: allow httpd_t httpd_packet_t:packet { recv send }; iptables t mangle A INPUT p tcp dport 80 j SECMARK –selctx system_u:object_r:httpd_packet_t:s0 26 Mechanizm sVIRT ● ● ● ● Wirtualizacja staje się powszechnym rozwiązaniem Libvirt API – najniższa warstwa do zarządzania domenami w nodzie Problem separacji systemów operacyjnych (kilka VM na jednym hoście) Skompromitowany system GUEST może zaatakować innych gości badź hypervisora 27 Mechanizm sVIRT Kliknij, aby dodać tekst 28 Mechanizm sVIRT Kliknij, aby dodać tekst 29 Mechanizm sVIRT ● ● ● sVIRT – izolacja systemów GUEST wykorzystując politykę MAC (SELinux) MCS wykorzystany do unikalnego oznaczenia poszczególnych maszyn Przykład: virt_domain_t 30 W jaki sposób napisać moduł SELinuxowy? Tresys Refpolicy SELinux Reference Policy Kompletny, modularny, aktywnie rozwijany zbiór polityk (aktualna wersja: refpolicy2.20081210) składających się z: – Makr (około 2000) – Interface'ów – Tunables – Atrybutów, typów – File contextów (około 1000) – Ról – Gotowych polityk dla popularnych demonów i usług 31 W jaki sposób napisać moduł SELinuxowy? ● 3 pliki źródłowe: *.te – główny plik źródłowy polityki *.if – plik interfejsu (współpraca z innymi domenami) *.fc – plik zawierający file contexty dla nowo oznaczonych plików 32 W jaki sposób napisać moduł SELinuxowy? ● Źródła demonselinux.te: 33 W jaki sposób napisać moduł SELinuxowy? ● Źródła demonselinux.if: 34 W jaki sposób napisać moduł SELinuxowy? ● Źródła demonselinux.fc: 35 W jaki sposób napisać moduł SELinuxowy? ● Kompilacja i ładowanie modułu SELinux: checkmodule M m o demonselinux.mod demonselinux.te semodule_package o demonselinux.pp demonselinux.mod semodule i demonselinux.pp semodule l | grep demonselinux lub make f /usr/share/selinux/devel/Makefile 36 Przykłady działania podsumowanie ● ● ● ● ● Apache serwujący kontent niepoprawnie oznaczony Backdoorowanie serwera Apache Apache, który próbuje nasłuchiwać na niedozwolonym porcie Demon, który NAGLE próbuje otrzymać dostęp do pliku /etc/shadow Demon, który NAGLE próbuje uruchomić /bin/bash 37 Podsumowanie ● ● Każdy ukazany przykład możemy porównać do przeprowadzanego ataku SELinux nie pozwoli na wykonanie czegoś, co nie jest wprost zdefiniowane czyli prawidłowe 38 Przykłady działania podsumowanie ● Kiedy SELinux faktycznie zadziałał? : ● HPLIP Security Flow ● Mambo Exploit ● Apache DOS ● Hollyshit kernel root exploit ● Samba Exploit 39 SELinux na desktopie ● ● ● Kiosk mode – tryb zabezpieczenia maszyn “publicznych” np. Terminali na dworcach, lotniskach, w kawiarniach, itd. Ogromne niebezpieczeństwo z uwagi na możliwość zainstalowania keyloggerów, backdoorów, itd. Każdy zapisany plik podczas zalogowanej sesji jest kasowany podczas wylogowania 40 SELinux na desktopie ● Xguest – polityka dla użytkownika gość ● Kiosk mode = bezpieczne surfowanie po Internecie: id Z = xguest_u:xguest_r:xguest_t:s0 Użytkownik guest może zalogować się do systemu tylko poprzez GDM Użytkownik guest posiada dostęp tylko do wyznaczonych programów (np. Firefox) Użytkownik guest nie może uruchamiać binarek w $HOME oraz w /tmp Użytkownik guest nie ma prawa do uruchamiania su,sudo i wielu innych poleceń 41 Podsumowanie ● ● Innowacyjne podejście do aspektów bezpieczeństwa systemu Linux wymagające dużo ciężkiej pracy Plany: Stworzenie bazowego rozwiązania dla firm hostingowych świadczących tzw. safe hosting. Czy w Polsce takowe istnieją? 42 Podsumowanie ● Dla kogo SELinux? ● Agencje rządowe i wojskowe ● Instytucje finansowe ● Systemy o podwyższonym poziomie ryzyka ● ● Ale także dla MSP chcących osiągnąć wysoki poziom bezpieczeństwa systemów znajdujących się na styku z Internetem Poprzez pryzmat Polski – systemy typu “skonfiguruj i nie dotykaj” czyli dla firm i przedsiębiorstw, które nie mają czasu aktualizować swoich systemów i usług przy każdej wykrytej podatności 43 Podsumowanie http://crony.develzone.pl http://danwalsh.livejournal.com/ http://www.nsa.gov/selinux/FAQ http://selinuxproject.org/page/SVirt http://selinuxnews.org http://docs.fedoraproject.org/selinuxuserguide/f10/enUS/ http://www.selinuxbyexample.com/ http://www.crypt.gen.nz/selinux/faq.html 44 Podsumowanie Dziękuję za uwagę ! :) [email protected] 45