Подробный гайд по astra-freeipa-client: пошаговый ввод Astra Linux в домен FreeIPA - Часть 2

Подробный гайд по astra-freeipa-client: пошаговый ввод Astra Linux в домен FreeIPA, настройка SSSD, Kerberos, диагностика и решение частых проблем.

2026.09.17                  


Подробный гайд по astra-freeipa-client: пошаговый ввод Astra Linux в домен FreeIPA - Часть 2Подробный гайд по astra-freeipa-client: пошаговый ввод Astra Linux в домен FreeIPA - Часть 2

10. Логи и диагностика

10.1. Основные логи

В зависимости от версии смотрите:

sudo less /var/log/astra-freeipa-client.log
sudo less /var/log/ipaclient-install.log
sudo less /var/log/sssd/sssd.log
sudo less /var/log/auth.log

Также могут быть полезны:

sudo journalctl -u sssd -e
sudo journalctl -xe

10.2. Логи домена в SSSD

Имя файла может включать домен:

sudo ls -l /var/log/sssd/
sudo less /var/log/sssd/sssd_CORP.EXAMPLE.log



10.3. Временное повышение детальности SSSD

Откройте:

sudo nano /etc/sssd/sssd.conf

Добавьте или измените:

debug_level = 6

Перезапустите:

sudo systemctl restart sssd

После диагностики верните уровень обратно, например:

debug_level = 2

10.4. Диагностика Kerberos

С подробным выводом:

KRB5_TRACE=/dev/stdout kinit user@CORP.EXAMPLE

Проверка текущего билета:

klist

Очистка билетов:

kdestroy

11. Типовые проблемы и решения


11.1. Команда astra-freeipa-client не найдена

Проверьте пакет:

dpkg -l | grep -i freeipa
apt-cache search freeipa

Установите:

sudo apt-get update
sudo apt-get install astra-freeipa-client

Если пакет недоступен:

sudo apt-get install freeipa-client sssd krb5-user

11.2. Не резолвится сервер или домен

Симптомы:

Failed to resolve server
Cannot find KDC for realm
LDAP lookup failed

Проверьте:

getent hosts ipa1.corp.example
cat /etc/resolv.conf
dig +short corp.example
dig +short SRV _kerberos._udp.corp.example

Решение:

  • исправить /etc/resolv.conf;
  • проверить настройки NetworkManager;
  • проверить /etc/hosts;
  • убедиться, что DNS-зона доступна;
  • проверить сетевые экраны.

11.3. Слишком большое расхождение времени

Симптомы:

Clock skew too great
Clock skew exceeds

Проверка:

date
timedatectl status
chronyc sources

Решение:

sudo timedatectl set-ntp true
sudo systemctl restart chrony
chronyc sources -v

11.4. Неправильный регистр домена или realm

FreeIPA обычно использует:

  • домен в нижнем регистре: corp.example;
  • realm в верхнем регистре: CORP.EXAMPLE.

Правильно:

--domain=corp.example
--realm=CORP.EXAMPLE

Неправильно:

--domain=CORP.EXAMPLE
--realm=corp.example

11.5. Пользователь находится, но не входит

Симптомы:

Permission denied
Authentication failure

Проверьте:

sudo tail -f /var/log/auth.log
sudo sssctl user-checks user@CORP.EXAMPLE

Возможные причины:

  • пользователь заблокирован во FreeIPA;
  • истёк срок действия пароля;
  • не настроен PAM;
  • запрещён доступ через HBAC;
  • у пользователя нет допустимого shell;
  • пользователь не входит в разрешённую группу.

Проверка пользователя на сервере:

ipa user-show username
ipa user-find username

11.6. Пользователь входит, но нет домашнего каталога

Проверьте, включён ли pam_mkhomedir.

В Debian/Astra-подобных системах:

sudo pam-auth-update

В интерфейсе включите пункт:

Create home directory during login

Если используется командный режим:

sudo pam-auth-update --enable mkhomedir

Если профиля нет, создайте файл:

