Назад |
Перейти на главную страницу
Как безопасно разрешить IIS запускать исполняемый файл с потенциальными уязвимостями?
У нас есть приложение IIS, которое должно запускать исполняемый файл с потенциально вредоносным вводом. В этом пуле приложений работает несколько приложений, и я хотел бы максимально ограничить наш риск. Сам исполняемый файл является доверенным, но вполне может содержать уязвимости (например, ImageMagick). Возможно, через переполнение буфера каким-либо другим механизмом злоумышленник может получить управление и выполнить его с теми же привилегиями (т.е.пользователем пула приложений), что и исходный исполняемый файл.
Я полагаю, что самым безопасным курсом было бы создать пользователя, у которого есть разрешение не делать ничего, кроме выполнения этого exe, а также чтения и записи в одну конкретную папку, но трудно найти руководство о том, как это сделать.
Если вы действительно не доверяете системе, вы должны изолировать ее. Используйте отдельный сервер для своих данных, базы данных и всего остального, что вы хотите держать подальше от ненадежного сервера IIS.
ПРИМЕЧАНИЕ. Для объяснения каждой из этих строк могут потребоваться целые статьи. Усиление защиты сервера IIS, подключенного к Интернету, может оказаться долгим.
- Используйте последнюю версию Windows и IIS
- Сделайте подсеть DMZ и VLAN
- Поместите сервер IIS в DMZ
- Никогда не присоединяйте сервер IIS к домену
- Поместите обратный прокси-сервер с брандмауэром веб-приложений в DMZ
- Направляйте весь входящий и исходящий трафик через межсетевой экран с возможностями IPS
- Направляйте весь трафик из Интернета на обратный прокси-сервер, чтобы трафик никогда не шел напрямую на сервер IIS.
- Установите программный пакет безопасности, который включает брандмауэр хоста и аналитику поведения
- Установите Microsoft EMET: https://support.microsoft.com/en-us/help/2458544/the-enhanced-mitigation-experience-toolkit
- Разверните AppLocker, чтобы контролировать, какой исполняемый файл может запускаться: https://technet.microsoft.com/en-us/library/dd759117%28v=ws.11%29.aspx
- Отключить NetBIOS и SMB
-ИЛИ-
- Разместите приложение в облаке Azure и позвольте Microsoft беспокоиться о том, что произойдет, когда оно будет взломано.
- По-прежнему проводите некоторое усиление защиты самого сервера, но теперь вам не нужно защищать сеть вокруг него.