В статье будет рассмотрена маршрутизация внешнего IP-адреса внутрь локальной без пробрасывания ethernet-шлюза и переписывания адресов в iptables. В итоге на сетевой карте внутреннего сервера будет один правильный внешний IP-адрес, внутренние IP-адреса будут отсутствовать.
User
DKIM подпись в MS Exchange
4 min
39KДоброго времени суток, Хабр!
Часто появляется проблема, когда письмо с вашего нового или малоиспользуемого домена первоначально получает метку «спам» или «нежелательная почта», и падает в соответствующую папку, где его просто не замечают. И речь идет не о рассылках, а о деловых и не очень письмах, но отправленных людьми. С такой проблемой столкнулся я.
Поиск показал, что наша конфигурация не включает в себя использование DKIM подписи, необходимость которой начинает подниматься на обязательный уровень. Но загвоздка была в том, что в качестве MTA используется MS Exchange Edge в связке c Forefront Protection, который не умеет работать с DKIM, а установка впереди другого MTA, например postfix, сулило отказом от Forefront DNS-BL, перенастройкой SSL/TLS, и дальнейшим усложнением конфигурации. И да простят меня, но, как Windows админу, мне заниматься всем этим очень не хотелось.
Начались поиски других решений, т.к. Microsoft свято верит в достаточность SPF-записи, то даже в 2013 редакции Exchange поддержки DKIM подписи нет, и в будущих дополнениях не планируется. Поначалу были найдены только платные DkimX и EmailArchitect, но далее наткнулся на бесплатный модуль Exchange DKIM Signer от Stefan “Pro” Profanter, про его использование и пойдет речь.
Часто появляется проблема, когда письмо с вашего нового или малоиспользуемого домена первоначально получает метку «спам» или «нежелательная почта», и падает в соответствующую папку, где его просто не замечают. И речь идет не о рассылках, а о деловых и не очень письмах, но отправленных людьми. С такой проблемой столкнулся я.
Поиск показал, что наша конфигурация не включает в себя использование DKIM подписи, необходимость которой начинает подниматься на обязательный уровень. Но загвоздка была в том, что в качестве MTA используется MS Exchange Edge в связке c Forefront Protection, который не умеет работать с DKIM, а установка впереди другого MTA, например postfix, сулило отказом от Forefront DNS-BL, перенастройкой SSL/TLS, и дальнейшим усложнением конфигурации. И да простят меня, но, как Windows админу, мне заниматься всем этим очень не хотелось.
Начались поиски других решений, т.к. Microsoft свято верит в достаточность SPF-записи, то даже в 2013 редакции Exchange поддержки DKIM подписи нет, и в будущих дополнениях не планируется. Поначалу были найдены только платные DkimX и EmailArchitect, но далее наткнулся на бесплатный модуль Exchange DKIM Signer от Stefan “Pro” Profanter, про его использование и пойдет речь.
+5
Защищаем сеть L2 коммутаторами
9 min
115KTutorial
![](https://habrastorage.org/getpro/habr/post_images/c7e/083/4e7/c7e0834e78ac27196422d607c0d7391c.jpg)
Доброго времени суток. В данной статье рассказ пойдет о нескольких возможных атаках на сетевое оборудование, защититься от которых поможет правильная конфигурация коммутаторов.
Вся терминология и конфигурационные команды приведены в соответствии с документацией компании Cisco, как негласный отраслевой стандарт. В начале описания каждой атаки содержится краткий экскурс в механизм работы атакуемого протокола. Рассчитана статья скорее на новичков, чем на сетевиков-профессионалов.
Рассматриваться будут:
• Rogue DHCP Server
• DHCP starvation
• CAM-table overflow
• VLAN hopping
• MAC-spoofing
За основу взят видеоурок CBT nuggets из цикла CCNA security.
+37
Maximum Transmission Unit (MTU). Мифы и рифы
7 min
315KMaximum transmission unit (MTU) это максимальный объём данных, который может быть передан протоколом за одну итерацию. К примеру, Ethernet MTU равняется 1500, что означает, что максимальный объём данных, переносимый Ethernet фреймом не может превышать 1500 байт (без учёта Ethernet заголовка и FCS — Рис. 1).
![image](https://habrastorage.org/getpro/habr/post_images/727/e46/9b7/727e469b76bd68a38f0671128ed9c6af.jpg)
Рис. 1
Давайте пробежимся с MTU по уровням OSI:
![image](https://habrastorage.org/getpro/habr/post_images/727/e46/9b7/727e469b76bd68a38f0671128ed9c6af.jpg)
Рис. 1
Давайте пробежимся с MTU по уровням OSI:
+44
Уязвимость в BMC-контроллере Supermicro позволяет получить доступ к паролям управляющего интерфейса
1 min
31K![image](https://habrastorage.org/getpro/habr/post_images/2df/1d4/509/2df1d45093ea87d3c71ce6e5a2e7f064.png)
В BMC (Baseboard Management Сontroller) чипе, используемом в материнских платах Supermicro, выявлена уязвимость, позволяющая злоумышленнику получить доступ к паролям входа в управляющий интерфейс. Проблема вызвана тем, что содержимое файла с паролями выводится среди бинарного блока данных, который можно получить без аутентификации через сетевой порт 49152. Техника эксплуатации очень проста, достаточно подключиться к порту 49152 и выполнить команду «GET /PSBlock». Пароли выдаются в открытом виде, без хэширования.
Выявившие уязвимость исследователи безопасности предупреждают, что им удалось обнаружить в сети 31964 серверов, подверженных данной проблеме, при этом на 3296 (10%) из этих систем применялись пароли, заданные по умолчанию. Предоставляемый BMC-контроллером IPMI-интерфейс предоставляет средства для мониторинга и управления оборудованием, в том числе позволяет отслеживать состояние датчиков, управлять питанием, прошивками и дисками, удалённо загрузить на сервере собственную ОС по сети, организовать работу консоли удалённого доступа для атаки на базовую ОС и изменения настроек BIOS.
Проверить свой сервер можно банально подключившись к уязвимому порту с помощью telnet:
telnet ip_ipmi 49152
далее
GET /PSBlock
если Вы в тексте ответа увидели свои пароли, то Вам стоит задуматься об обновлении прошивок.
Источник...
upd:
Скачать обновления прошивки, можно по ссылке.
+29
Интеллектуальная СКС по-русски
5 min
23KЗдравствуйте, досточтимые леди и джентльмены.
Про интеллектуальные СКС — или иначе интеллектуальные системы управления физическим уровнем (Intelligent Physical Layer Management Solution, IPLMS), системы управления кабельной инфраструктурой, системы интерактивного управления (СИУ) — написано много. Я хочу еще раз поднять эту тему, потому что намерен рассказать об интеллектуальной СКС, построенной на основе российских изобретений.
![image](https://habrastorage.org/getpro/habr/post_images/8b5/b8a/992/8b5b8a992dfffc342330188af714c5cb.jpg)
Подробности ниже.
Про интеллектуальные СКС — или иначе интеллектуальные системы управления физическим уровнем (Intelligent Physical Layer Management Solution, IPLMS), системы управления кабельной инфраструктурой, системы интерактивного управления (СИУ) — написано много. Я хочу еще раз поднять эту тему, потому что намерен рассказать об интеллектуальной СКС, построенной на основе российских изобретений.
![image](https://habrastorage.org/getpro/habr/post_images/8b5/b8a/992/8b5b8a992dfffc342330188af714c5cb.jpg)
Подробности ниже.
+5
Установка и настройка openchange под CentOS 6.5
6 min
25KВ рунете да и в целом в интернете мало рассказывается о таком интересном продукте, как openchange.
В теории openchange и его сопутствующие компоненты должны полностью заменять MS Exchange Server, на практике же это получается не совсем.
Тех кто заинтересовался прошу в сам пост. Там будет рассказано о установке на CentOS 6.5.
В теории openchange и его сопутствующие компоненты должны полностью заменять MS Exchange Server, на практике же это получается не совсем.
Тех кто заинтересовался прошу в сам пост. Там будет рассказано о установке на CentOS 6.5.
+15
MongoDB Sharded Cluster на Centos 6.5
8 min
21KВ этой статье мы рассмотрим только конфигурацию MongoDB, не затрагивая вопросы подключения репозитория монги и установки пакетов в систему.
Распределенный кластер MongoDB состоит из следующих компонентов:
Шард
Шард — это инстанс mongod, который хранит часть данных шардированной коллекции. Для использования в production, каждый шард должен быть набором реплик (replicaSet).
Сервер конфигураций
Так же экземпляр mongod, который хранит метаданные кластера. Метаданные указывают какие данные хранятся на каком шарде.
Сервер маршрутизации
Экземпляр mongos. Его задача — маршрутизация запросов от приложений к шардам.
Ниже приведена схема работы шардированного кластера MongoDB
![](https://habrastorage.org/getpro/habr/post_images/e03/31f/205/e0331f205133e7dd5a7e79fb9f660fe3.png)
Распределенный кластер MongoDB состоит из следующих компонентов:
Шард
Шард — это инстанс mongod, который хранит часть данных шардированной коллекции. Для использования в production, каждый шард должен быть набором реплик (replicaSet).
Сервер конфигураций
Так же экземпляр mongod, который хранит метаданные кластера. Метаданные указывают какие данные хранятся на каком шарде.
Сервер маршрутизации
Экземпляр mongos. Его задача — маршрутизация запросов от приложений к шардам.
Ниже приведена схема работы шардированного кластера MongoDB
![](https://habrastorage.org/getpro/habr/post_images/e03/31f/205/e0331f205133e7dd5a7e79fb9f660fe3.png)
+6
Мониторинг событий информационной безопасности с помощью ZABBIX
9 min
170K![image](https://habrastorage.org/getpro/habr/post_images/1bb/168/c0b/1bb168c0b905f7fbf07d2542f6e5986a.png)
Некоторое время поработав с Zabbix, я подумал, почему бы не попробовать использовать его в качестве решения для мониторинга событий информационной безопасности. Как известно, в ИТ инфраструктуре предприятия множество самых разных систем, генерирующих такой поток событий информационной безопасности, что просмотреть их все просто невозможно. Сейчас в нашей корпоративной системе мониторинга сотни сервисов, которые мы наблюдаем с большой степенью детализации. В данной статье, я рассматриваю особенности использования Zabbix в качестве решения по мониторингу событий ИБ.
+33
Подготовка инфраструктуры и развертывание отказоустойчивого кластера на Windows Server 2012
5 min
73KTutorial
![](https://habrastorage.org/getpro/habr/post_images/5d1/4ff/292/5d14ff2923acf3cfcccd2e181ba987da.jpg)
Здравствуй, %username%!
После нескольких лет молчания, решил поделиться опытом по развертыванию отказоустойчивого кластера на основе Windows Server 2012.
Постановка задачи: Развернуть отказоустойчивый кластер для размещения на нем виртуальных машин, с возможностью выделения виртуальных машин в отдельные виртуальные подсети (VLAN), обеспечить высокую надежность, возможность попеременного обслуживания серверов, обеспечить доступность сервисов. Обеспечить спокойный сон отделу ИТ.
+10
Сетевые сервисы Windows 2012 — DNS
11 min
101KВ своё время открыл для себя простую истину: хочешь запомнить что-то — веди конспект (даже при чтении книги), а хочешь закрепить и систематизировать — донеси до людей (напиши статью). Поэтому, после двух лет работы в системной интеграции (сфере, которую я в бытность свою системным администратором, считал просто рогом изобилия для жаждущих прокачки специалистов), когда я понял, что знания постепенно вытесняются навыками правки документации и конфигурированию по мануалам и инструкциям, для поддержания формы я начал писать статьи о базовых вещах. Например вот — о DNS. Делал тогда я это больше для себя, но подумал — вдруг кому пригодится.
Сервис в современных сетях если не ключевой, то один из таковых. Те, для кого служба DNS — не нова, первую часть могут спокойно пропустить.
1. Основные сведения
2. Немного о формате сообщения DNS
3. TCP и UDP
4. DNS в Windows Server 2008 и 2012
5. DNS и Active directory
6. Источники информации
(анкеров нет, поэтому содержание без ссылок)
Сервис в современных сетях если не ключевой, то один из таковых. Те, для кого служба DNS — не нова, первую часть могут спокойно пропустить.
Содержание:
1. Основные сведения
2. Немного о формате сообщения DNS
3. TCP и UDP
4. DNS в Windows Server 2008 и 2012
5. DNS и Active directory
6. Источники информации
(анкеров нет, поэтому содержание без ссылок)
+9
Стартует серия бесплатных вебинаров «Подготовка к экзаменам Microsoft»
2 min
12K![](https://habrastorage.org/getpro/habr/post_images/90e/c85/6b7/90ec856b7d560645575d3bb8b8ce36e1.jpg)
Многие IT специалисты не раз в своей жизни сдавали сертификационные экзамены или как минимум задумывались их сдать.
Чего ожидать во время экзамена? Какие будут вопросы? Как их правильно интерпретировать? Как лучше всего подготовится? Зачем мне это нужно?
Эти вопросы часто задают мне клиенты, поэтому мы решили организовать серию бесплатных вебинаров, по подготовке к сдаче экзаменов Microsoft.
+2
Идентификаторы для инвентаризации ИТ оборудования это легко и просто
10 min
188KTutorial
Доброго дня почтенной публике.
Немалая часть моей работы — инвентарный учет оборудования. Я занимаюсь этим уже много лет и во многих компаниях, занимаюсь достаточно успешно, поэтому могу поделиться тем, как нужно делать первые шаги к тому, чтобы этот мутный процесс не превращался в головную боль для человека, которому его поручили.
Немалая часть моей работы — инвентарный учет оборудования. Я занимаюсь этим уже много лет и во многих компаниях, занимаюсь достаточно успешно, поэтому могу поделиться тем, как нужно делать первые шаги к тому, чтобы этот мутный процесс не превращался в головную боль для человека, которому его поручили.
+31
Запуск Windows Server 2012R2 из VHDX файла с USB диска через UEFI
5 min
23KTutorial
Я решил сделать дисковый массив на платформе Intel Atom D410PT. Это материнская плата с пассивным охлаждением процессора, два слота памяти (максимум 4Gb), один слот PCI (который я использовал для контроллера SATA SiliconImage 3512 — 2x1.5Gb/s), 2 SATA (3.0Gb/s) разъема, LAN 100mb/s, и многочисленными USB 2.0 портами (в том числе и на самой материнской плате).
Сама плата поместилась легко в корпус NaviPower PIX-1001 230W. Полное описание моих действий с железом я разместил на своем сайте.
Соответственно, т.к. было решено использовать 4 диска для создания RAID5 массива, то логично вырисовалось решение вынести операционную систему на внешний USB носитель (в моем случае USB HDD Seagate Freeagent GoFlex). Так как установка и настройка системы «с нуля» является зачастую долгим и кропотливым занятием, то я решил что система будет лежать на внешнем диске в контейнере VHDX, а так как материнка поддерживает UEFI, то соответственно и загрузка должна идти используя UEFI. Основная проблема была в том, что в интернете нет понятной инструкции, как это сделать. Вся информация очень разрознена, и описываются только части решения этой задачи.
Сама плата поместилась легко в корпус NaviPower PIX-1001 230W. Полное описание моих действий с железом я разместил на своем сайте.
Соответственно, т.к. было решено использовать 4 диска для создания RAID5 массива, то логично вырисовалось решение вынести операционную систему на внешний USB носитель (в моем случае USB HDD Seagate Freeagent GoFlex). Так как установка и настройка системы «с нуля» является зачастую долгим и кропотливым занятием, то я решил что система будет лежать на внешнем диске в контейнере VHDX, а так как материнка поддерживает UEFI, то соответственно и загрузка должна идти используя UEFI. Основная проблема была в том, что в интернете нет понятной инструкции, как это сделать. Вся информация очень разрознена, и описываются только части решения этой задачи.
+12
Создание и эффективное использование образов WIM — магия Chocolatey
5 min
30KTutorial
Задача
![](https://habrastorage.org/getpro/habr/post_images/858/b8f/6a9/858b8f6a9f2d8d2bdba41c5f59c28037.gif)
В своей работе я использую образы Windows Image — всем известные WIM файлы. Подход, которым я хочу сегодня поделиться, прямо противоположен созданию универсального образа с полным наборам софта и сервисов. Ключевым отличием от «Толстого — Thick» подхода является то, что они что в нем находится минимум — только то, что необходимо для запуска puppet agent и дальнейшей установки необходимого софта. Для установки софта я использую chocolatey, все пакеты берутся с chocolatey.org, а для кастомных пакетов имеется репозиторий на сервере в датацентре). Все остальное — ставится потом, в зависимости от требований конфигурации сервера. На мой взгляд это добавляет намного больше гибкости, и все что нужно, фактически, добавлять сервис паки и большие обновления. И вот сегодня — как раз тот день: «Пора бы обновить образ». Если говорить точнее, то сегодня нужно создать образ с нуля для Windows Server 2012 Standard с определенного ISOшника.
+12
Предупреждение пользователей об истечении пароля и действия учётной записи
6 min
18KВсем привет!
Столкнулись как-то с ситуацией, когда 1 января у многих пользователей истёк срок действия учётной записи и они были заблокированы. Соответственно не смогли работать, шквал телефонных звонков, начиная с утра 1-го числа. Было принято решение заранее предупреждать пользователей об истечении пароля и действия учётной записи по почте. С копией списка предупреждённых пользователей администратору.
Скрипты реализации под катом.
Столкнулись как-то с ситуацией, когда 1 января у многих пользователей истёк срок действия учётной записи и они были заблокированы. Соответственно не смогли работать, шквал телефонных звонков, начиная с утра 1-го числа. Было принято решение заранее предупреждать пользователей об истечении пароля и действия учётной записи по почте. С копией списка предупреждённых пользователей администратору.
Скрипты реализации под катом.
+5
Поднимаем контроллер домена на Ubuntu Server
6 min
243KTutorial
Этот вариант может быть полезен для небольших организаций с компьютерами под управлением Windows.
Нет необходимости приобретать недешевую Windows Server для организации AD и CAL лицензии для доступа к контроллеру домена.
В конечном итоге имеем плюшки AD: групповые политики, разграничение прав доступа к ресурсам и т.д.
Нет необходимости приобретать недешевую Windows Server для организации AD и CAL лицензии для доступа к контроллеру домена.
В конечном итоге имеем плюшки AD: групповые политики, разграничение прав доступа к ресурсам и т.д.
+25
Samba4 в роли AD + файловый сервер
5 min
156KTutorial
В этой статье я рассмотрю по шагам подготовку к использованию Samba4 в роли контроллера домена вкупе с дополнительным файловым сервером так же на базе Samba4. Что в итоге мы получим? Два настроенных сервера с samba4, первый в роли domain controller, второй в роли member server с файлами пользователей. Функционирования этой связки я добивался около месяца, за сим, не поделится конечным рецептом просто не имею права…
![](https://habrastorage.org/getpro/habr/post_images/557/ac2/fcf/557ac2fcfe287688c634620b22cbd855.png)
Немного предыстории: в компании используется файловый сервер на базе samba3.6 с LDAP Backend, который содержит список всех пользователей и групп с правами доступа. Права доступа на каталоги выставляются с помощью xattr_acl (Extended file attributes), в LDAP хранится список пользователей с соответствием группам доступа. Собственно требуется переехать с этой инфраструктуры на samba4…
![](https://habrastorage.org/getpro/habr/post_images/557/ac2/fcf/557ac2fcfe287688c634620b22cbd855.png)
Немного предыстории: в компании используется файловый сервер на базе samba3.6 с LDAP Backend, который содержит список всех пользователей и групп с правами доступа. Права доступа на каталоги выставляются с помощью xattr_acl (Extended file attributes), в LDAP хранится список пользователей с соответствием группам доступа. Собственно требуется переехать с этой инфраструктуры на samba4…
+35
Скрипт исправления даты установки пароля пользователя в AD
4 min
9.4KВсем привет!
Иногда возникает ситуация, когда надо пользователю изменить дату установки пароля в Active Directory. Представляю скрипт. Наверняка многим пригодится.
Под катом описание, использование и особенности.
Иногда возникает ситуация, когда надо пользователю изменить дату установки пароля в Active Directory. Представляю скрипт. Наверняка многим пригодится.
set-ADUserPswDate.ps1
# Основной скрипт изменения даты установки пароля по файлу или по учетной записи пользователя.
# Автор Лужин Кирилл
# luzhin.kirill@yandex.ru
Add-PSSnapin Quest.ActiveRoles.ADManagement;
$gsFilename = "c:\scriptps\set-ADUserPswDate.txt";
$giRows = (Get-Content -LiteralPath $gsFilename).Count;
$giX = 0;
$giMinimumSleep = 218;
$giMaximumSleep = 884;
$gtBeginDay = "08:00:00";
$gtEndDay = "19:00:00";
$today_date = Get-date -Format "dd.MM.yyyy";
function set-password($lsAccount) {
Set-QADUser $lsAccount -ObjectAttributes @{pwdLastSet=0} | Out-Null;
Set-QADUser $lsAccount -ObjectAttributes @{pwdLastSet=-1} | Out-Null;
}
function get-password($lsAccount) {
get-qaduser $lsAccount -IncludedProperties pwdLastSet | % {$lsPwdLastSet = $_.pwdLastSet;}
$lsPwdLastSet = $lsPwdLastSet.AddHours(3);
$lsPwdLastSetNorm = get-date -uformat '%d.%m.%Y %R' -Date $lsPwdLastSet;
return $lsPwdLastSetNorm;
}
function send-eMail($to,$toCc,$text="",$subject="Изменение даты установки пароля",$toBcc="admin3@domain.com") {
write-host "Кому: $to | тема: $subject | текст: $text";
$Enc = [Text.Encoding]::UTF8;
Send-MailMessage -to $to -from "admin1@domain.com" -Bcc $toBcc -Cc $toCc -subject $subject -smtpServer MAIL-SRV -BodyAsHtml $text -Encoding $Enc;
}
function get-sleepRandom($liMinimum, $liMaximum) {
$giSleep = Get-Random -minimum $liMinimum -maximum $liMaximum
# $giSleep = 30;
$giSleepS = $giSleep % 60;
$giSleepM = $giSleep - $giSleepS;
$giSleepM = $giSleepM / 60;
$gdFuture = (Get-Date).AddSeconds($giSleep);
write-host "Ждем"$giSleepM" минут "$giSleepS" секунд (будет выполнен "$gdFuture")...";
Start-Sleep -Seconds $giSleep
}
function isAtWork($ltBegin, $ltEnd) {
$lbAtWork = $FALSE;
$giDayOfWeek = (get-date).DayOfWeek.ToString('d');
if (($giDayOfWeek -gt 0) -and ($giDayOfWeek -lt 6)) {
$today_date_full = $today_date + " " + $ltBegin;
$today_date_full2 = $today_date + " " + $ltEnd;
write-host $today_date_full" - "$today_date_full2;
$a=[datetime]::parse($today_date_full);
$c=[datetime]::parse($today_date_full2);
$b = get-date;
if (($b -gt $a) -and ($b -lt $c)) {
write-host $b". Время позже 8:00 и раньше 19:00, пользователь может поменять пароль!";
$lbAtWork = $TRUE;
} else {
write-host "Время раньше 8:00 или позже 19:00, пользователь не может поменять пароль.";
}
} else {
write-host "Сегодня выходной, пользователя нет на работе.";
}
return $lbAtWork;
}
function update-password_wReport($lsAccount) {
write-host " ";
write-host "*"$lsAccount;
$gbAtWork = isAtWork $gtBeginDay $gtEndDay;
if ($gbAtWork) {
$gsPwdLastSet = get-password $lsAccount;
$lsText = "<tr><td style='border:1px solid RGB(200,200,200);'><strong>" + $lsAccount + "</strong></td><td style='border:1px solid RGB(200,200,200);'>" + $gsPwdLastSet + "</td>";
set-password $lsAccount;
$gsPwdLastSet = get-password $lsAccount;
$lsText = $lsText + "<td style='border:1px solid RGB(200,200,200);'>" + $gsPwdLastSet + "</td></tr>";
} else {
$lsText = "<tr><td style='border:1px solid RGB(200,200,200);'><strong>" + $lsAccount + "</strong></td><td style='border:1px solid RGB(200,200,200);'>Нет на работе</td><td style='border:1px solid RGB(200,200,200);'></td></tr>";
}
return $lsText;
}
$gsText = $gsText + "<table style='border-collapse:collapse; width:500px; font-family:Tahoma,Arial,Calibri;font-size:10pt;'>";
$gsText = $gsText + "<tr><td style='width:40%; border:1px solid RGB(200,200,200); text-align:center;'>Учетная запись</td>";
$gsText = $gsText + "<td style='width:130px; border:1px solid RGB(200,200,200); text-align:center;'>Было</td><td style='width:130px; border:1px solid RGB(200,200,200); text-align:center;'>Стало</td></tr>";
if ($ARGS[0] -ne $Null) {
$gsText = $gsText + (update-password_wReport $ARGS[0]);
} else {
Get-Content -LiteralPath $gsFilename |
% {
$gsText = $gsText + (update-password_wReport $_);
$giX = $giX + 1;
if ($giX -lt $giRows) {
get-sleepRandom $giMinimumSleep $giMaximumSleep;
}
}
}
$gsText = $gsText + "</table>";
if ($ARGS[1] -ne $Null) {
send-eMail $ARGS[1] "admin1@domain.com" $gsText;
} else {
send-eMail "admin1@domain.com" "admin2@domain.com" $gsText;
}
Под катом описание, использование и особенности.
-2
Ад с учётными записями — почему в одной компании пользователей было в 3 раза больше, чем сотрудников
9 min
51KПрыдстория. В одной производственной компании было около двух десятков(!) кадровых баз. Это базы обособленных подразделений, и в каждой по несколько сотен человек. Всего около 10 тысяч сотрудников. Системный администратор работает грамотный, есть рабочая MS Active Directory.
Квест начался в тот момент, когда безопасники попросили проверить некоего Петрова. По их ощущениям, прав у него было куда больше, чем ему дали по заявкам от подразделений. Админу пришлось поднимать все эти бумажные документы из архива и обходить половину подразделений компании. Ради одного сотрудника. Пока он ходил около двух недель, проверить решили целый отдел.
Параллельно админ понял ещё одну страшную вещь: в компании по факту работает примерно в три раза меньше людей, чем учёток у него в системе. Почему? Да всё просто: учётки заводились по письменным заявкам, а при увольнениях и переводах обновлять статус зачастую забывали.
В этот момент мы начали работать над внедрением общего решения по управлению учетными записями и правами доступа, IdM. Для начала пришлось избавиться от раздробленности и свести все кадровые базы в одну промежуточную кадровую систему. Её связали с Active Directory через новый центр-репозиторий. Потом подключили к репозиторию остальные бизнес-системы вот так:
![](https://habrastorage.org/storage2/f3b/190/4f4/f3b1904f45a54fe3cabc74b4c901310c.jpg)
Дальше мы удалили все лишние учётки, оставили только действительных сотрудников (заодно увидели пару уволенных, но активно логинящихся). Потом нашли пару очень странных людей…
Квест начался в тот момент, когда безопасники попросили проверить некоего Петрова. По их ощущениям, прав у него было куда больше, чем ему дали по заявкам от подразделений. Админу пришлось поднимать все эти бумажные документы из архива и обходить половину подразделений компании. Ради одного сотрудника. Пока он ходил около двух недель, проверить решили целый отдел.
Параллельно админ понял ещё одну страшную вещь: в компании по факту работает примерно в три раза меньше людей, чем учёток у него в системе. Почему? Да всё просто: учётки заводились по письменным заявкам, а при увольнениях и переводах обновлять статус зачастую забывали.
В этот момент мы начали работать над внедрением общего решения по управлению учетными записями и правами доступа, IdM. Для начала пришлось избавиться от раздробленности и свести все кадровые базы в одну промежуточную кадровую систему. Её связали с Active Directory через новый центр-репозиторий. Потом подключили к репозиторию остальные бизнес-системы вот так:
![](https://habrastorage.org/storage2/f3b/190/4f4/f3b1904f45a54fe3cabc74b4c901310c.jpg)
Дальше мы удалили все лишние учётки, оставили только действительных сотрудников (заодно увидели пару уволенных, но активно логинящихся). Потом нашли пару очень странных людей…
+26
Information
- Rating
- Does not participate
- Location
- Ревда (Мурманская обл.), Мурманская обл., Россия
- Date of birth
- Registered
- Activity