Grsecurity: Zwiększenie bezpieczeństwa jądra Linux
Grsecurity to łata, która wzmacnia bezpieczeństwo jądra Linux poprzez modyfikację jego kodu źródłowego. Początkowo stworzona jako port dla jądra serii 2.4 przez Solar Designera, obecnie rozwijana przez Brada Spenglera, oferuje wsparcie dla najnowszych wersji jąder. Od 2015 roku dostępne są jedynie testowe wersje grsecurity, podczas gdy finalne wersje są przeznaczone dla klientów komercyjnych.
Kluczowe cechy grsecurity
Grsecurity wprowadza szereg funkcji, które znacząco podnoszą bezpieczeństwo systemu, w tym:
- Role-Based Access Control (RBAC) – tworzenie list kontroli dostępu.
- Restrykcje w środowisku chroot – uniemożliwiają wydostanie się z niego, nawet użytkownikowi root.
- Zaawansowane logowanie – umożliwia audyt, w tym zapisywanie adresów IP dla określonych zdarzeń.
- Losowość stosu TCP – zabezpieczenie numerów sekwencyjnych, portów źródłowych oraz IP ID.
- Restrykcje dla /proc oraz losowość numerów PID.
- Zapobieganie sytuacjom wyścigu – wprowadzenie ograniczeń dla /tmp.
- Ochrona przed atakami siłowymi.
Dzięki projektowi PaX, grsecurity oferuje również:
- Niewykonywalny stos – chroni przed wykonywaniem kodu w zapisywalnych obszarach pamięci.
- Ograniczenia dla mprotect oraz losowość dla mmap() i stosu.
- Ochrona przed modyfikacją jądra przez /dev/mem, /dev/kmem i /dev/port.
Podsumowanie
Grsecurity stanowi istotną warstwę ochrony przed wewnętrznymi i zewnętrznymi zagrożeniami. W połączeniu z innymi narzędziami, takimi jak biblioteka libsafe oraz restrykcyjnymi zaporami sieciowymi, pozwala na osiągnięcie wysokiego poziomu bezpieczeństwa systemu.
Obsługa grsecurity w dystrybucjach Linuksa
Grsecurity jest wspierane przez niektóre dystrybucje Linuksa, w tym:
- Gentoo
- NetSecL
- PLD