Главная Security, Без рубрики, Новое Active Directory, Security
  • Принципы аутентификации по протоколу Kerberos

    Kerberos и PKINIT Часть 1.

    Обеспечивая безопасность нельзя забывать о вопросах безопасной аутентификации. В нескольких предыдущих статьях я уже останавливался на некоторых аспектах этой проблемы, и разбирались с двухфакторной аутентификацией. В этой статье мы рассмотрим механизмы работы протокола Kerberos при аутентификации с помощью имени пользователя и пароля и при использовании технологий асимметричной криптографии.

    • Сброс пароля пользователя через Outlook Web App

      Картинка 1 из 64000

      Большинство администраторов Exchange не забивают себе голову проблемой смены пароля пользователями, поскольку процедура данная  более чем банальна. Тем не менее, проблема может возникнуть если пароль пользователя устарел, а сам он находится за пределами корпоративной сети и единственным связующим звеном является почтовый ящик  с веб доступом. Естественно когда пароль устарел войти в свой почтовый ящик сотрудник не сможет, ровно как и обновить свой пароль. Благо небольшая правка реестра на Exchange сервере позволяет сменить пароль пользователю самостоятельно, не обращаясь в техническую поддержку.

      • Введение в инфраструктуру открытых ключей на примере Microsoft PKI

        В практике работы часто приходится встречаться с недостатком знаний в области асимметричной криптографии у системных администраторов. Я постараюсь восполнить этот пробел. Эта статья посвящена базовой терминологии и основам асимметричной криптографии. Часто задачи построения безопасных IT решений требуют внедрения инфраструктуры открытых ключей. Здесь речь может идти о потребности использования электронной цифровой подписи, шифрования и т. д. Однако прежде, чем осуществлять внедрения подобных решений следует разобраться, как это все работает, понять базовые принципы. Начнем с терминологии…

        • Проектирования Инфраструктуры Открытых Ключей. Часть 2.

          smime Мы говорим о потребности внедрения инфраструктуры PKI, когда речь идет о приложениях, требующих ее наличия. Что же это за приложения?

        • Главная Security, Windows, Без рубрики, Новое Active Directory, Security, Windows 2008 R2
          • Проектирования Инфраструктуры Открытых Ключей. Часть 1

            keyБезопасность сети формируется из комплекса элементов, один из важнейших – инфраструктура открытых ключей. Теоретические основы проектирования PKI [1] рассматривается в этой статье. Полагаю, что всем хорошо известно: внедрение инфраструктуры открытых ключей все чаще   становится насущной необходимостью огромного числа компаний.

          • Главная Security, Windows, Без рубрики, Новое Group Policy, Security
            • Хранение учетных данных в скриптах и групповых политиках на примере задачи по смене пароля локального администратора

              Введение

              clip_image001С точки зрения безопасности пароль локального администратора должен соответствовать следующим требованиям:

              · быть известным только ограниченному кругу лиц;

              · обладать достаточной сложностью;

              · регулярно изменяться.

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

              1) при помощи стартап-скриптов;

              2) используя предпочтения групповых политик;

              3) запуском скрипта на выделенном компьютере.

              Наиболее традиционным способом автоматизации решений подобного рода является использование скриптов. Однако, хранение пароля в открытом виде не очень хорошо с точки зрения безопасности. В этом случае одним из вариантов защиты является кодирование скрипта. К сожалению, этот способ нельзя назвать на 100% безопасным, т.к. закодированные скрипты достаточно легко декодируются в исходное состояние. Об этом и пойдет речь в первом разделе статьи. Во второй части описаны альтернативные способы централизованной смены пароля локального администратора.

              Стартап-скрипты

              Стартап-скриптов зачастую используется для автоматизированного выполнения задач, требующих административных привилегий, на компьютерах пользователей. Допустим, что перед нами стоит задача привести к единому стандарту пароль локального администратора на части компьютеров домена.

              Для решения применим скрипт, позаимствованный с блога «Hey, Scripting Guy!», и немного отредактируем его. В итоге получится что-то вроде:

              strComputer = “.”

              Set objUser = GetObject(“WinNT://” & strComputer & “/Administrator,user”)

              objUser.SetPassword “12345-as” ‘

              objUser.SetInfo

              Сам скрипт не идеален. Например, в него можно добавить:

              1) привязку к SID встроенного администратора (это необходимо если учётная запись была переименована);

              2) логирование в журнале событий системы;

              3) отправку оповещений об ошибках выполнения по электронной почте.

              Однако скрипт нужен нам лишь в качестве примера, поэтому нет смысла усложнять его структуру.

              Теперь для автоматического изменения пароля администратора нам необходимо:

              1) создать групповую политику;

              2) добавить туда наш скрипт в качестве стартап-скрипта (более подробно об этом написано в KB198642);

              3) прикрепить групповую политику к контейнеру с компьютерами, на которых должен изменяться пароль.

              При этом следует учитывать, что доступ к этому скрипту будет у любого аутентифицированного пользователя. Как следствие, любой пользователь домена при желании и минимуме технических знаний сможет узнать пароль локального администратора. Причем не только для своей рабочей станции, но и для всех остальных. Это не очень хорошо с точки зрения безопасности.

              Кодирование

              Для решения данной проблемы мы можем воспользоваться утилитой Script Encoder от компании Microsoft. Эта утилита позволяет преобразовать vbs-скрипт в формат vbe. В результате, тело скрипта хранится в закодированном виде и это никак не сказывается на возможности его исполнения. Рассмотрим это более подробно на нашем примере:

              1) Скачиваем установочный файл с сайта Microsoft.

              2) Распаковываем его.

              3) В результате получаем несколько файлов. Один из них – нужная нам утилита screnc.exe. Синтаксис использования следующий:

              SRCENC [switches] inputfile outputfile.

              Здесь inputfile – исходный vbs-скрипт, outputfile – его зашифрованный аналог, [switches] – необязательные параметры, которые нам не понадобятся.

              4) В итоге тело скрипта будет иметь вид:

              «#@~^mQAAAA==dDD/K:aEYD,xPrRE@#@&?nO,W4Ni/DP{~!+Dr(LnmOcrrxgP)JzE~LP/O.;Whw!OD~LPrzb9:bUkkY.lDW.S!/+ME#@#@&W(%i/Dc?nYKCk/AWM[PrF+fW*OCdrPv@#@&G(Lik+MR?Y&U0K@#@&Ly4AAA==^#~@»

              Полученный vbe-файл можно использовать в качестве стартап-скрипта и он, также как и исходный скрипт, будет менять пароль локального администратора.

              Декодирование

              Казалось бы теперь учетные данные защищены и системный администратора может спать спокойно. Однако существуют vbs-скрипты, с помощью которых можно легко раскодировать зашифрованный вариант. Пример такого скрипта можно получить по следующему адресу: http://www.interclasse.com/scripts/decovbe.php.

              Для его использования, скопируем код в файл decode.vbs и запустим его из командной строки. В качестве аргумента будет путь и имя закодированного vbe-файла:

              decode.vbs output.vbe

              В результате выполнения должно появиться окно, содержащее текст исходного vbs-скрипта. Как следствие учетные данные администратора опять могут стать известны потенциальному злоумышленнику.

              Альтернативные варианты

              Рассмотрим альтернативные способы решения задачи передачи учетных данных на рабочие станции. К таковым можно отнести:

              1) Group Policy Preferences;

              2) централизованное изменение пароля со стороны сервера;

              3) усложнение структуры скрипта и ограничение доступа к нему.

              Group Policy Preferences (GPP)

              Предпочтения групповых политик это своего рода замена скриптам в групповых политиках. Данная технология активно рекламируется Microsoft и действительно значительно упрощает работу системного администратора. Изменение пароля локального администратора при помощи GPP довольно подробно описано в статье: «Change local administrator passwords with Group Policy Preferences». Ключевая мысль этой статьи: «Не рекомендуется изменять пароли локального администратора и сервисных учетных записей при помощи GPP». Связано это с тем, что ни смотря на то, что пароль администратора хранится в зашифрованном виде, для его получения достаточно 256bit AES ключа находящегося на рабочей станции. Таким образом, этот способ также не является безопасным.

              Централизованное изменение пароля

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

              «How Can I Change a User’s Password?». Предложенный там скрипт:

              Set objOU = GetObject(“LDAP://OU=Finance, DC=fabrikam, DC=com”)

              objOU.Filter = Array(“Computer”)

              For Each objItem in objOU

              strComputer = objItem.CN

              Set objUser = GetObject(“WinNT://” & strComputer & “/Administrator”)

              objUser.SetPassword(“i5A2sj*!”)

              Next

              берет информацию о компьютерах из контейнера Active Directory и поочередно подключаясь к каждому из них меняет пароль администратора. Из минусов такого варианта можно отметить:

              · необходимость удаленного подключения к компьютерам (а они не всегда могут быть доступны);

              · организацию автоматического запуска скрипта по расписанию.

              Усложнение структуры скрипта

              Достаточно много вариантов с применением скриптов изложено в обсуждение «Смена пароля локального администратора» на форумах Microsoft Technet. Особенно интересен вариант с веб-сервером. При его использовании компьютер во время загрузке обращается к серверу, на котором выполняется скрипт по изменению пароля локального администратора. Таким образом этот способ удачно сочетает в себе двух других вариантов, основанных на использовании startup-скриптов и централизованной смены пароля.

              Заключение

              В статье предложены различные способы централизованной автоматической смены пароля локального администратора на рабочих станциях домена Active Directory. Для каждого рассмотрена возможность получения учетных данных потенциальным злоумышленником. В конце статье предложен наиболее безопасный, с точки зрения автора, алгоритм.

              Ссылки:

              · Script Encoder;

              · Passwords in Group Policy Preferences;

              · Change local administrator passwords with Group Policy Preferences;

              · How Can I Change a User’s Password? ;

              · Форумы Technet: Смена пароля локального администратора.

            • Главная Security, Windows, Без рубрики, Новое Active Directory, Security