Запуск Solaris / Apache / PHP.
Наша пользовательская база должна иметь возможность загружать файлы на веб-серверы, поэтому у нас должна быть включена загрузка php. Проблема возникает, когда пользователи предоставляют сценарии загрузки, которые не ограничены, а злоумышленник загружает свои собственные данные. Часто злоумышленник загружает свои собственные данные, которые они хотят обслуживать на веб-сервере, или загружает другой скрипт php, который дает им дополнительный доступ к системе.
У нас тысячи пользователей, поэтому проверка безопасности каждого сценария загрузки (будь то кастомный, вики-сайт и т. Д.) Кажется практически невозможной. У меня есть сценарий, который проверяет наличие доступных для записи веб-каталогов и проверяет, существуют ли соответствующие ограничения настройки .htaccess для этих каталогов, но системы, которые имеют свои собственные системы входа в систему, не основанные на .htaccess / .htpasswd (вики и т. .) не будет использовать их, поэтому эти сценарии в этом отношении не помогают.
Какие общие меры безопасности принимают другие или какие передовые практики разрешают загружать файлы? Как мы можем предотвратить злоупотребление этими скриптами?
Разместите свою папку загрузки отдельно от сценариев / двоичных файлов приложения. Настройте Apache так, чтобы он не выполнял код cgi / php / etc из каталога загрузки. В идеале размещайте загружаемые данные в каталоге вне корневого веб-каталога.
Поскольку вы размещаете много пользователей, используйте сервер / модуль PHP, чтобы код каждого пользователя работал под своим собственным идентификатором пользователя.
Кроме того, вы не можете защитить от себя человека, который может опубликовать код на вашем сервере. Если они загрузят небезопасный код, то увидят последствия. Иметь 100% защиту просто невозможно.