ActiveDirectory/SSL: различия между версиями

Материал из ALT Linux Wiki
 
(не показано 11 промежуточных версий 2 участников)
Строка 1: Строка 1:
= Введение =
== Введение ==


Настройка доступа к дереву домена Samba чере LDAPS.
Настройка доступа к дереву домена Samba чере LDAPS.
По умолчанию Samba предоставляет доступ по протоколу LDAP с использованием GSSAPI авторизации и шифрования или без шифрования вообще. LDAPS подразумевает использование SSL/TLS туннеля для обмена данными с сервером, а так же позволяет использовать plain-text авторизацию (с помощью логина и пароля открытым текстом). В отличии от GSSAPI, LDAPS поддерживают большинство библиотек для работы с LDAP деревом.


= Общая информация =
По умолчанию Samba предоставляет доступ по протоколу LDAP с использованием GSSAPI авторизации и шифрования или без шифрования вообще. LDAPS подразумевает использование SSL/TLS туннеля для обмена данными с сервером, а так же позволяет использовать plain-text авторизацию (с помощью логина и пароля открытым текстом). В отличии от GSSAPI, LDAPS поддерживают большинство библиотек для работы с LDAP деревом.
 
== Общая информация ==


Устройство SSL сертификатов выглядит следующим образом:
Устройство SSL сертификатов выглядит следующим образом:
Строка 15: Строка 16:
Доменные сертификаты можно использовать и без подписи. Пары ключ-сертификат достаточно для создания шифрованного канала, но без подписи такой сертификат считается ненадёжным. Такие сертификаты ещё называют самоподписанными (self-signed).
Доменные сертификаты можно использовать и без подписи. Пары ключ-сертификат достаточно для создания шифрованного канала, но без подписи такой сертификат считается ненадёжным. Такие сертификаты ещё называют самоподписанными (self-signed).


= Генерация ключей =
== Генерация ключей ==


Установить пакет {{pkg|openssl}}.
Установить пакет '''{{pkg|openssl}}'''.


Генерация корневой пары ключ-сертификат:
Генерация корневой пары ключ-сертификат:
openssl genrsa -out rootCA.key 2048
 
openssl req -x509 -new -key rootCA.key -days 10000 -out rootCA.crt
<source lang="sh">openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -key rootCA.key -days 10000 -out rootCA.crt</source>


Генерация приватного ключа и сертификата, подписанного корневым сертификатом:
Генерация приватного ключа и сертификата, подписанного корневым сертификатом:
openssl genrsa -out lnx-dc11.alt.test.key 2048
 
openssl req -new -key lnx-dc12.alt.test.key -out lnx-dc12.alt.test.csr
<source lang="sh">openssl genrsa -out lnx-dc11.alt.test.key 2048
openssl req -new -key lnx-dc11.alt.test.key -out lnx-dc11.alt.test.csr</source>
 
Ответить на вопросы. В поле Common Name важно указать FQDN имя хоста, для которого генерируется сертификат.
Ответить на вопросы. В поле Common Name важно указать FQDN имя хоста, для которого генерируется сертификат.
openssl x509 -req -in lnx-dc11.alt.test.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out lnx-dc11.alt.test.crt -days 5000
 
<source lang="sh">openssl x509 -req -in lnx-dc11.alt.test.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out lnx-dc11.alt.test.crt -days 5000</source>


В итоге получаем комплект:
В итоге получаем комплект:
Cert: lnx-dc11.alt.test.crt
 
<source lang="text">Cert: lnx-dc11.alt.test.crt
Key: lnx-dc11.alt.test.key
Key: lnx-dc11.alt.test.key
CA: rootCA.crt
CA: rootCA.crt</source>


= Настройка SSL/TLS в Samba =
== Настройка SSL/TLS в Samba DC ==


Копируем сгенерированные ключи в рабочий каталог Samba:
Копируем сгенерированные ключи в рабочий каталог Samba:
cp lnx-dc11.alt.test.crt /var/lib/samba/private/tls/
cp lnx-dc11.alt.test.key /var/lib/samba/private/tls/
cp rootCA.crt /var/lib/samba/private/tls/


В секцию Global в /etc/samba/smb.conf добавляем слюдующие параметры:
<source lang="sh"># cp lnx-dc11.alt.test.crt /var/lib/samba/private/tls/
ldap server require strong auth = yes
# cp lnx-dc11.alt.test.key /var/lib/samba/private/tls/
# cp rootCA.crt /var/lib/samba/private/tls/</source>
 
В секцию Global в {{path|/etc/samba/smb.conf}} добавляем следующие параметры:
 
