Подробный пошаговый гайд по вводу Astra Linux в домен на базе Alt Server 11
Метод основан на современных стандартах Linux-аутентификации (realmd + SSSD + Kerberos) и адаптирован под особенности Astra Linux.
Важно перед началом
- Гайд проверялся на Astra Linux Special Edition 1.7/1.8 и Common Edition 1.7/1.8.
- Для Special Edition в режиме
Максимальная безопасностьмогут потребоваться дополнительные разрешения MAC-политик. Рекомендуется сначала протестировать на стенде или временно переключить уровень безопасности наБазовый/Стандартный(только для отладки). - Все команды выполняются от
rootили черезsudo.
Требования
- Доступ к домену: учётная запись с правами администратора домена Alt Server 11.
- Сеть: Astra Linux должна видеть контроллер домена по DNS и иметь открытые порты:
53, 88, 135, 139, 389, 445, 464, 636, 1024-65535(RPC). - Репозитории: подключены стандартные репозитории Astra (
astra,main,updates). Если система оффлайн, подготовьте локальный репозиторий с пакетамиrealmd,sssd,krb5-user,samba-common-bin,adcli,pam-mkhomedir.
Шаг 1. Настройка имени хоста и DNS
# Задайте краткое имя хоста (без домена)
sudo hostnamectl set-hostname astra-client
# Убедитесь, что в /etc/resolv.conf первым DNS-сервером указан Alt Server 11
# Пример:
# nameserver 192.168.1.10 # IP контроллера домена
# search alt.local
# Проверьте резолвинг
nslookup altserver11.alt.local
host astra-client.alt.local
alt.local замените на ваше реальное доменное имя (Realm), например CORP.ALT или altserver.local.
Шаг 2. Синхронизация времени (критично для Kerberos)
Kerberos требует расхождения времени не более 5 минут (рекомендуется < 1 мин).
sudo apt update
sudo apt install chrony -y
# Отредактируйте /etc/chrony/chrony.conf
# Закомментируйте стандартные пулы и добавьте ваш DC:
# server 192.168.1.10 iburst
sudo systemctl enable --now chrony
chronyc sources
timedatectl status
Шаг 3. Установка необходимых пакетов
sudo apt install realmd sssd sssd-tools krb5-user samba-common-bin \
adcli libnss-sss libpam-sss policycoreutils pam-mkhomedir -y
Шаг 4. Настройка Kerberos (обычно настраивается автоматически)
Если realmd не создал /etc/krb5.conf, создайте его вручную:
[libdefaults]
default_realm = ALT.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
[realms]
ALT.LOCAL = {
kdc = altserver11.alt.local
admin_server = altserver11.alt.local
}
[domain_realm]
.alt.local = ALT.LOCAL
alt.local = ALT.LOCAL
Замените ALT.LOCAL и altserver11.alt.local на ваши значения.
Шаг 5. Ввод машины в домен
# Проверьте видимость домена
realm discover ALT.LOCAL
# Введите машину в домен
sudo realm join --user=Administrator ALT.LOCAL
Система запросит пароль администратора домена.
При успехе вы увидите:
Successfully enrolled machine in realm
Если домен использует нестандартный суффикс или есть несколько DC, можно указать конкретный:
sudo realm join --client-software=sssd --server=altserver11.alt.local --user=Administrator ALT.LOCAL
Шаг 6. Настройка SSSD
Файл /etc/sssd/sssd.conf создаётся автоматически.
Проверьте/отредактируйте:
[sssd]
domains = alt.local
config_file_version = 2
services = nss, pam
[domain/alt.local]
ad_domain = alt.local
krb5_realm = ALT.LOCAL
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = ad
Обязательно:
sudo chmod 600 /etc/sssd/sssd.conf
sudo systemctl restart sssd
Шаг 7. Включение доменной аутентификации в PAM и создание домашних каталогов
# Включить SSSD в PAM/NSS
sudo pam-auth-update --enable sss
# Автоматическое создание домашних каталогов при первом входе
sudo pam-auth-update --enable mkhomedir
# Перезапуск служб
sudo systemctl restart sssd oddjobd 2>/dev/null || true
Шаг 8. Проверка и вход
# Проверка видимости доменного пользователя
id user@alt.local
id user # если use_fully_qualified_names = False
# Тестовый вход через su
su - user@alt.local
# или
su - user
# Проверка кэша SSSD
sudo sss_cache -E
sudo getent passwd user
Для входа через графическую оболочку (GDM/LightDM) убедитесь, что в настройках экрана входа разрешён ввод Пользователь@домен или domain\user.
Особенности Astra Linux (Special Edition / Common Edition)
| Версия | Нюанс |
|---|---|
| Astra CE | Работает стандартный метод выше без ограничений. |
| Astra SE (Базовый/Стандартный уровень) | Требуется убедиться, что политики parsec не блокируют sssd, pam_sss, krb5. Обычно работает из коробки. |
| Astra SE (Максимальная безопасность) | Доменная аутентификация может блокироваться MAC-политиками. Рекомендуется: 1. Временно переключить уровень: sudo astra-security set-level standard2. Добавить правила в parsec для /usr/sbin/sssd, /lib/security/pam_sss.so3. Либо использовать штатный инструмент fly-admin-domain (если доступен в вашей сборке). |
В некоторых сборках Astra SE предустановлен пакет astra-ad или fly-admin-domain.
Если он есть, предпочтительнее использовать его:
sudo fly-admin-domain join --domain ALT.LOCAL --admin Administrator
Диагностика типичных проблем
| Симптом | Решение |
|---|---|
realm join падает с Failed to enroll machine |
Проверьте время, DNS, доступность портов 88/464, правильность Realm (регистр важен). |
id user не находит пользователя |
sudo systemctl restart sssd, проверьте /var/log/sssd/, убедитесь, что use_fully_qualified_names = False. |
Ошибка Kerberos Clock skew too great |
Синхронизируйте время: sudo chronyc makestep, проверьте NTP на DC и клиенте. |
| Домашний каталог не создаётся | Убедитесь, что включён pam-mkhomedir: sudo pam-auth-update --enable mkhomedir, проверьте права /home. |
| Вход через GUI не работает | В /etc/pam.d/common-auth должна быть строка auth sufficient pam_sss.so. Проверьте логи journalctl -u lightdm или gdm3. |
| Astra SE блокирует вход | Проверьте parsec: sudo parsec-admin status, временно снизьте уровень безопасности или добавьте разрешающие правила для sssd/pam_sss. |
Финальные рекомендации
- Кэширование учётных данных:
cache_credentials = Trueвsssd.confпозволяет входить при недоступности DC (полезно для ноутбуков). - Групповые политики: SSSD не применяет GPO. Для управления правами используйте
sssd-фильтры или скрипты входа. - Безопасность: В продакшене используйте TLS/LDAPS (
ldap_id_use_start_tls = True), отключите анонимный доступ к DC. - Резервное копирование: Сохраните
/etc/sssd/sssd.conf,/etc/krb5.conf,/etc/pam.d/до и после настройки.