Pull to refresh
  • by relevance
  • by date
  • by rating

В США потребовали от организаций установить последние патчи безопасности для Windows Server из-за серьёзных уязвимостей

Information Security *Development for Windows *Software
image

Агентство по кибербезопасности и безопасности инфраструктуры США (CISA) дало федеральным агентствам время до полуночи вторника, чтобы исправить критическую уязвимость Windows Server под названием Zerologon (CVE-2020-1472), которая позволяет злоумышленникам мгновенно получить несанкционированный контроль над Active Directory. Сама Microsoft сообщила о закрытии уязвимости еще в августе.
Total votes 5: ↑5 and ↓0 +5
Views 3.2K
Comments 3

Microsoft удалила с платформы Azure почти два десятка приложений китайских хакеров

Information Security *Microsoft Azure
image

Microsoft отчиталась об удалении с сервиса Azure 18 приложений Azure Active Directory. Все они разрабатывались и использовались китайской группировкой хакеров Gadolinium (также APT40 или Leviathan). Приложения удалили в апреле этого года.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 2.1K
Comments 1

Active Directory Sync

.NET *
По долгу службы пришлось разбираться с Active Directory. Пришлось почитать, поэкспериментировать с классами, но всё в результате заработало превосходно.

В первую очередь хотелось бы описать немного Directory Synchronization объект, который появился в .net framework 2.0. О нём, и о других преимуществах 2го framework вы сможете почитать на сайте microsoft (http://msdn.microsoft.com/en-us/magazine/cc188700.aspx ). Лично мне статья помогла разобраться, хотя я обилия информации в сети на предмет dyrSync нет.
Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 4.9K
Comments 7

Интеграция со службами каталогов при разработке корпоративных порталов на платформе LAMP

Lumber room

Решаемая бизнес-задача / сфера применения


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

Подавляющее большинство крупных предприятий уже активно использует единую авторизацию на основе служб каталогов, доступ к которым осуществляется по Lightweight Directory Access Protocol (LDAP).

Совершенно естественно, что заказчики заинтересованы в интеграции разрабатываемого портала со службами каталогов, а разработчикам выгодно использовать внешнюю систему авторизации с точки зрения сокращения объёма работ в проекте. И хотя в ряд коробочных продуктов класса «Система управления информацией» встроена интеграция со службами каталогов, разработчикам, тем не менее, приходится решать различные технические и организационные вопросы.

Краткое описание проекта


Проект, который реализовывала наша компания в начале 2008 года, представляет собой функционально насыщенный корпоративный информационный портал холдинга, включающего в себя несколько территориально распределенных компаний. Подразделения холдинга большей частью объединены службой каталогов Microsoft Active Directory (AD).

Платформа для реализации проекта: Linux, Apache, PHP, MySQL, Cetera CMS

Основные причины использования авторизации на основе AD в данном проекте:
  • Обеспечение единого центра управления пользователями (собственно, AD) для системных администраторов компании.
  • Упрощение доступа к порталу сотрудников компании, для которых необходимость ввода лишнего пароля могла стать критической для начала использования портала.
  • Большое количество сотрудников компании (несколько тысяч человек), что делает практически невозможным ввод перечня сотрудников в БД портала и распределение персонала по дереву компаний и отделов и телефонному справочнику, реализованному в рамках портала.

Используемые технологии


Две основные задачи — импорт данных из AD и дальнейшая авторизация пользователей, просматривающих страницы портала.
Импорт данных из AD осуществляется через LDAP. LDAP позволяет получить доступ к информации домена — списку пользователей, групп, компьютеров домена и т.д.
Авторизация пользователя производится средствами Apache, а точнее его модуля mod_ntlm (доступен для версий Apache 1.3.х, для 2.2.х используется модуль mod_auth_sspi). Mod_ntlm авторизует пользователя на этапе обращения к странице, и, если пользователь проходит авторизацию, его данные (имена домена и пользователя) передаются в переменных сервера (для PHP это $_SERVER)

Описание полей AD


В рамках данного проекта требовалось получить следующую информацию о пользователе из AD:
  • полное имя (фамилия, имя, отчество)
  • доменное имя
  • email
  • должность
  • принадлежность к компании/отделу (относительно корпоративной структуры заказчика)

Имя пользователя в домене (его логин) хранится в поле SAMAccountName. Title, Department и Company описывают должность, отдел и компанию. Email хранится в поле Mail, полное имя пользователя содержится в поле Name.

Импорт сотрудников


Всякая запись в каталоге LDAP состоит из одного или нескольких атрибутов и обладает уникальным именем (DN — англ. Distinguished Name). Имя может выглядеть, например, следующим
образом:
«cn=Иван Петров, ou=Сотрудники, dc=example, dc=com».

Уникальное имя состоит из одного или нескольких относительных уникальных имен (RDN — англ. Relative Distinguished Name), разделённых запятой. Относительное уникальное имя имеет вид ИмяАтрибута=значение. На одном уровне каталога не может существовать двух записей с одинаковыми относительными уникальными именами. В силу такой структуры имени записи в каталоге LDAP можно легко представить в виде дерева.
Для выполнения поиска по структуре службы каталога требуется указать путь к корневому элементу, относительно которого будет осуществлен поиск. Также можно указать фильтр, состоящий из перечисления имен атрибутов записи и их значений в формате ИмяАтрибута=Значение.
Предположим, что требуется осуществить импорт сотрудников домена COMPANY.RU. Для этого путь поиска будет, например, такой:
cn=Users, dc=COMPANY, dc=RU

cn=Users указывает на т.н. контейнер под название Users.
При выполнении такого поиска без дополнительной фильтрации в результатах могут присутствовать другие элементы помимо самих пользователей. Например, данные о группах. Для получения в результатах поиска лишь данных о пользователях укажем фильтр:
ObjectCategory=Person.

В некоторых случаях пользователи в AD могут размещаться в т.н. Organizational Units. В таком случае используем путь поиска:
ou=Users-and-computers, dc=COMPANY, dc=RU.

Такой путь подразумевает, что данные об учетных записях находятся в Organizational Unit под названием Users-and-computers.
В процессе импорта может возникнуть потребность определения активности учетной записи пользователя. При импорте может быть интересен атрибут учетной записи UserAccountControl, в котором сохраняются в двоичном виде различные свойства учетной записи. Интересным может быть признак ACCOUNTDISABLE (0x0002). Если данный флаг установлен в атрибуте UserAccountControl, учетная запись считается заблокированной.
Для поиска всех активных пользователей потребуется модифицировать фильтр. Он будет таким:
(&(objectcategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.804:=2)))

