Разрешение папки загрузки и папки файлов сервера на выделенном сервере

Я буду запускать веб-сайт на выделенном сервере, где пользователям будет разрешено загружать файлы (я не проверяю эти файлы на наличие вирусов).

Допустим, папки такие:
parent_folder -> веб-сайт (папка, содержащая файлы сервера)
parent_folder -> uploads (папка, содержащая пользовательские загрузки)< /сильный>

Вопрос. Будет ли достаточно разрешения на файл в папке веб-сайта 750 и в папке загрузки 770?

(Примечание 1: Владелец — корень; группа — Apache; веб-сайт — это социальная сеть)
(Примечание 2: поскольку Apache (www-data) будет обрабатывать загрузки, я полагаю, что может потребоваться 770 вместо 740)
(Примечание 3: поскольку Apache (www-data) нужно будет только читать файлы в папке веб-сайта, поэтому 750)
(Примечание 4: сервер будет обслуживаться одним пользователем)


person vjjj    schedule 06.10.2016    source источник
comment
Боюсь, на этот вопрос нельзя ответить. Одна тривиальная часть отсутствующей информации — это владелец и группа этих каталогов, но это также зависит от множества деталей, вашей модели угроз, склонности к риску и т. д. Без всей этой информации: я могу придумать приложение, в котором это достаточно хорошо. , а также тот, где его нет.   -  person Gabor Lengyel    schedule 06.10.2016
comment
Добавлено больше информации   -  person vjjj    schedule 06.10.2016


Ответы (1)


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

Что вы должны учитывать, так это то, что произойдет, если файлы будут украдены злоумышленником, не прошедшим проверку подлинности, или, я полагаю, будет какой-то контроль доступа, и пользователи будут иметь доступ к своим собственным файлам, и в этом случае очевидный риск - это пользователь возможность доступа к чужим файлам. Как это повлияет на ваш сайт / бизнес, если это произойдет? Готовы ли вы пойти на этот риск? От кого вы пытаетесь защититься? Детишки оппортунистического сценария? Злоумышленники, специально нацеленные на ваш сайт? Атаки на государственном уровне? Вы должны сначала ответить на них.

Недостатком этого решения является то, что любое нарушение на уровне приложения или операционной системы, скорее всего, даст доступ ко всем загруженным файлам всех пользователей. Если ваше приложение уязвимо для таких вещей, как включение локальных файлов, обход каталогов, даже внедрение SQL в определенные базы данных или множество других уязвимостей, ваши файлы могут быть загружены. Хотите ли вы защитить их больше, зависит от вашего варианта использования.

Более безопасными вариантами могут быть хранение их на отдельном сервере (какое-то файловое хранилище), шифрование их ключами, специфичными для пользователя (и тогда управление ключами и криптография вообще — это огромная тема), вы можете реализовать идентификацию mime-типа с белыми списками, чтобы разрешить только определенные типы файлов (это немного другой аспект), или вы даже можете добавить сквозное шифрование для защиты от себя (оперативного персонала) и т. д. Вы можете пойти на многое в плане защиты этих файлов, если вы хочу, но это становится очень сложным очень быстро.

person Gabor Lengyel    schedule 06.10.2016