Подробный пошаговый гайд по вводу Astra Linux в домен на базе Alt Server 11

Интеграция Astra Linux с доменом Alt Server 11 (Samba AD DC). Настройка realmd, SSSD, Kerberos для аутентификации пользователей.

2026.05.04                  


Подробный пошаговый гайд по вводу Astra Linux в домен на базе Alt Server 11Подробный пошаговый гайд по вводу 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.

Требования

  1. Доступ к домену: учётная запись с правами администратора домена Alt Server 11.
  2. Сеть: Astra Linux должна видеть контроллер домена по DNS и иметь открытые порты: 53, 88, 135, 139, 389, 445, 464, 636, 1024-65535 (RPC).
  3. Репозитории: подключены стандартные репозитории 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 standard
2. Добавить правила в parsec для /usr/sbin/sssd, /lib/security/pam_sss.so
3. Либо использовать штатный инструмент 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.

Финальные рекомендации

  1. Кэширование учётных данных: cache_credentials = True в sssd.conf позволяет входить при недоступности DC (полезно для ноутбуков).
  2. Групповые политики: SSSD не применяет GPO. Для управления правами используйте sssd-фильтры или скрипты входа.
  3. Безопасность: В продакшене используйте TLS/LDAPS (ldap_id_use_start_tls = True), отключите анонимный доступ к DC.
  4. Резервное копирование: Сохраните /etc/sssd/sssd.conf, /etc/krb5.conf, /etc/pam.d/ до и после настройки.