1.2.840.113556.1.4.804 — т.н. OID (Object IDentifier), данный OID применяется для отбора объектов, выбранный атрибут которых содержит либо все, либо любой из указанных в фильтре битов. Приведенный выше OID признает совпадение, если в атрибуте присутствует любой из указанных битов. 2 — это значение флага ACCOUNTDISABLE. Данный фильтр целиком можно расшифровать так: Атрибут objectcategory равен Person и в атрибуте UserAccountControl не присутствует бит 2 (0x0002)

Пример кода на PHP
<?
/**
* Данный код подключается к AD и получает список всех незаблокированных сотрудников
* контейнера Users из домена СOMPANY.RU
* Выводится имя сотрудника, его email, компания, отдел и должность в соответствии с данными,
* полученными из AD
*/
$ds=ldap_connect("1.2.3.4");
if ($ds) {
$r=ldap_bind($ds,'COMPANY\\admin','adminPassword');
$sr=ldap_search($ds,
"cn=Users, dc=COMPANY, dc=RU",
'(&(objectcategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.804:=2)))');

echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "
";

$info = ldap_get_entries($ds, $sr);
// $info содержит результаты запроса...

for ($i=0; $i<$info["count"]; $i++) {
echo "Name: {$info[$i]['name'][0]}
\n";
echo "Email: {$info[$i]['mail'][0]}
\n";
echo "Company: {$info[$i]['company'][0]}
\n";
echo "Department: {$info[$i]['department'][0]}
\n";
echo "Title: {$info[$i]['title'][0]}
\n";
}

ldap_close($ds);

} else {
echo "Unable to connect to LDAP server";
}
?>

Дополнительная информация по работе с LDAP в PHP может быть получена в документации

Проблемы и решения


Отсутствие в службе каталогов информации о сотрудниках, достаточной для отображения на портале (полные имена, адреса Email, названия подразделений, хобби, поля корпоративной социальной сети и т.д.).


