10.3.2. Контроль загрузки файлов
10.3.2. Контроль загрузки файлов
Загрузка файлов — самая опасная возможность для сервера. Каждый пользователь должен иметь право обращаться только к своей директории. А что делать, чтобы анонимные пользователи тоже могли работать с файлами? В этом случае нужно по возможности запретить загрузку в уязвимые с точки зрения безопасности директории, куда злоумышленник может поместить скрипты и выполнить их.
upload параметры — команда позволяет настроить права на загрузку файлов в определенные каталоги. Для запрета загрузки в каталог /etc нужно написать следующую строку:
upload /etc no
Давайте посмотрим, как можно разрешить загрузку в директорию:
upload /home yes root root 0600 nodir
В данной строке разрешается загрузка файлов в директорию /home. Третий и четвертый параметры определяют владельца и группу, которые будут установлены для файла. В обоих случаях я указал root, чтобы простой смертный после загрузки ничего не смог сделать с документом. Далее идут права доступа на файл — 0600, т.е. читать и писать в него сможет только администратор, а все остальные отдыхают. Последний параметр равен nodir, что соответствует запрету на создание директорий.
Следующий пример разрешает создавать директории:
upload /home/robert yes root root 0600 dir 0700
Предпоследний параметр равен dir, что позволяет создавать директории. Последний параметр 0700 — это права доступа на каталог (только администратору разрешено все). Изменение этого значения позволяет сделать возможной работу с файлами только администратору root. Даже если злоумышленник загрузит в указанную директорию свою программу, выполнить он ее не сможет, не имея соответствующих прав.
Запретите загрузку файлов в любые системные директории, открытые пользователям для просмотра. Если вы используете исключительно гостевой доступ, когда пользователь может работать только в своем окружении, то в этом уже нет крайней необходимости.
Данный текст является ознакомительным фрагментом.