On Tue, Feb 28, 2006 at 11:55:45AM +0200, Yura Dik wrote: > Есть n-ое количество серверов, каждый из которых периодически взламывают > следующим образом: от пользователя www-data в /tmp закачивается ELF или > скрипт, который от имени этого же пользователя и запускается, заставить > прогеров проверить все cgi на безопасность нереально, что > посоветуете ???
Многие жертвы php пишут глупость типа такой: if (isset($_GET["page"])) { include($_GET["page"]); } желая вставить файл, указываемый в аргументах, в вывод скрипта. Однако в php есть глупая фича, которая позволяет читать URL как из файла, то есть если кто-нить положит на веб-сервер скрипт и твой скрипт вызовет с указанием page=http://мойсервер/blah, то этот скрипт выполнится у тебя. Обычно такие попытки можно с лёгкостью видеть в accesslog апача, ищи слово wget, пиши в прокуратуру. От этого и некоторых других методов можно защитится, отредактировав php.ini и запретив там allow-url-fopen (или как-то), expose_php и show_error. После этого для чтения из url надо юзать интерфейс с curl, а ошибки смотреть в error_log. Есть ещё проблема с упенсурсными всякими скриптами типа phpBB2, mambo и прочего треша, которые написаны бездумно и из рук вон плохо. За такими надо просто следить и при первых постингах в bugtraq/full-disclosure накатывать патчи. > 1. можно ли запретить определенному пользователю запускать программы из > определенного пути, или разрешать только определенные пути ??? Можно попробовать acl (man setfacl/getfacl) > > 2. как запретить пользователю (например www-data) открывать socket, но > при этом чтобы сервер работал Если в sarge починили Iptables и там таки работает owner, то можно использовать его. Если не починили, то простой запрет на исходящие соединения по tcp/6660-6670 серьёзно снизит шансы твоего ящика стать частью ботнета. Если только у тебя ядро, для которого ещё нет эксплойтов (в дебиан это обычно так) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]