У нас есть два серверных приложения, одно из которых отвечает за получение данных из Интернета и их сохранение в базе данных, а другое - фактически сервер COMET, принимающий подключения из Интернета, подключенный к конвейеру http через HttpListener API.
В процессе разработки оба эти элемента были созданы как консольные приложения, которые запускаются вручную под учетной записью администратора. Очевидно, это неудовлетворительно с точки зрения безопасности.
Когда мы перейдем к производству, оба этих приложения будут перенесены для запуска в качестве служб Windows с использованием ServiceBase.Run и предоставлены в качестве установщиков для установки на платформу развертывания.
Как человек, который очень мало знает о безопасности Windows, списках ACL и т. П., Я хотел бы знать, какие шаги я могу предпринять для защиты этих приложений (например, чтобы они выполнялись с учетной записью с наименьшими необходимыми привилегиями) и как создайте установщик, который устанавливает необходимые учетные записи служб и привилегии для этих учетных записей.
Чтобы было ясно, я не спрашиваю, как сделать установщик службы - у нас это уже есть, а, скорее, какие шаги необходимы, чтобы заставить установщик службы фактически установить службу под учетной записью с низкими привилегиями с правами только на минимальные ресурсы требуется, чтобы сделать работу. Часть ответа будет о том, как разрешить доступ учетной записи службы к конвейеру Http.
РЕДАКТИРОВАТЬ: Вероятно, мы можем использовать пользовательское действие с кодом из здесь для резервирования конвейера http.
Есть ли какие-либо другие шаги, которые можно предпринять, чтобы укрепить безопасность таких приложений?
ТИА