SELinux vs. AppArmor vs. grsecurity [zamknięte]

14

Muszę skonfigurować serwer, który powinien być tak bezpieczny, jak to możliwe. Z jakiego rozszerzenia bezpieczeństwa skorzystasz i dlaczego, SELinux, AppArmor lub grsecurity? Czy możesz dać mi kilka wskazówek, wskazówek, zalet / wad dla tych trzech?

AFAIK:

  • SELinux: najmocniejszy, ale najbardziej złożony
  • AppArmor: prostsza konfiguracja / zarządzanie niż SELinux
  • grsecurity: prosta konfiguracja dzięki automatycznemu szkoleniu, więcej funkcji niż tylko kontrola dostępu

źródło
„Serwer” do świadczenia jakiej usługi? Do jakiej publiczności, w jakim środowisku? Co w tym kontekście stanowi dla ciebie „bezpieczne”? Aby uzyskać przydatną odpowiedź, potrzebne byłoby znacznie więcej informacji. Na przykład, serwer czasu opartego wyłącznie na protokole IP może być bardzo bezpieczny - całe oprogramowanie ROM, imput radiowy, samodzielna moc baterii z automatycznym ładowaniem. Ale prawdopodobnie nie jest to przydatna odpowiedź. Jakiego rodzaju usługi? Internet, przedsiębiorstwo, zaufany zespół pracujący, dedykowana sieć punkt-punkt itp.? Czy wysoka dostępność jest potrzebna? Niezawodność? Integralność danych? Kontrola dostępu? Daj
mpez0

Odpowiedzi:

7

Przeprowadziłem wiele badań w tej dziedzinie. Nawet wykorzystałem zestawy reguł AppArmor dla MySQL . AppArmor to najsłabsza forma separacji procesów. Korzystam z tej właściwości, że wszystkie procesy mają uprawnienia do zapisu w niektórych tych samych katalogach, takich jak /tmp/. Zaletą AppArmor jest to, że łamie ona niektóre exploity bez wchodzenia w interakcję użytkownika / administratora. Jednak AppArmor ma pewne fundamentalne wady, które nie zostaną naprawione w najbliższym czasie.

SELinux jest bardzo bezpieczny, a także bardzo denerwujący. W przeciwieństwie do AppAmoror, większość legalnych aplikacji nie będzie działać, dopóki SELinux nie zostanie ponownie skonfigurowany. Najczęściej skutkuje to błędną konfiguracją administratora SELinux lub całkowitym wyłączeniem.

grsecurity to bardzo duży pakiet narzędzi. Najbardziej podoba mi się chroot grsecuirty. Jest to jeszcze bezpieczniejsze niż SELinux, chociaż wymaga trochę umiejętności i trochę czasu, aby skonfigurować więzienie chroot, gdzie jako SELinux i AppAprmor „po prostu działają”.

Istnieje czwarty system, maszyna wirtualna. W środowiskach VM znaleziono luki, które mogą pozwolić osobie atakującej na „wyrwanie się”. Jednak maszyna wirtualna ma jeszcze większą separację niż chroot, ponieważ w maszynie wirtualnej dzielisz mniej zasobów między procesami. Zasoby dostępne dla maszyny wirtualnej są wirtualne i mogą w niewielkim stopniu lub nie nakładać się na inne maszyny wirtualne. Dotyczy to również <buzzword>przetwarzania w chmurze</buzzword>. W środowisku chmurowym można bardzo dokładnie oddzielić bazę danych od aplikacji internetowej, co jest ważne dla bezpieczeństwa. Możliwe też, że jeden exploit może posiadać całą chmurę i wszystkie maszyny wirtualne działające na niej.

Wieża
źródło
zamiast <buzzword>tagu możesz po prostu napisać „mój tyłek”, wszyscy będą wiedzieć, co masz na myśli;)
Daniel Dinnyes,
Przez VM masz na myśli Xen, KVM lub LXC / Docker? Proszę również odnieść się do swoich ocen.
Daniel Dinnyes,
1
@Daniel Dinnyes nie ma tu żadnych odniesień, to wszystko jest osobistą opinią hakera, który atakuje nowoczesne aplikacje, które są chronione za pomocą tych technik ograniczania ryzyka - wielką wadą jest to, że nic nie jest idealne.
Wieża
1
@Daniel Dinnyes Jeśli jesteś zainteresowany przypadkami niewłaściwego użycia, zacznij od zamierzonych przypadków użycia. Instaluj dystrybucje korzystające z tych technologii i wdrażaj na nich aplikacje. Przeczytaj o wdrażaniu i konfigurowaniu tych systemów bezpieczeństwa, a następnie poszukaj słabych punktów.
Wieża
1
@Daniel Dinnyes przygląda się wydanym CVE, a zwłaszcza wszelkim publicznym exploitom dla każdej platformy. Niedawno znaleziono naprawdę dobre obejście SELinuksa: exploit-db.com/exploits/40419
Rook
1

Osobiście użyłbym SELinuksa, ponieważ w końcu celowałem w jakiś smak RHEL, który w większości przypadków zawiera ten zestaw. Istnieje również responsywny zestaw opiekunów w Red Hat i wiele bardzo dobrej dokumentacji na temat konfigurowania SELinux. Przydatne linki poniżej.

Ophidian
źródło
tak, ale mniam i selinux są tak cholernie denerwujące.
Rook
1
Uważam, że CLI yum jest znacznie bardziej intuicyjny niż apt. SELinux jest denerwujący, gdy próbujesz pójść własną drogą z aplikacjami, które nie są dostępne w magazynie, ale nigdy nie miałem problemów z zapasami, poza tym, że musiałem włączyć niektóre seboole, aby włączyć funkcje inne niż domyślne (np. Pozwól skryptom httpd połączyć się do bazy danych)
Ophidian