Почти всегда в службе каталогов не содержится вся информация, необходимая для работы портала. Могут отсутствовать как «банальные» данные, например, номер телефона, так и нетипичные для службы каталогов сведения типа «перечень мест предыдущей работы для нужд корпоративной социальной сети». При этом необходимость этих данных для портала сложно недооценивать.

Нашим решением проблемы является хранение учётных записей в службе каталогов, а расширенной информации — в открытой БД портала. Предполагается, что управление списком и ролями пользователей осуществляется в службе каталогов, а всё остальное — задачи портала.

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

Важнейшие преимущества:
  • предоставление пользователям возможности самостоятельно дополнять информацию о себе в БД портала с последующей модерируемой загрузкой этих сведений в службу каталогов;
  • возможность быстро настраивать набор полей в профиле пользователя портала без влияния на работу службы каталогов.

Отсутствие в службе каталогов достоверной информации о принадлежности сотрудника к той или иной компании холдинга или отделу


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

Наше решение:
  1. Завести дерево компаний и отделов на портале средствами системы управления контентом, используя данные об организационной структуре, предоставленные заказчиком.
  2. Импортировать сотрудников из службы каталогов со сверкой названий элементов дерева, заведенного в БД портала, с содержимым карточек пользователей службы каталогов.
  3. Пользователей, для которых определить положение в дереве не удалось, импортировать во временную директорию.
  4. По итогам импорта отображать протокол с нотификацией администраторов портала и службы каталогов о недостатках импорта и некачественных записях в службе каталогов.
Rating 0
Views 891
Comments 6

Новые курсы в Библиотеке учебных курсов

IT-companies
Библиотека учебных курсов пополнилась новыми курсами:

  • Основы объектного программирования на C# 3.0
  • Технологии построения и использования персональных Windows-кластеров
  • Основы разработки компьютерных игр в XNA Game Studio
  • Сетевая безопасность на основе серверных продуктов Microsoft
  • Основы XAML
  • Основы Microsoft Sharepoint
  • Введение в программную инженерию
  • Методика выполнения курсовых и дипломных работ в составе команды с использованием среды Microsoft Visual Studio Team System
  • Программирование на языке С#: разработка консольных приложений
  • Программирование под Windows в среде Microsoft Visual Studio 2005 на языке C++
  • Управление проектами средствами Microsoft Project
  • Методология внедрения Microsoft Active Directory

Надеемся, эти курсы будут вам полезны в учебе, а кому-то и в преподавании :)

Читать дальше →
Total votes 43: ↑33 and ↓10 +23
Views 2.3K
Comments 15

В тылу врага. Внедрение

Configuring Linux *
События происходят за садовым кольцом в стандартной фирме, использующей, в основном, решения от Microsoft, не выделяясь в этом плане на фоне остальных. С некоторых пор в фирме работает линуксоид, который терпеть не может работать в ОС Windows.

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

Как же выживают линуксоиды в таких условиях?
Total votes 96: ↑84 and ↓12 +72
Views 4K
Comments 65

Получение информации из Active Directory и Firebird

Lumber room
Всем доброго времени суток. Возникла задача получить информацию из Active Direcoty (в частности о принадлежности пользователей определенным группам прав) и базы данных Firebird. Хотел бы реализовать что-то подобное на Python. Но не представляю как. Перерыл кучу материалов, но систематизировать их затрудняюсь. Было бы рад оказанной помощи в этом вопросе.

Возможное решение


Решение для получение информации из Active Directory нашел здесь. Поставил модули для Python active_directory, win32api. Но после выполнения скрипотов выдает ошибку

UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-18: ordinal not in range(128)

Что-то с кодировкой, но как решить проблему не знаю. Help!

Есть еще примеры с использоованием ldap модуля, как советовал уважаемый ctrlok.

Читать дальше →
Rating 0
Views 1.5K
Comments 3

статистика браузеров, firefox и групповые политики

Lumber room
Так забавно в праздники наблюдать за тем, из-под чего народ ходит в интернет.

1-10 января: Internet Explorer 6: 8,1%
11-14 января: он же уже 8,6%

Народ на работу вышел :)

