Добавление учетной записи “сетевой службы” к группе администраторов

Мое веб-приложение работает в IIS 6.0 под Windows Server 2003, и все мы знаем, что в этой ситуации, учетная запись пользователя "Сетевая служба" используется IIS.

Я, оказывается, должен позволить определенному пользователю выполнять некоторое действие со своей веб-страницей, и то действие требует права администратора.

Самое ленивое решение меня, кажется, добавляет "Сетевую службу" к Группе администраторов, и это на самом деле работает.

МОЙ ВОПРОС, насколько ОПАСНЫЙ это решение, и каким образом это может поставить под угрозу безопасность моего веб-сервера?

6
задан Zhiguang Wang 9 February 2010 в 02:53
поделиться

3 ответа

Это вообще "плохая идея". Если это общедоступный сервер, это действительно плохая идея.

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

Затем мы размещаем удаленный сервер в службе Windows и обмениваемся данными со службой через именованный канал или TCP / IP (если машина на машину, и это происходит через внутреннюю частную сеть).

Для получения дополнительной информации см. Этот ответ, который я оставил другому пользователю по поводу аналогичной проблемы:

Учетная запись пользователя Windows, которая выполняет только положения IIS7

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

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

5
ответ дан 16 December 2019 в 21:39
поделиться

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

NT Authority/Network Service взаимодействует с кучей вещей на вашей машине. Я не могу придумать ни одной веской причины для получения привилегий администратора сетевой службы.

2
ответ дан 16 December 2019 в 21:39
поделиться

Ни при каких обстоятельствах не делайте этого.

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

На ваш вопрос

Мне пришлось разрешить определенному пользователю выполнять некоторые действия на моей веб-странице, и это действие требует прав администратора.

это нормально - используйте аутентификацию Windows на этой веб-странице и сделайте пользователя обычным администратором Windows. Теперь они и все другие администраторы могут выполнять поставленные вами задачи.

1
ответ дан 16 December 2019 в 21:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: