Как мне управлять Windows, такой как Linux / Unix: административные права по членству в группе без аварий и без совместного использования пароля администратора?

8

Я делаю некоторые фундаментальные изменения в среде Windows Server 2003/2008. На стороне Unix мои ограничения безопасности просты:

  1. Пользователи, которые должны иметь права администратора, находятся в специальной группе («колесо» или подобное).
  2. Когда эти пользователи входят в систему на этих машинах, они по-прежнему не имеют прав администратора, пока они явно не выполнят команду с этими правами администратора («команда sudo» или «su»).
  3. Даже когда они выполняют команду с «su» (что-то вроде «runas»), им все равно нужно ввести пароль: свой собственный.

В этой системе я могу контролировать, кто имеет права администратора (по членству в группе), предотвращать их случайное выполнение чего-либо с привилегиями администратора случайно (требуя "su" или "sudo") и никогда не раскрывать ядро ​​"Администратор" (т.е. «root») пароль, так как их просят самостоятельно.

Как мне сделать эквивалент на Windows Server? Варианты, как я вижу это:

  1. Добавить пользователя в учетную запись локального администратора: Но тогда все, что они делают, это как администратор, рискуя ошибкой
  2. Требуйте, чтобы они сделали «runas Administrator»: Но тогда они должны знать пароль администратора, которым я не хочу обмениваться.

Есть ли какое-либо решение, в котором я могу одновременно: контролировать, кто имеет доступ через членство в группе; предотвратить случайное повреждение, требуя отдельного пароля; помешать им узнать пароль администратора?

Дейч
источник

Ответы:

8

Во-первых, только администраторы должны получать административный доступ, поэтому, если нет ОГРОМНОЙ (я не могу придумать хорошего) причины, по которой им это нужно, то это следует оставить администраторам; Есть редкие случаи, когда обычный пользователь получает права администратора, и даже тогда я обычно скептически отношусь к тому, зачем им это нужно.

Во-вторых, вы можете выполнить то, что вы хотите, используя членство в группе в Windows. Вы не сказали, что используете Active Directory, поэтому я не уверен, есть ли у вас домен, но вы можете создавать группы безопасности и добавлять к ним отдельные учетные записи пользователей. Посмотреть здесь. Я бы не стал добавлять пользователей в группу локальных администраторов на сервере по отдельности, так как это может привести к путанице и затруднить отслеживание дальнейших действий, а также создаст много головной боли для вас и потенциальных проблем безопасности. Как я уже говорил, я бы создал группу безопасности и добавил в нее членов, которым вы хотите предоставить доступ администратора. Вы бы создали две учетные записи для своих пользователей; одна для обычного входа в систему, а затем вторая учетная запись, которая использовалась только для повышенных действий. Вы добавили бы учетную запись «более высокого / привилегированного» пользователя в группу безопасности, затем вы можете поместить эту группу в расширенное членство в локальной группе на фактическом сервере, например, «Опытные пользователи». Это позволит им выполнять множество функций, не будучи администраторами.

Что касается запуска от имени администратора, вам не нужно делать это все время. Лучший способ заставить людей запускать программы, не зная пароля администратора или администратора, - использовать Shift + щелчок правой кнопкой мыши, а затем выбрать «Запуск от имени другого пользователя» или «Щелкните правой кнопкой мыши и запустите от имени администратора». Сначала вы захотите создать для них отдельного пользователя с более высокими или повышенными правами, как упомянуто выше (этот пользователь с повышенными правами будет снова добавлен в группу безопасности, как упомянуто выше), так как затем этот пользователь может использоваться для запуска вещей, которые требовать повышения прав при входе в систему с обычной / стандартной учетной записью пользователя. Смотрите мой скриншот:

введите описание изображения здесь

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