PS: А ежели кто-то считает, что необходимость автоматической установки и применения групповых политик Active Directory оставляют возможность использовать в корпоративной сети только Internet Explorer, то для этих людей вот пожалуйста ссылки:
Ссылка раз
Ссылка два
Ссылка три
Ссылка четыре
Ссылка пять (sic! смотреть сюда)
И еще ссылка шесть для тех, кто хочет всё делать руками.
Total votes 17: ↑9 and ↓8 +1
Views 461
Comments 6

Active Directory исполнилось 10 лет!!!

IT-companies
Десять лет назад Windows 2000 и новое поколение инфраструктурных технологий увидело свет. Коллеги из Рэдмонда рассказывают о первом внедрении домена Active Directory на Windows 2000.



Как же давно это было, и насколько всё далеко ушло за 10 лет! Какое количество инфраструктурных проектов внедрено по всему миру на основе Active Directory! Сколько бессонных ночей потратили администраторы на траблшуттинг репликации! :)

PS. Про историю развития AD и новинки в последней версии мы рассказывали на Платформе 2010. Запись доклада есть на TechDays.ru
Total votes 53: ↑32 and ↓21 +11
Views 623
Comments 49

PHP: почтовая книга на лету из LDAP или Active Directory

System administration *
active directory logoВаша компания медленно, но верно выходит из кризиса, открываются новые офисы или магазины, появляются рабочие места — растет количество сотрудников. Вы, как системный администратор, уже позаботились об этом заранее и внедрили Active Directory или LDAP. Фух, проблем с учетками больше нет.
Но в нашем деле проблемы не заставляют себя долго ждать: вчера взяли пять бухгалтеров, троих продавцов и кладовщика. Всем нужна корпоративная электропочта. Отлично, если вы продумали достаточное количество ходов наперед и вместе с установкой AD перевели авторизацию почтосервера на домен. Тратим пять минут на добавление учеток, вписываем правильные данные, отдаем вашим помошникам — они настроят почтоклиенты этим сотрудникам. Но как теперь сообщить новые адреса всем остальным сотрудникам? Написать каждому письмо? Скинуть в чат? Слишком много работы для среднестатистического и вечно ленящегося сисадмина.

Я вижу два удобных пути решения: можно уговорить почтоклиенты бегать в AD за адресами, а можно показывать их на корпоративном сайте. Сегодня мы попробуем обеспечить корпоративный веб-сайт нужной информацией — будем выводить список сотрудников и их почтовые адреса, а за данными ходить к участковому прямо в Active Directory.
Читать дальше →
Total votes 10: ↑5 and ↓5 0
Views 16K
Comments 13

eGroupWare + авторизация в AD + синхронизация с Outlook через SyncML

Lumber room
Перешел на новую работу. Озадачили поставить систему документооборота. Решил сразу с заделом на будущее поставить eGroupWare. Для начала решил все это дело потестировать на Денвере в корпоративной Vista Business. Что было нужно для полноценной работы? Система документооборота, авторизация в Active Directory и синхронизация через Outlook.

Под катом грабли с которыми пришлось столкнуться.
Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Views 1.2K
Comments 6

Бэкдор в active directory своими руками

Information Security *
Итак, мы все знаем про подлых пользователей c UID=0 в unix, которых может быть больше одного.

Посмотрим, как такое же (а на самом деле, даже более страшное) организовывается в инфраструктуре Windows. Разумеется, мы говорить будем не про локальные виндовые учётные записи, а про Active Directory, т.е. говорить будем об администраторе домена. Или, даже, хуже, об enterprise administrator.

Итак, истина номер один: у объектов в active directory есть атрибуты и права доступа.
Истина номер два: эти атрибуты можно менять.

Как легко понять, мы МОЖЕМ сделать учётную запись с фантастическими правами, к которой не будет доступа НИ У КОГО. Однако, он сможет логиниться, блокировать, разблокировать, менять свои атрибуты и атрибуты чужих людей.

В самом страшном случае, это будет пользователь с волшебным SID-*500, которого не позволяет удалить уже сама винда. (Для этого нужно переименовать, а на его место положить другого пользователя с ником Administrator и с полными правами).
Читать дальше →
Total votes 118: ↑100 and ↓18 +82
Views 16K
Comments 69

Обзор пользователей Active Directory с помощью PivotViewer

Lumber room
Совсем недавно вышел замечательный контрол для Silverlight — PivotViewer. Попробуем использовать его для просмотра пользователей Active Directory. Для удобства понимания будем использовать готовый проект, предоставленный создателями Pivot.

