Пишу, по большей части, про историю, свою жизнь и немного про программирование.

1024

Господа, объясните мне кто-нибудь, когда и для чего во всяческих Unix и прочих BSD, было введено ограничение на открытие порта с номером < 1024 — открывать их имеет право только root. Ведь это создаёт массу проблем — всяческие BIND/Sendmail/Apache и прочие сервера вынуждены запускаться из под рута, из за чего и существует вся эта масса эксплоитов, которая пользуясь дырами, которые постоянно появляются и изчезают в этих и прочих программах, позволяют получить на системе абсолютные права.
10 комментариев
kama 2003

А обычно пускается процесс под рутом, открывает порт и потом «рождает child’а», который и занимается безобразием :)

Евгений Степанищев (bolknote.ru) 2003

Комментарий для kama:

Да, так и есть. :) Эксплоит, обычно, сводится к тому, чтобы произвести переполнение в родительском процессе.

kama 2003

Ну это да. Но мне кажется я нашел выход — пускаем процессы на портах > 1024, используя выделенных под них пользователей, а с портов предназначенных для них делаем forward :)
А еще лучше для каждого свой chroot/jail. Надо будет на досуге занятся конфигурированием этакого BlackBox’a :)

Евгений Степанищев (bolknote.ru) 2003

Комментарий для kama:

Может проще подпадчить ядро? :)

kama 2003

А это уже дыра в security :)

Евгений Степанищев (bolknote.ru) 2003

Комментарий для kama:

Не вижу никакой дыры, посколько не вижу смысла в этом «security»

Hamlet 2003

Может как раз чтобы user не вывесил свой named/apache ?
прикинь…. упал named в core. user вывесил свой со своей зоной….
или тоже самое с apache ?

Евгений Степанищев (bolknote.ru) 2003

Комментарий для Hamlet:

У меня есть ответ на этот вопрос :) Нужно оформить порты как девайсы /dev/tcp1, …, /dev/tcp255, /dev/udp1, …, /dev/udp255 и раздавать на них права. «x» — возможность создания сокета на этом порту.

Ray 2003

нет под рукой, но помню читал в эхе, патчит ядро не надо, есть стандартные средства опустить порог.

хотя вопрос религии наверно
апач кроме биндинга порта, рождения чялдов, и записи логов ни че и не делает, рутовый который.
сендмыл.. ну этот вообще, назло русским, буржиями изобретён, по заказу цру.

Евгений Степанищев (bolknote.ru) 2003

Комментарий для Ray:

А сколько дыр найдено во всяких там sendmail/BIND, которые позволяют получить рута?