Drop unneeded capabilities (było: Re: bind 8.2.2_P3)
Pawel Krawczyk
kravietz at ceti.pl
Mon Nov 15 13:29:29 CET 1999
[piątek, 12 listopad 1999], Tomasz Kłoczko napisał(a):
> Tak jeszcze apropo bind (trochę) ponieważ właśnie z Pawłem popisaliśmy
> sobie czy by nie dodać osobnego użytkownika i grupy na to żeby uruchamiać
> binda. W piwerwszej chwili pomyślałem że nie zaszkodzi. W dugiekj
> pomyślałem sobie o jakieś modyfikacji w kernelu która uniemozliwiałaby
> procesom o konkretnym uid/gid wykonywanie operacji plikowych, a potem
> Artur mnie poprawił, że wystarczyłoby żeby np. bind po starcie pozbywał
> sie odpowiednich CAP* .. w takiej sytuacji bind mógłby chodzić zdaje się
> nawet na uid/gid=0.
Zrzucanie capów swoją drogą, ale w przypadku takiej kobyły jak BIND to
niestety nie rozwiąże podstawowego problemu, a mianowicie zagrożenia
atakami typu buffer overrun. Named w całym okresie działania potrzebuje
praktycznie wszystkich capów, które umożliwiłyby również działanie
exploitowi (stworzenie pliku, otwarcie gniazda itp). Jeśli źle piszę,
to proszę mnie poprawić - mogłem o czymś zapomnieć.
BIND powinien chodzić jako użytkownik `named' i grupa `named' (opcje
-u named -g named), bo w ten sposób likwidujemy podstawowe zagrożenie,
tj. możliwość otwarcia zdalnego roota w przypadku wykrycia kolejnych
błędów w BINDzie. Takie zagrożenie niestety cały czas istnieje,
szczególnie w świetle błędów poprawionych w P3.
BTW jest już wersja P5.
BTW2 można też się zainteresować alternatywami dla BIND - istnieje np.
taki demon Denst (www.dents.org). Jeszcze go nie testowałem w warunkach
bojowych (800+ domen), ale niedługo to zrobię.
> Niech mnie ktoś w razie czego poprawi jeżeli coś pomieszałem ale jeżeli
> dobrze koncypuję to tego typu poprawek może potrzebować jeszcze całkiem
> spora ilośc innych programów (chodzi o procesy usług żeby po starcie
> pozbywały się capabilities które nie są im potrzebne). Do tej grupy
> kwalifikowałyby sie zapewne rózne inet serwisy, a także same inet serwery
> (po co im możliwość operowania na plikach czy mozliowść wykonywanai chroot
> czy kilka innych).
Ja bym z tym poczekał, aż capabilities wejdą do ELFa (ustawianie capów
konkretnym binariom, coś jak chattr). Z tym, że lepiej żeby zaopiniował
to ktoś kto bardziej się tym tematem interesował.
> Ciekawe czy dałoby się jakoś logować używanie capabilities kttórcych
> program juz nie posiada (mogłoby być to przydatne w diagnostyce błedów
> jakie jeszcze są w programach).
--
Pawel Krawczyk, CETI internet, Krakow. http://ceti.pl/~kravietz/
More information about the pld-devel-pl
mailing list