Брэд Бушар
источник
это именно то, что предложили другие 2. Вы правы, у нас запущен AD, и мы добавим их в группу администраторов серверов, которая будет иметь права локального администратора.
декабря
RE: Run as Administratorлюбые административные полномочия подойдут. Если учетная запись, в которую вы вошли, не имеет административных учетных данных, вам будет предложено ввести имя пользователя и пароль, и вы сможете ввести там административную учетную запись. Ваш пост на самом деле не проясняет это.
HopelessN00b
И в данном случае я имею говорить о сисадминов. Хорошей практикой безопасности является то, что системные администраторы не должны иметь пароль к учетной записи рабочей / системной учетной записи, а только для запуска своей учетной записи. Я хочу распространить это на сисадминов.
декабря
1
@deitch Да, это именно то, что мы делаем в $ [dayjob]. Все мы, ИТ-специалисты, имеем нормальные учетные записи пользователей и административные учетные записи Войдите в систему как пользователь с ограниченными правами и выполните Run as Administratorопцию для всего, что требует повышения прав. пользователи локальных администраторов не используются, если они не должны быть (доверие домена нарушено и т. д.)
HopelessN00b
2
@ HopelessN00bGeniusofnetwork, поэтому RunAsAdministrator не означает «Запуск от имени учетной записи администратора», это означает «Запуск от имени любой учетной записи, обладающей правами администратора, если вы можете предоставить учетные данные для любой такой учетной записи»?
Дейч
5

Оставьте их стандартную учетную запись как «стандартную». Создайте им привилегированную вторую учетную запись и добавьте ее в различные административные группы. Используйте 'runas' с привилегированной учетной записью. (Может оказаться полезным отключить интерактивные входы в систему с учетной записью администратора, но опять же - это, вероятно, будет раздражать).

Sobrique
источник
1
Я понял Итак, у вас есть 2 аккаунта: Sobrique и SobriqueA. SobriqueA заблокирован от входа в любые системы на консоли / пульте, может делать только runas. SobriqueA является членом группы с правами администратора. Пользователь входит в систему как Sobrique, затем выполняет «runas SobriqueA», для которого требуется пароль SobriqueA, и все такие команды выполняются с полными привилегиями администратора. Это немного запутанно, но может быть и хуже.
декабря
2
Это правильно.
Брэд Бушар
1
+1 для адресации отключить интерактивные входы в систему. В противном случае пользователи просто войдут в систему с учетными данными администратора и будут подвержены опасениям OP по поводу каждого действия администратора.
Байрон С.
4

В Server 2003 вам нужно будет использовать Run As...опцию для запуска в качестве учетной записи с правами администратора.

В Server 2008+ вы используете UAC и / или предложенную Run as Administratorвами опцию. Для этого не требуется знать пароль для в [LOCAL] управленческого учета - любые административные полномочия будут делать.

Таким образом, вы добавляете их учетные записи в локальные административные группы или, что лучше, с точки зрения безопасности, создаете отдельные административные учетные записи и добавляете их в локальные административные группы. Затем, когда им нужно запустить что-то с правами администратора, UAC запросит учетные данные администратора и / или они будут использовать параметр Run As.../ Run as Administrator.

HopelessN00b
источник
Это очень похоже на ответ @ sobrique. Таким образом, Win считает, что учетные записи либо имеют права администратора, либо нет? И у него нет понятия «эта учетная запись имеет право запускать вещи от имени администратора, если она явно запрашивает и повторно аутентифицирует»?
декабря
1
В основном нет. У Windows есть куча прав безопасности - обычно эти права предоставляются группе (потому что для каждого пользователя это неприятно). Членство в группе дает права. Обычной практикой является вход в систему с использованием учетной записи администратора, потому что это легко - но это не значит, что это правильно. У нас есть локальные учетные записи пользователей и учетные записи администраторов доменов, которые мы используем для входа на серверы управления (на которых установлены различные инструменты управления Windows).
Sobrique
Вы можете поиграть с «secpol.msc» и настроить собственный профиль прав - предоставить доступ к группе «Не совсем администраторы» и добавить к ней основные учетные записи пользователей. Но вы все равно, вероятно, все равно будете нуждаться в «правильной» учетной записи администратора.
Sobrique
1
@deitch Ну, это по сути то, что UAC / позволяет. Это позволяет вам работать от имени учетной записи администратора, но вам будет предложено указать все, что требует «повышения прав». (Аутентификация с разделением по токенам.) Технически дело не в том, чтобы Windows создавала дихотомию «Администратор или не администратор», но запуск чего-либо от имени администратора является настолько распространенной функцией, что ей предоставляется особая опция меню. В большинстве случаев эта опция не является строго необходимой (вы всегда можете просто запустить ее как другого пользователя, который оказывается администратором), но просто удобнее иметь эту опцию меню там.
HopelessN00b
1
Ну, Джон по - прежнему необходимо знать учетные данные для в учетной записи администратора для выполнения чего - то в качестве администратора - он просто не должен быть учетной записью администратора.
HopelessN00b