Настройка сервера
Установка
Установите пакет .
Samba настраивается с помощью конфигурационного файла , который широко документирован на странице руководства .
В связи с тем, что пакет поставляется без данного файла, вам нужно создать его перед запуском smbd.
Примечание:
- Файл настроек по умолчанию задаёт место, доступное только для чтения, что будет вызывать ошибки. Вы можете воспользоваться одним из следующих решений:
- Задайте файлу регистрации расположение с возможностью записи:
- Используйте бекенд для нефайлового журналирования: замените на или используйте
- Если требуется; , указанная в секции , должна соответствовать домашней группе (workgroup) Windows (по умолчанию: ).
Совет: Каждый раз, когда вы изменяете файл , запускайте команду для проверки файла на синтаксические ошибки.
Настройка межсетевого экрана
Запуск служб
Примечание: В 4.8.0-1, службы были переименованы из и в и .
Совет: Вместо того, чтобы запускать службу сразу после каждой загрузки системы, вы можете включить , благодаря чему она будет запускаться лишь при появлении первого входящего соединения. При этом не забудьте отключить службу
Создание ресурсов общего доступа от имени обычного пользователя
Примечание: Выполнение данных действий не является обязательным. Переходите к следующему разделу, если вам это не нужно
«Usershare» — это возможность, позволяющая обычным пользователям добавлять, изменять и удалять собственные ресурсы общего доступа.
Эта команда создает необходимый каталог в :
# mkdir -p /var/lib/samba/usershare
Эта команда создает группу sambashare:
# groupadd sambashare
Эта команда меняет владельца и группу каталога, который вы только что создали, на суперпользователя:
# chown root:sambashare /var/lib/samba/usershare
Эта команда меняет разрешения каталога usershares таким образом, что пользователи, входящие в группу sambashare, могут читать, записывать и выполнять файлы:
# chmod 1770 /var/lib/samba/usershare
Задайте эти переменные в конфигурационном файле :
/etc/samba/smb.conf
... usershare path = /var/lib/samba/usershare usershare max shares = 100 usershare allow guests = yes usershare owner only = yes ...
Добавьте вашего пользователя в группу sambashares. Замените на имя вашего linux-пользователя:
# usermod -a -G sambashare ваше_имя_пользователя
Перезапустите службы и .
Завершите сеанс и войдите в него вновь. Теперь у вас должна появиться возможность настраивать общий доступ samba, используя графический интерфейс. Например, в Thunar вы можете нажать правую кнопку мыши на любом каталоге и предоставить для него общий доступ в сети.
Добавление пользователя
Создайте для пользователя samba. При необходимости замените на желаемое имя:
# useradd пользователь_samba
Затем создайте учетную запись пользователя Samba с тем же именем:
# pdbedit -a -u пользователь_samba
# smbpasswd пользователь_samba
Использование модуля RSAT-AD-PowerShell для администрирования AD
Рассмотрим несколько типовых задач администратора, которые можно выполнить с помощью команд модуля AD для PowerShell.
Полезные примеры использования различных командлетов модуля AD для PowerShell уже описаны на сайте. Следуйте ссылкам по тексту за подробными инструкциями.
New-ADUser: Создание пользователя в AD
Для создания нового пользователя в AD можно использовать командлет New-ADUser. Создать пользователя можно командой:
Более подробно о команде New-ADUser (в том числе пример массового создания учетных записей в домене) читайте в статье .
Get-ADComputer: Получить информацию о компьютерах домена
Чтобы вывести информацию о компьютерах в определённом OU (имя компьютера и дата последней регистрации в сети) используйте командлет Get-ADComputer:
Add-AdGroupMember: Добавить пользователя в группу AD
Чтобы добавить пользователей в существующую группу безопасности в домене AD, выполните команду:
Вывести список пользователей в группе AD и выгрузить его в файл:
Более подробно об управлении группами AD из PowerShell.
Блокировка/разблокировка пользователя
Отключить учетную запись:
Включить учетную запись:
Разблокировать аккаунт после блокировки парольной политикой:
Search-ADAccount: Поиск неактивных компьютеров в домене
Чтобы найти и заблокировать в домене все компьютеры, которые не регистрировались в сети более 100 дней, воспользуйтесь командлетом Search-ADAccount:
New-ADOrganizationalUnit: Создать структуру OU в AD
Чтобы быстро создать типовую структуры Organizational Unit в AD, можно воспользоваться скриптом PowerShell. Допустим, нам нужно создать несколько OU с городами, в которых создать типовые контейнеры. Вручную через графическую консоль ADUC такую структуру создавать довольно долго, а модуль AD для PowerShell позволяет решить такую задачу за несколько секунд (не считая время на написание скрипта):
После выполнения скрипта у нас в AD появилась такая структура OU.
Для переноса объектов между контейнерами AD можно использовать командлет Move-ADObject:
Get-ADReplicationFailure: Проверка репликации в AD
С помощью командлета Get-ADReplicationFailure можно проверить состояние репликации между контроллерами домена AD:
Get-ADReplicationFailure -Target DC01,DC02
Получить информацию обо всех DC в домене с помощью командлета Get-AdDomainController:
Итак, в этой статье мы рассмотрели базовые возможности и особенности использования модуля AD для PowerShell для администрирования AD. Надеюсь, эта статья подтолкнет вас к дальнейшему исследованию возможностей этого модуля и автоматизации большинства задач управления AD.
В общем
Active Directory позволяет администраторам сети создавать домены, пользователей, объекты в сети и управлять ими. Например, администратор может создать группу пользователей и предоставить им определенные права доступа к определенным каталогам на сервере. По мере роста сети Active Directory позволяет организовать большое количество пользователей в логические группы и подгруппы, обеспечивая при этом контроль доступа на каждом уровне.
Структура Active Directory включает три основных уровня:
1) домены,
2) группы,
3) коллекции.
Несколько объектов (пользователей или устройств), использующих одну и ту же базу данных, могут быть сгруппированы в один домен. Несколько доменов можно объединить в одну группу. Несколько групп могут быть объединены в коллекцию. Каждому из этих уровней могут быть назначены определенные права доступа и привилегии.
Служба каталогов – это иерархическая структура, которая отображает имена всех ресурсов в сети на ее сетевой адрес. Он позволяет хранить, организовывать и управлять всеми сетевыми ресурсами, а также определять структуру именования. Это упрощает управление всеми устройствами из единой системы.
Контроллер домена – это сервер, на котором запущены службы Active Directory в домене. Все пользователи, информация о пользователях, компьютеры и их политики контролируются “Контроллером домена”. Каждый пользователь должен пройти аутентификацию с помощью “Контроллера домена” для доступа к любому ресурсу или услуге в домене. Он определяет политики для всех пользователей, какие действия могут быть выполнены, какой уровень привилегий должен быть предоставлен и т.д . Это упрощает жизнь администраторам для управления пользователями и компьютерами в сети.
Управление делегированием в Active Directory долгое время было очевидной проблемой. Многие компании стали лучше внедрять жесткие политики для администраторов домена. Если злоумышленник сможет получить доступ к привилегированной учетной записи и изучит вашу сеть, он сможет узнать полезную информацию о том, что находится в AD с точки зрения привилегированного доступа, и создать схему этой “среды”.Другая уязвимость заключается в том, что пользователям без прав администратора могут быть предоставлены права на выполнение привилегированных действий. Злоумышленники могут просматривать списки управления доступом (ACL), видеть, у кого есть доступ и к каким объектам, и использовать эту информацию для компрометации Active Directory. Если сотрудник службы поддержки может сбросить пароли для ваших наиболее привилегированных пользователей, и злоумышленник получает доступ к учетной записи этого человека, то вы, по сути, позволяете этому злоумышленнику один из векторов для повышения прав.
Для понимания некоторых техник вначале следует разобраться, как устроен хэш. В Windows типичный хэш выглядит примерно так:
helpdesk:500:aad3b435b51404eeaad3b435b51404ee:94c2605ea71fca715caacfaa92088150:::
Строка выше состоит из четырех секций, разделенных двоеточиями. Первая часть – имя пользователя, вторая – относительный числовой идентификатор.
Третья часть представляет собой LM хэш, прекративший использоваться, начиная с Windows Vista/Server 2008. На данный момент вы навряд ли встретите где-либо подобный тип, если только в старых системах. В случае если вы столкнетесь с подобными ситуациями, считайте, что вам повезло, поскольку эти хэши легко взламываются.
Четвертая часть представляет собой NTLM хэш (иногда называемый NTHash).
Настройка пиринговой связи между виртуальными сетями
Вы можете использовать для виртуальных машин существующую виртуальную сеть Azure или сохранить виртуальную сеть управляемого домена отделенной от них. Чтобы использовать управляемый домен, виртуальным машинам в других виртуальных сетях нужно обеспечить обмен данными между контроллерами домена Azure AD DS. Это можно сделать с помощью пиринга между виртуальными сетями Azure.
Пиринг между виртуальными сетями Azure подключает две виртуальные сети друг к другу без необходимости использовать дополнительные VPN-устройства. Пиринг между сетями позволяет быстро подключать виртуальные сети и распределять потоки трафика в среде Azure.
См. сведения о пиринге между виртуальными сетями Azure.
Чтобы создать пиринговое подключение между виртуальной сетью и виртуальной сетью управляемого домена, сделайте следующее:
-
Выберите виртуальную сеть, созданную по умолчанию для управляемого домена с именем aadds-vnet.
-
В окне виртуальной сети выберите в меню слева элемент Пиринги.
-
Чтобы создать пиринг, щелкните +Добавить. В приведенном ниже примере создается пиринг между виртуальной сетью по умолчанию с именем aadds-vnet и новой виртуальной сетью с именем myVnet. Замените следующие параметры собственными значениями.
- Имя пиринга между aadds-vnet и удаленной виртуальной сетью. Описательный идентификатор объединения двух сетей, например aadds-vnet-to-myvnet.
- Тип развертывания виртуальной сети. Resource Manager
- Подписка: Выберите подписку виртуальной сети, для которой нужно создать пиринговое подключение, например Azure.
- Виртуальная сеть. Виртуальная сеть, для которой нужно создать пиринговое подключение, например myVnet.
- Имя пиринга между myVnet и aadds-vnet. Описательный идентификатор объединения двух сетей, например myvnet-to-aadds-vnet.
Сохраните все остальные значения по умолчанию, например параметры доступа к виртуальной сети и перенаправления трафика, если у вас нет особых требований для используемой среды, а затем щелкните ОК.
-
Потребуется несколько секунд на создание пирингового подключения между виртуальной сетью Azure AD DS и выбранной внешней виртуальной сетью. Когда процесс завершится, параметр Состояние пиринга получит значение Подключено, как показано в следующем примере.
Прежде чем виртуальные машины в виртуальной сети с пиринговым подключением смогут использовать управляемый домен, настройте DNS-серверы для поддержки разрешения имен.
Настройка DNS-серверов в виртуальной сети, для которой настроен пиринг
Чтобы виртуальные машины и приложения в виртуальной сети с пиринговым подключением могли обмениваться данными с управляемым доменом, необходимо изменить параметры DNS. IP-адреса контроллеров домена Azure AD DS должны быть указаны в качестве DNS-серверов для виртуальной сети с настроенным пирингом. У вас есть два способа настроить контроллеров домена в качестве DNS-серверов для виртуальной сети с настроенным пирингом.
- Настройте использование контроллеров домена Azure AD DS на DNS-серверах виртуальной сети Azure.
- Настройте условное перенаправление DNS на существующем DNS-сервере, который используется в виртуальной сети с пиринговым подключением, чтобы направлять запросы в управляемый домен. Эти шаги будут отличаться в зависимости от используемого существующего DNS-сервера.
С помощью этого руководства мы настроим на DNS-серверах виртуальной сети Azure переадресацию всех запросов к контроллерам домена Azure AD DS.
-
На портале Azure выберите группу ресурсов виртуальной сети с настроенным пирингом, например myResourceGroup. В списке ресурсов выберите виртуальную сеть с настроенным пирингом, например myVnet.
-
В окне виртуальной сети выберите в меню слева DNS-серверы.
-
По умолчанию виртуальная сеть использует встроенный DNS-сервер, предоставленный Azure. Выберите для DNS-серверов вариант Пользовательские. Введите IP-адреса контроллеров домена Azure AD DS, обычно это 10.0.2.4 и 10.0.2.5. Подтвердите эти IP-адреса в окне Обзор для управляемого домена на портале.
-
Когда все будет готово, щелкните Сохранить. Обновление DNS-серверов для виртуальной сети занимает несколько секунд.
-
Чтобы применить обновленные параметры DNS к виртуальным машинам, перезапустите виртуальные машины, подключенные к виртуальной сети с настроенным пирингом.
Когда вы будете создавать виртуальную машину, для работы которой требуется управляемый домен, выберите для нее именно виртуальную сеть с пирингом. Если вы выберете другую виртуальную сеть, сетевое подключение и разрешение имен DNS не будут работать для управляемого домена.
Ключевые возможности Active Directory
— Единая регистрация в сети. Позволяет настроить вход пользователя в рабочее пространство под своей учётной записью. Функционал аутентификации позволяет администрировать доступы пользователе ко всем ресурсам и информационным системам организации, настраивать интеграцию аутентификации c другими службами авторизации (использование единого доступа сотрудника, например, к компьютеру, к электронной почте, корпоративному порталу, 1С и т.д.).
— Безопасность информации. Централизованная настройка ролей и прав доступа группам или отдельным пользователям в рабочей сети, в зависимости от поставленной задачи.
— Лёгкий поиск. Поиск объектов осуществляется при помощи имени пользователя/компьютера или адреса электронной почты.
— Удобный интерфейс. Позволяет проектировать каталоги в виде древовидной структуры или задавать связь и права доступа между несколькими деревьями, обозначающими филиалы в разных зданиях или городах.
— Централизованное управление. Позволяют производить изменения сразу для всей рабочей сети, а не настраивать каждый объект отдельно. Отличное решение, если стоит задача, например, расширить (ограничить) права доступа к конкретному объекту сети или подключить отдельный сервер только для юридического отдела. Такие массовые изменения осуществляются при помощи групповых политик Active Directory.
Групповые политики Active Directory — отвечают за управление компьютерами, которые являются элементами домена, и позволяют максимально оперативно и централизованно настроить рабочее пространство пользователя и систему безопасности.
Возможности групповых политик Active Directory:
- администрирование операционной системы;
- настройка безопасности доступов к системному и прикладному программному обеспечению (установка разрешений, включение пользователей в группы);
- установка, настройка и обновление, удаление программного обеспечения (одновременно на всех необходимых устройствах сети удаленно);
- обслуживание компонентов операционных систем;
- интеграция с другими сервисами и приложениями, которые работают по сети, используя функционал групповых политик;
- настройка правил с зависимостью от местоположения пользователя;
- выполнение скриптов и многое другое.
Обнаружение пользователей Azure AD
Обнаружение пользователей Azure AD включается и настраивается не так, как другие методы обнаружения. Настройте этот метод при настройке сайта Configuration Manager в Azure AD.
Дополнительные сведения см. в статье .
Необходимые условия для обнаружения пользователей Azure AD
Для активации и настройки этого метода обнаружения выполните настройку служб Azure для облачного управления.
Если для создания приложения Azure используется Configuration Manager, он настраивает приложение с необходимыми правами доступа.
Если вы сначала создаете приложение в Azure, а затем импортируете его в Configuration Manager, вам необходимо вручную настроить приложение. Настройки включают в себя предоставление серверному приложению разрешения на чтение данных каталога.
-
Войдите на Портал Azure в качестве пользователя с правами глобального администратора. Перейдите в раздел Azure Active Directory и выберите Регистрация приложений. При необходимости переключитесь на вкладку Все приложения.
-
Выберите необходимое приложение.
-
В меню Управление выберите Разрешения API.
-
На панели Разрешения API выберите Добавить разрешение.
-
На панели Запрос разрешений API переключитесь на Интерфейсы API, используемые моей организацией.
-
Найдите и выберите API-интерфейс Microsoft Graph.
-
Выберите группу Разрешения приложения. Разверните Каталог и выберите Directory.Read.All.
-
Выберите Добавить разрешения.
-
-
На панели Разрешения API в разделе Предоставление согласия выберите Предоставление согласия администратора… . Выберите Да.
Настройка обнаружения пользователей Azure AD
При настройке облачного управления службы Azure:
- В мастере на странице Обнаружение щелкните Включить обнаружение пользователей Azure Active Directory.
- Выберите Параметры.
- В диалоговом окне «Параметры обнаружения пользователей Azure AD» настройте расписание для обнаружения. Также можно включить обнаружение изменений, при котором проверяется только наличие новых или измененных учетных записей в Azure AD.
Примечание
Если пользователь имеет федеративное или синхронизированное удостоверение, необходимо использовать в Configuration Manager, а также обнаружение пользователей Azure AD. Дополнительные сведения о гибридных удостоверениях см. в разделе Определение стратегии внедрения гибридной идентификации.
Как найти пользователя в AD и вывести его свойства с помощью Get-ADUser?
Для использования модуля RSAT-AD-PowerShell нужно запустить консоль PowerShell с правами администратора и импортировать модуль командой:
В Windows Server 2012 и выше модуль RSAT-AD-PowerShell устанавливается по-умолчанию при развертывании на сервере роли Active Directory Domain Services (AD DS). Для установки модуля на рядовом сервере домена нужно выполнить команду:
В десктопных версия Windows (например, в Windows 10) для работы коммандера Get-AdUser нужно установить соответствующую версию RSAT и включить в Панели Управления компонент Active Directory Module for Windows PowerShell (Remote Server Administration Tools -> Role Administration Tools -> AD DS and AD LDS Tools -> AD DS Tools).
Вы можете установить модуль AD из PowerShell:
Также есть способ использования модуля RSAT-AD-PowerShell без его RSAT установки на компьютере. Достаточно скопировать основные файлы и импортировать модуль в сессию PoSh:
Полный список всех аргументов командлета Get-ADUser можно получить так:
Для использования командлета Get-ADUser не обязательно использовать учетную запись с правами администратора домена. Любой авторизованный пользователь домена AD может выполнять команды PowerShell для получения значений большинства атрибутов объектов AD (кроме защищенных, см. пример с LAPS). Если нужно выполнить команду Get-ADUser из-под другой учетной записи, используйте параметр Credential.
Чтобы вывести список всех учетных записей домена, выполните команду:
Важно. Не рекомендуется выполнять эту команду в доменах AD с большим количеством аккаунтов, т.к. возможно перегрузка контроллера домена, предоставляющего данные.
возможно перегрузка контроллера домена, предоставляющего данные.
Чтобы изменить атрибуты пользователя используется командлет Set-ADUser.
По-умолчанию командлет Get-ADUser возвращает только 10 основных атрибутов (из более чем 120 свойств учетных записей пользователей): DistinguishedName, SamAccountName, Name, SID, UserPrincipalName, ObjectClass, статус аккаунта (Enabled: True/False согласно атрибуту UserAccountControl), и т.д.
В выводе командлета отсутствует информация о времени последней смены пароля пользователя.
Чтобы выполнить запрос на конкретном контроллере домена используется параметр – Server:
Чтобы вывести полную информации обо всех доступных атрибутах пользователя tuser, выполните команду:
Командлет Get-ADUser с параметром Properties * вывел список всех атрибутов пользователя AD и их значения.
Попробуем изменить параметры команды Get-ADUser, чтобы вывести только нужные нам атрибуты пользователя. Можно вывести сразу несколько атрибутов пользователя:
- PasswordExpired
- PasswordLastSet
- PasswordNeverExpires
- lastlogontimestamp
Выполните команду:
Теперь в информации о пользователе есть данные о статусе аккаунта (Expired:True/False), дате смены пароля и времени последнего входа в домен (lastlogontimestamp). Представим информацию в более удобном табличном виде и уберем все лишние атрибуты с помощью Select-Object –Property или Format-Table:
SQL Server: основы технологии репликации
В любом типе репликации SQL Server есть 3 типа серверов:
- Publisher (издатель) – основной экземпляр-источник, который публикует статьи;
- Distributor (распространитель) – экземпляр который распространяет статьи на сервера-подписчики. Этот тип экземпляра не хранит у себя данные издателя на постоянной основе, а распространяет их подписчикам;
- Subscriber (подписчик) – экземпляр который получает распространяемые статьи.
Роли могу пересекаться между собой. Например, один экземпляр может быть и издателем, и подписчиком (но не самого себя).
Работа репликации транзакций осуществляется через внутренние агенты SQL Server’а:
- Агент чтения журналов;
- Агент моментальных снимков;
- Агент распространения.
При появлении транзакций в объектах, участвующих в репликации, на издателе, агент чтения журналов копирует эти транзакции на экземпляр-распространитель, затем агент распространитель копирует данные на подписчиков. Агент моментальных снимков участвует только тогда, когда нужно скопировать новый моментальный снимок (обычно это происходит при инициализации и реинициализации репликации).
Транзакции доставляются на подписчиков в той последовательности, в которой они были отправлены на издателя. Если транзакций слишком много, образуется очередь.
Транзакционная репликация работает асинхронно, так же как и асинхронные режимы Always On и зеркалирования баз данных. То есть, данные, которые были записаны на издатель, будут отправлены на подписчики без гарантии доставки в случае сбоя во время передачи данных. Это нужно учитывать, если вы собираетесь использовать транзакционную репликацию для избыточности и высокой доступности данных в SQL Server.
Схема связи агентов между собой из официальной документации:
Рассмотрим, как настроить репликацию в SQL Server на следующем тестовом стенде:
- 2 виртуальные машины с Windows Server 2019 в одной сети;
- 2 установленных экземпляра SQL Server 2019.
Топология репликации:
- testnode1\node1 – издатель (Publisher);
- testnode2\node2 – подписчик (Subscriber);
- testnode2\node2 – распространитель (Distributor).
В этом примере мы будем реплицировать одну таблицу с testnode1\node1 на testnode\node2. В роли распространителя будет выступать testnode2\node2.
Добавление второго контроллера домена из другой подсети
Идем на второй сервер xm-winsrv, запускаем мастер добавления ролей и добавляем так же как и на первом сервере 3 роли — AD, DNS, DHCP. Когда будет запущен Мастер настройки доменных служб Active Directory, выбираем там первый пункт — Добавить контроллер домена в существующий домен, указываем наш домен xs.local:
На следующем шаге в параметрах контроллера домена указываем имя сайта, к которому мы присоединим контроллер:
Напомню, что это должен быть сайт, к которому привязана подсеть 10.1.4.0/24. Первый и второй контроллеры оказываются в разных сайтах. Не забываем поставить галочку Глобальный каталог (GC). Дальше все настройки оставляем по-умолчанию.
После перезагрузки сервера, он окажется в домене xs.local. Зайти под локальным администратором не получится, нужно использовать доменную учетную запись. Заходим, проверяем прошла ли репликация с основным контроллером домена, синхронизировались ли записи DNS. У меня все это прошло благополучно, всех пользователей и записи DNS второй контроллер домена забрал с первого. На обоих серверах в оснастке Active-Directory — сайты и службы отображаются оба контроллера, каждый в своем сайте:
На этом все. Можно добавлять компьютеры в обоих офисах в домен.
Добавлю еще один важный момент для тех, кто будет все это настраивать на виртуальных машинах. Нужно обязательно на гостевых системах отключить синхронизацию времени с гипервизором. Если этого не сделать, то в какой-то момент контроллерам домена может стать плохо.
Онлайн курс «DevOps практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .