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

Как безопасно разрешить IIS запускать исполняемый файл с потенциальными уязвимостями?

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

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

Если вы действительно не доверяете системе, вы должны изолировать ее. Используйте отдельный сервер для своих данных, базы данных и всего остального, что вы хотите держать подальше от ненадежного сервера IIS.

ПРИМЕЧАНИЕ. Для объяснения каждой из этих строк могут потребоваться целые статьи. Усиление защиты сервера IIS, подключенного к Интернету, может оказаться долгим.

  1. Используйте последнюю версию Windows и IIS
  2. Сделайте подсеть DMZ и VLAN
  3. Поместите сервер IIS в DMZ
  4. Никогда не присоединяйте сервер IIS к домену
  5. Поместите обратный прокси-сервер с брандмауэром веб-приложений в DMZ
  6. Направляйте весь входящий и исходящий трафик через межсетевой экран с возможностями IPS
  7. Направляйте весь трафик из Интернета на обратный прокси-сервер, чтобы трафик никогда не шел напрямую на сервер IIS.
  8. Установите программный пакет безопасности, который включает брандмауэр хоста и аналитику поведения
  9. Установите Microsoft EMET: https://support.microsoft.com/en-us/help/2458544/the-enhanced-mitigation-experience-toolkit
  10. Разверните AppLocker, чтобы контролировать, какой исполняемый файл может запускаться: https://technet.microsoft.com/en-us/library/dd759117%28v=ws.11%29.aspx
  11. Отключить NetBIOS и SMB

-ИЛИ-

  1. Разместите приложение в облаке Azure и позвольте Microsoft беспокоиться о том, что произойдет, когда оно будет взломано.
  2. По-прежнему проводите некоторое усиление защиты самого сервера, но теперь вам не нужно защищать сеть вокруг него.