1024
Господа, объясните мне кто-нибудь, когда и для чего во всяческих Unix и прочих BSD, было введено ограничение на открытие порта с номером < 1024 открывать их имеет право только root. Ведь это создаёт массу проблем всяческие BIND/Sendmail/Apache и прочие сервера вынуждены запускаться из под рута, из за чего и существует вся эта масса эксплоитов, которая пользуясь дырами, которые постоянно появляются и изчезают в этих и прочих программах, позволяют получить на системе абсолютные права.
А обычно пускается процесс под рутом, открывает порт и потом «рождает child’а», который и занимается безобразием :)
Комментарий для kama:
Да, так и есть. :) Эксплоит, обычно, сводится к тому, чтобы произвести переполнение в родительском процессе.
Ну это да. Но мне кажется я нашел выход — пускаем процессы на портах > 1024, используя выделенных под них пользователей, а с портов предназначенных для них делаем forward :)
А еще лучше для каждого свой chroot/jail. Надо будет на досуге занятся конфигурированием этакого BlackBox’a :)
Комментарий для kama:
Может проще подпадчить ядро? :)
А это уже дыра в security :)
Комментарий для kama:
Не вижу никакой дыры, посколько не вижу смысла в этом «security»
Может как раз чтобы user не вывесил свой named/apache ?
прикинь…. упал named в core. user вывесил свой со своей зоной….
или тоже самое с apache ?
Комментарий для Hamlet:
У меня есть ответ на этот вопрос :) Нужно оформить порты как девайсы /dev/tcp1, …, /dev/tcp255, /dev/udp1, …, /dev/udp255 и раздавать на них права. «x» — возможность создания сокета на этом порту.
нет под рукой, но помню читал в эхе, патчит ядро не надо, есть стандартные средства опустить порог.
хотя вопрос религии наверно
апач кроме биндинга порта, рождения чялдов, и записи логов ни че и не делает, рутовый который.
сендмыл.. ну этот вообще, назло русским, буржиями изобретён, по заказу цру.
Комментарий для Ray:
А сколько дыр найдено во всяких там sendmail/BIND, которые позволяют получить рута?