Для работы нам потребуется:


Поехали:
Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Views 542
Comments 6

Что нужно учитывать при виртуализации доменных контроллеров?

КРОК corporate blog
Часто встает вопрос о том, можно или нельзя использовать технологии виртуализации для запуска доменных контроллеров Active Directory на гостевых операционных системах. Ответ и рекомендации от компании Microsoft содержатся здесь: http://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv(WS.10).aspx

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

На какие пункты хотелось бы обратить внимание:
Читать дальше →
Total votes 26: ↑17 and ↓9 +8
Views 41K
Comments 40

Подслушиваем в AD

Information Security *

Введение
Я только недавно столкнулся с виндовыми доменами (Active Directory) и познаю много нового и удивительного. Так уж получилось, что значительное количество пользователей в домене организации имеют права локальных админов (технические специалисты, программисты и другие) (ведь не редко так бывает?). Но последствия от этого колоссальны. В данной статье мы рассмотрим как можно подслушивать звуки (разговоры, переговоры) на удаленных машинах.
Читать дальше →
Total votes 99: ↑80 and ↓19 +61
Views 42K
Comments 82

Backdoor в Active Directory

Information Security *
В свое время, менее года назад, на хабре мелькала публикация с аналогичным заголовком [1]. В ней автор предлагал способ по сокрытию привилегий администратора домена путем использования в качестве контейнера, для размещения «скрытой» учетной записи, служебное хранилище «Program data», в совокупностью с агрессивным разграничением прав с целью предотвращения доступа к «спрятанной» учетной записи. Однако, несмотря на заверения автора, обнаружение «скрытой» учетной записи и ее последующее удаление можно было выполнить всего в несколько кликов.
Читать дальше →
Total votes 82: ↑78 and ↓4 +74
Views 8.9K
Comments 15

FreeBSD 8.2, Samba 3.4, Active Directory и кириллические логины

*nix *
Sandbox
В нашей компании давно и успешно работает такая связка: Samba 3.x, установленная на FreeBSD (6.x или 7.x), для доступа к шарам использует аутентификацию пользователей в домене Active Directory. Все клиенты – Windows XP и выше. Домен AD – Windows 2003.
Все было хорошо, пока один из серверов FreeBSD не был обновлен до версии 8.2. После обновления пользователи с кириллическими логинами не смогли получить доступ к расшаренным ресурсам этого сервера. В то же время пользователи с логинами в латинице нормально аутентифицировались. Команды wbinfo -u и wbinfo -g как и положено показывали всех пользователей и группы AD, включая кириллические. Другой сервер FreeBSD 7.3 с такой же версией Samba – 3.4.9 и с таким же конфигом работал нормально с любыми логинами.
Читать дальше →
Total votes 30: ↑28 and ↓2 +26
Views 8.2K
Comments 15

Опытные мелочи-5, или «Групповые радости!»

System administration *
image Продолжение «опытных мелочей». Предыдущие части: раз, два, три, четыре.

В этом посте поговорим о группах в Active Directory. Я не буду вдаваться глубоко в теорию и рассказывать об универсальных, глобальных локальных группах — желающие все подробности смогут найти в документации, благо ее предостаточно. Поговорим о том, зачем вообще бывают нужны группы и о какие «вкусности», можно получить с их помощью.
Читать дальше →
Total votes 29: ↑24 and ↓5 +19
Views 16K
Comments 23

Опытные мелочи-7, или «Слияния и поглощения в Group Policy»

System administration *
image Продолжение «опытных мелочей». Предыдущие части: раз, два, три, четыре, пять, шесть.

Сегодня мы поговорим об одном интересном параметре в Group Policy. Да, именно так. Один единственный параметр, который может облегчить вам жизнь (ну или усложнить ее, такое тоже возможно)

Читать дальше →
Total votes 17: ↑13 and ↓4 +9
Views 45K
Comments 13

Работа с AD: Поиск по атрибуту SIDHistory

System administration *
Sandbox
Предлагаю Вашему вниманию мой метод работы с атрибутом Active Directory sIDHistory. А именно — будем производить поиск объекта по этому атрибуту.

Но вначале поговорим о самом атрибуте. sIDHistory служит для создания соответствия объектов в Active Directory, необходим он, например, при миграции учетных записей и групп из одного домена/леса в другой.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 7.4K
Comments 4