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
Odpowiedzi:
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.źródło
<buzzword>
tagu możesz po prostu napisać „mój tyłek”, wszyscy będą wiedzieć, co masz na myśli;)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.
źródło