Znalazłem tę odpowiedź na learning Linux Kernel Programming, a moje pytanie jest bardziej specyficzne dla funkcji bezpieczeństwa jądra systemu Linux. Chcę wiedzieć, jak ograniczyć uprzywilejowanych użytkowników lub prawa dostępu do procesu do innych procesów i plików, w przeciwieństwie do pełnego dostępu root.Jak ograniczyć dostęp dla uprzywilejowanych użytkowników na poziomie jądra Linux?
Do tej pory znalazłem:
- użytkownikowi i grupę dla uznaniowe kontroli dostępu (DAC), ze zróżnicowania odczytu, zapisu i wykonania dla użytkownika, grupy i innych korzeni
- użytkownika na wyższe uprzywilejowanych zadań
- setuid i setgid przedłużyć d użytkowników męska AC i ustaw identyfikator grupy/użytkownika procesu wywołującego, np. użytkownik uruchamia
ping
z uprawnieniami roota do otwierania gniazd Linuksowych - Możliwości dla uprawnień szczegółowych, np. usunięcie bitu suid z
ping
i ustawićcap_net_raw
- grupie kontrolnej (Cgroups) ograniczenie dostępu do zasobów, czyli procesora, sieci, IO urządzenia
- przestrzeni nazw do widoku oddzielnym procesie w sprawie IPC, sieci, plików, PID
- Secure Computing (seccomp) do systemu ograniczania połączeń
- Linux Security Modules (LSM), aby dodać dodatkowe funkcje zabezpieczeń, jak Access Control obowiązkowe, np SELinux z egzekwowaniem typu
Czy lista jest kompletna? Podczas pisania pytania znalazłem fanotify do monitorowania zdarzeń systemu plików, np. do skanowania antywirusowego. Prawdopodobnie jest więcej dostępnych funkcji bezpieczeństwa.
Czy istnieje więcej funkcji zabezpieczających systemu Linux, które mogą być używane jako w programowalny sposób z wewnątrz lub z zewnątrz pliku lub procesu w celu ograniczenia dostępu uprzywilejowanego? Być może jest pełna lista.
Przeczytaj [referencje (7)] (http://man7.org/linux/man-pages/man7/credentials.7.html) i [możliwości (7)] (http://man7.org/linux /man-pages/man7/capabilities.7.html) i [namespaces (7)] (http://man7.org/linux/man-pages/man7/namespaces.7.html) & [xattr (7)] (http://man7.org/linux/man-pages/man7/xattr.7.html) –