Szybkie poskromienie SELinuksa

[ piątek, 12 Marzec 2010 ]

SELinux to nakładka na linuksowe jądro, kontrolująca przydzielanie zasobów dla różnych aplikacji. Początkujący administratorzy systemów redhatopodobnych, jak CentOS czy Fedora niejednokrotnie stają przed poważnym problemem: jak uporać się z restrykcyjną polityką SELinuksa, który niczym Hubert Urbański w „Milionerach” będzie się dwieście razy pytał, czy „ostatecznie i definitywnie” pozwolić Apache’owi na dostęp do takiego czy innego katalogu?

Sam jestem amatorem, który nieraz miał ochotę wpisać set enforce 0, by przełączyć SELinuksa w tryb pobłażliwy, albo w ogóle się tego wynalazku pozbyć. Wychodzę jednak z założenia, że SELinux służy jednak czemuś pożytecznemu i lepiej spróbować z nim po dobroci. Na szczęście na ogół wystarczy odnaleźć w /var/log/messages komunikat z kodem dla programu sealert, który podaje gotowe rozwiązania, np. jaką opcję należy przełączyć za pomocą setsebool.

Są jednak przypadki, gdy porady sealert są zbyt enigmatyczne. W takich wypadkach FAQ Fedory radzi skorzystać z programu audit2allow. Zasada jest bardzo prosta. Najpierw generujemy zestaw regułek, które pozwalają obejść ostatnio napotkane błędy:

# audit2allow -m local -l -i /var/log/messages > local.te

Jeżeli nasz system korzysta z pliku /var/log/audit/audit.log to w nim program znajdzie potrzebne mu informacje:

# audit2allow -m local -l -i /var/log/audit/audit.log > local.te

Teraz możemy przejrzeć local.te i usunąć regułki, które nas nie interesują, by nie odblokować w systemie zbyt wielu zabezpieczeń.

Następnie upewniamy się, że mamy zainstalowany pakiet checkpolicy i kompilujemy moduł z naszymi regułkami, po czym generujemy paczkę:

# checkmodule -M -m -o local.mod local.te
# semodule_package -o local.pp -m local.mod

Na koniec dodajemy ją do obowiązującej w systemie polityki bezpieczeństwa (może to chwilę potrwać):

# semodule -i local.pp

Należy przy tym pamiętać, że jeżeli w pamięci jest już moduł o nazwie local, to zostanie nadpisany przez swoją nową wersję!

Wiadomość źródłowa: Szybkie poskromienie SELinuksa (vmario techblog » GNU/Linux)

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

RSS feed

Komentarze

Brak komentarzy.

Nazwa (wymagane)
E-mail (wymagany - nie pokażemy go publicznie)
URI
Rozmiar pola: zmniejsz rozmiar | zwiększ rozmiar

W komentarzach możesz używać prostych tagów HTML. Przykłady:
  • Link: <a href="jaklinux.org">Linux dla każdego</a>,
  • Wytłuszczenie: <strong>tekst pogrubiony</strong>,
  • Kursywa: <em>tekst pochylony</em>,
  • Przekreślenie: <strike>tekst przekreślony</strike>,
  • Kod: <code>printf("blok kodu");</code>,
  • Cytat: <blockquote>cytat</blockquote>

Reklama :)

jakilinux.org - Linux krok po kroku!