<source lang="text">ldap server require strong auth = yes
tls enabled  = yes
tls enabled  = yes
tls keyfile  = tls/lnx-dc11.alt.test.key
tls keyfile  = tls/lnx-dc11.alt.test.key
tls certfile = tls/lnx-dc11.alt.test.crt
tls certfile = tls/lnx-dc11.alt.test.crt
tls cafile  = tls/rootCA.crt
tls cafile  = tls/rootCA.crt</source>


Перезапускаем сервис Samba:
Перезапускаем сервис Samba:
systemctl restart samba
 
<source lang="sh"># systemctl restart samba</source>
 
== Настройка SSL/TLS на стороне клиента ==


Добавляем в системный репозиторий сертификатов наш корневой сертификат:
Добавляем в системный репозиторий сертификатов наш корневой сертификат:
cp rootCA.crt /etc/pki/ca-trust/source/anchors/
 
update-ca-trust
<source lang="sh"># cp rootCA.crt /etc/pki/ca-trust/source/anchors/
# update-ca-trust</source>


Проверяем работоспособность TLS соединения:
Проверяем работоспособность TLS соединения:
ldapsearch -h alt.test -W -x -D "Administrator@alt.test" -Z -b dc=alt,dc=test "(cn=Administrator)" dn sAMAccountName
 
<source lang="sh"># ldapsearch -h alt.test -W -x -D "Administrator@alt.test" -Z -b dc=alt,dc=test "(cn=Administrator)" dn sAMAccountName</source>
 
[[Категория:Active Directory]]

Текущая версия от 15:20, 4 октября 2022

Введение

Настройка доступа к дереву домена Samba чере LDAPS.

По умолчанию Samba предоставляет доступ по протоколу LDAP с использованием GSSAPI авторизации и шифрования или без шифрования вообще. LDAPS подразумевает использование SSL/TLS туннеля для обмена данными с сервером, а так же позволяет использовать plain-text авторизацию (с помощью логина и пароля открытым текстом). В отличии от GSSAPI, LDAPS поддерживают большинство библиотек для работы с LDAP деревом.

Общая информация

Устройство SSL сертификатов выглядит следующим образом:

Создаётся корневая пара ключ-сертифкат. Далее с помощью этой пары подписываются доменные сертификаты. Они так же представляют из себя пару ключ-сертификат.

Библиотеки для работы с SSL (openssl, например) используют список так называемых доверенных центров сертификации, чьи корневые сертификаты распространяются вместе с библиотеками и переодически обновляются. Пользовательские сертификаты, подписанные такими центрами сертификации по умолчанию считаются доверенными.

Доменные сертификаты привязываются к доменным именам. Есть разные варианты: с учётом поддоменов, с использованием wildcard. Такие сертификаты используется, к примеру, для настройки HTTPS сервера. Доменные сертификаты можно использовать и без подписи. Пары ключ-сертификат достаточно для создания шифрованного канала, но без подписи такой сертификат считается ненадёжным. Такие сертификаты ещё называют самоподписанными (self-signed).

Генерация ключей

Установить пакет openssl.

Генерация корневой пары ключ-сертификат:

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -key rootCA.key -days 10000 -out rootCA.crt

Генерация приватного ключа и сертификата, подписанного корневым сертификатом:

openssl genrsa -out lnx-dc11.alt.test.key 2048
openssl req -new -key lnx-dc11.alt.test.key -out lnx-dc11.alt.test.csr

Ответить на вопросы. В поле Common Name важно указать FQDN имя хоста, для которого генерируется сертификат.

openssl x509 -req -in lnx-dc11.alt.test.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out lnx-dc11.alt.test.crt -days 5000

В итоге получаем комплект:

Cert: lnx-dc11.alt.test.crt
Key: lnx-dc11.alt.test.key
CA: rootCA.crt

Настройка SSL/TLS в Samba DC

Копируем сгенерированные ключи в рабочий каталог Samba:

# cp lnx-dc11.alt.test.crt /var/lib/samba/private/tls/
# cp lnx-dc11.alt.test.key /var/lib/samba/private/tls/
# cp rootCA.crt /var/lib/samba/private/tls/

В секцию Global в /etc/samba/smb.conf добавляем следующие параметры:

ldap server require strong auth = yes
tls enabled  = yes
tls keyfile  = tls/lnx-dc11.alt.test.key
tls certfile = tls/lnx-dc11.alt.test.crt
tls cafile   = tls/rootCA.crt

Перезапускаем сервис Samba:

# systemctl restart samba

Настройка SSL/TLS на стороне клиента

Добавляем в системный репозиторий сертификатов наш корневой сертификат:

# cp rootCA.crt /etc/pki/ca-trust/source/anchors/
# update-ca-trust

Проверяем работоспособность TLS соединения:

# ldapsearch -h alt.test -W -x -D "Administrator@alt.test" -Z -b dc=alt,dc=test "(cn=Administrator)" dn sAMAccountName