sudo nano /usr/share/pam-configs/mkhomedir

Содержимое:

Name: Create home directory during login
Default: yes
Priority: 900
Session-Type: Additional
Session:
    required    pam_mkhomedir.so umask=0022 skel=/etc/skel

Затем:

sudo pam-auth-update

11.7. SSSD не запускается

Проверьте конфигурацию:

sudo sssctl config-check
sudo journalctl -u sssd -e

Проверьте права:

ls -l /etc/sssd/sssd.conf

Должно быть примерно:

-rw------- root root /etc/sssd/sssd.conf

Исправить:

sudo chown root:root /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf
sudo systemctl restart sssd

11.8. Старый кэш SSSD мешает

Очистить кэш:

sudo sss_cache -E
sudo systemctl restart sssd

Проверка:

getent passwd user@CORP.EXAMPLE

В тяжёлых случаях можно аккуратно удалить кэш:

sudo systemctl stop sssd
sudo rm -f /var/lib/sss/db/*
sudo systemctl start sssd

Делайте это только при необходимости.


11.9. Ошибка сертификата

Симптомы:

SSL certificate verify failed
unable to verify peer certificate


Проверьте:

  • системное время;
  • доступность /etc/ipa/ca.crt;
  • доступность сервера;
  • срок действия сертификата сервера;
  • корректность FQDN сервера.

Проверить сертификат можно, например:

openssl s_client -connect ipa1.corp.example:636

или:

openssl s_client -connect ipa1.corp.example:443

11.10. Вход по SSH запрещён, хотя пароль верный

Проверьте журналы:

sudo tail -f /var/log/auth.log

Во FreeIPA вход может ограничиваться правилами HBAC.

Проверка на сервере:

ipa hbactest --user=username --host=ws01.corp.example --service=sshd

Если доступ запрещён, нужно либо добавить правило доступа, либо включить подходящее правило, например, в тестовой среде:

ipa hbacrule-add-user --users=username allow_all

или проверить существующие правила:

ipa hbacrule-find
ipa hbacrule-show allow_all

11.11. Не работает sudo у доменного пользователя

Проверьте:

sudo grep sudoers /etc/nsswitch.conf

Ожидаемо наличие:

sudoers: files sss

или:

sudoers: files sss

Если нет sss, добавьте.

Также в /etc/sssd/sssd.conf должен быть провайдер:

sudo_provider = ipa

Проверка правил на сервере:

ipa sudorule-find
ipa sudorule-show rule_name

12. Пример рабочего /etc/sssd/sssd.conf

Пример типовой конфигурации для домена corp.example:

[sssd]
config_file_version = 2
domains = corp.example

[domain/corp.example]
id_provider = ipa
auth_provider = ipa
access_provider = ipa
sudo_provider = ipa
ipa_domain = corp.example
ipa_server = _srv_, ipa1.corp.example
ipa_hostname = ws01.corp.example
krb5_realm = CORP.EXAMPLE
cache_credentials = true
use_fully_qualified_names = true

После изменения:

sudo chmod 600 /etc/sssd/sssd.conf
sudo chown root:root /etc/sssd/sssd.conf
sudo systemctl restart sssd

13. Пример рабочего /etc/krb5.conf

[libdefaults]
    default_realm = CORP.EXAMPLE
    dns_lookup_realm = false
    dns_lookup_kdc = true
    rdns = false
    forwardable = true

[realms]
    CORP.EXAMPLE = {
        kdc = ipa1.corp.example
        admin_server = ipa1.corp.example
    }

[domain_realm]
    .corp.example = CORP.EXAMPLE
    corp.example = CORP.EXAMPLE

Проверка:

kinit admin@CORP.EXAMPLE
klist

14. Пример проверки /etc/nsswitch.conf

grep -E '^(passwd|group|sudoers|services|netgroup):' /etc/nsswitch.conf

Хорошо, если для passwd, group, sudoers есть sss, например:

passwd:         files systemd sss
group:          files systemd sss
sudoers:        files sss

В разных версиях набор модулей может отличаться, но sss должен присутствовать там, где нужны доменные пользователи и группы.


15. Удаление клиента и вывод из домена

Сначала выполните:

sudo astra-freeipa-client --uninstall

Если такой флаг не поддерживается, попробуйте:

sudo astra-freeipa-client --remove

или стандартный вариант:

sudo ipa-client-install --uninstall

После этого на сервере FreeIPA желательно удалить хост, если он больше не нужен:

ipa host-del ws01.corp.example

Проверка:

ipa host-find ws01.corp.example

Дополнительно можно очистить локальные артефакты, но делайте это осторожно:

sudo rm -f /etc/krb5.keytab
sudo rm -f /etc/ipa/default.conf
sudo rm -f /etc/sssd/sssd.conf

После удаления файлов перезапустите службы:

sudo systemctl restart sssd

16. Резервное копирование перед изменениями

Перед первым вводом в домен полезно сохранить текущие настройки:

sudo mkdir -p /root/astra-freeipa-backup
sudo cp -a /etc /root/astra-freeipa-backup/etc-$(date +%Y%m%d-%H%M%S)

Восстановление при неудачной настройке:

sudo rsync -a /root/astra-freeipa-backup/etc-YYYYMMDD-HHMMSS/ /etc/


Будьте осторожны: восстановление /etc целиком может затронуть сетевые настройки, пользователей и службы.


17. Если astra-freeipa-client нет, используйте ipa-client-install

Во многих системах фактически работает стандартная команда:

sudo ipa-client-install

Пример:

sudo ipa-client-install \
  --domain=corp.example \
  --realm=CORP.EXAMPLE \
  --server=ipa1.corp.example \
  --hostname=ws01.corp.example \
  --mkhomedir

Автоматический вариант:

sudo ipa-client-install \
  --domain=corp.example \
  --realm=CORP.EXAMPLE \
  --server=ipa1.corp.example \
  --hostname=ws01.corp.example \
  --principal=admin \
  --password='VeryStrongPassword' \
  --mkhomedir \
  --unattended

Удаление:

sudo ipa-client-install --uninstall

18. Короткая шпаргалка

Подготовка

sudo apt-get update
sudo apt-get install astra-freeipa-client
sudo hostnamectl set-hostname ws01.corp.example
sudo timedatectl set-ntp true

Проверка сети и DNS

getent hosts ipa1.corp.example
host -t SRV _kerberos._udp.corp.example
nc -vz ipa1.corp.example 88
nc -vz ipa1.corp.example 389

Ввод в домен

sudo astra-freeipa-client \
  --domain=corp.example \
  --realm=CORP.EXAMPLE \
  --server=ipa1.corp.example \
  --hostname=ws01.corp.example \
  --mkhomedir

Проверка

systemctl status sssd
getent passwd admin@CORP.EXAMPLE
id admin@CORP.EXAMPLE
kinit admin@CORP.EXAMPLE
klist

Логи

sudo less /var/log/astra-freeipa-client.log
sudo less /var/log/ipaclient-install.log
sudo less /var/log/sssd/sssd.log
sudo less /var/log/auth.log
sudo journalctl -u sssd -e

Удаление

sudo astra-freeipa-client --uninstall
sudo ipa-client-install --uninstall
ipa host-del ws01.corp.example

19. Минимальный чек-лист

  1. Клиент имеет FQDN.
  2. DNS корректно резолвит домен и серверы.
  3. Время синхронизировано.
  4. Порты до сервера доступны.
  5. Установлены пакеты клиента.
  6. Сделан бэкап /etc.
  7. Выполнен astra-freeipa-client.
  8. Работает sssd.
  9. getent passwd user@REALM видит пользователя.
  10. kinit user@REALM получает билет.
  11. Доменный пользователь входит в систему.
  12. Создаётся домашний каталог.
  13. Работает sudo, если нужно.
  14. На сервере виден хост: ipa host-show hostname.

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта