Назад | Перейти на главную страницу

Перемещение загруженных файлов через DMZ

Я перехожу веб-приложение (работающее на LAMP) с одного хоста на конфигурацию с приложением php / apache, работающим на общедоступном сервере в DMZ. Приложение подключается к mysql, который находится в частной сети за DMZ. Мои основные критерии, которые мне были даны, - это полностью сохранить все пользовательские данные (в базе данных или загруженных пользователем файлах) из DMZ и разрешить доступ к ним только через ACL. Т.е. отделение уровня приложения от уровня данных как по сети, так и по аутентификации / доступу.

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

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

У вас действительно не может быть обоих способов: если вы хотите получить доступ к ресурсу на файловом сервере с веб-сервера, вам нужно открыть для него брандмауэр.
На самом деле нет никакой разницы, пробивающей дыру для NFS и MySQL - если кто-то взломает ваш веб-сервер, он может получить вашу базу данных MySQL (или, по крайней мере, получить учетные данные и получить доступ к любой БД, к которой может добраться пользователь). Точно так же, если они взламывают веб-сервер, они могут получить доступ ко всему, что разрешено веб-серверу, с учетом любых ограничений, которые вы наложили на экспорт NFS.

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