Подробный гайд: Восстановление Fly, SSH, su в Astra Linux после установки Dallas Lock - Часть 1

Подробный гайд по восстановлению работы Fly, SSH и su в Astra Linux после установки СЗИ Dallas Lock. Разбор PAM, политик и сетевых фильтров.

2026.10.06                  


Подробный гайд: Восстановление Fly, SSH, su в Astra Linux после установки Dallas Lock - Часть 1Подробный гайд: Восстановление Fly, SSH, su в Astra Linux после установки Dallas Lock - Часть 1 Подробный администраторский гайд для случая, когда после установки СЗИ Dallas Lock в Astra Linux перестаёт нормально работать графическое окружение Fly, а также возникают проблемы с SSH и/или su.

Важное:

Если система аттестована/сертифицирована или находится в продуктиве, любые изменения лучше согласовать со службой ИБ и выполнять только при наличии консольного/аварийного доступа. Дальше я буду исходить из того, что у вас есть права администратора или доступ через recovery.




1. Что обычно ломается после установки СЗИ и почему

Чаще всего проблемы появляются не «просто из-за факта установки», а из-за того, что СЗИ вмешивается в одну или несколько зон:

1. PAM (/etc/pam.d/*, /etc/security/*, /usr/share/pam-configs/*)

  • добавляются собственные модули;
  • меняется порядок модулей;
  • включаются ограничения: pam_access, pam_wheel, pam_faillock, pam_exec, pam_time, pam_limits;
  • модуль СЗИ падает или возвращает отказ.

2. Учётные записи и парольная политика

  • блокировка после нескольких неудачных попыток;
  • истёкший пароль;
  • принудительная смена пароля;
  • истёк срок действия учётной записи;
  • пользователь не состоит в нужной группе.

3. SSH-доступ

  • изменения в /etc/ssh/sshd_config и /etc/ssh/sshd_config.d/*;
  • запрет PasswordAuthentication, PermitRootLogin, AllowUsers/AllowGroups;
  • требования двухфакторной аутентификации;
  • сетевой фильтр/файрвол СЗИ;
  • блокировка 22/tcp;
  • TCP Wrappers, fail2ban, OpenSSH per-source penalties;
  • проблемы с ключами, правами, authorized_keys, StrictModes.

4. su

  • изменён /etc/pam.d/su;
  • отсутствует или смещён auth sufficient pam_rootok.so;
  • включён pam_wheel.so;
  • у /bin/su снят setuid;
  • файловая система смонтирована с nosuid;
  • блокировка запуска su политикой приложений.

5. Графическая среда Fly

  • дисплейный менеджер не стартует;
  • изменён default-display-manager;
  • сломаны сессионные скрипты /etc/X11/Xsession.d/*;
  • проблемы с dbus, systemd-logind, pam_systemd, XDG_RUNTIME_DIR;
  • блокировка исполняемых файлов Fly со стороны СЗИ, AppArmor, PARSEC или механизма контроля приложений;
  • некорректные переменные окружения: LD_PRELOAD, LD_LIBRARY_PATH, GTK_MODULES, QT_QPA_PLATFORM;
  • отсутствие нужных пакетов или зависимостей.

6. Мандатный контроль / MAC / целостность

  • в Astra Linux особенно важно: метки, уровни доступа, политика выполнения, целостность;
  • если бинарники, библиотеки, конфиги или домашние каталоги получили несовместимые метки, доступ может блокироваться.

7. Ресурсы и журналы

  • /, /var, /var/log, /tmp забиты;
  • audit/журналы СЗИ переполнили диск;
  • нехватка inodes;
  • ограничения limits.conf: мало nofile, nproc, maxlogins.

2. Когда именно это обычно проявляется

Типовые моменты:

  • сразу после установки и перезагрузки;
  • после применения политики СЗИ;
  • после импорта правил централизованного управления;
  • после обновления пакетов, когда хэши/пути изменились, а политика СЗИ осталась старой;
  • после обновления ядра, если модуль СЗИ несовместим;
  • после смены парольной политики, когда старые пароли стали недействительны;
  • после включения контроля приложений, который запретил sshd, su, fly, Xorg, dbus;
  • после включения сетевого фильтра, который закрыл порт 22;
  • после блокировки учёток из-за нескольких неудачных попыток;
  • после изменения дисплейного менеджера или сессий X11.

Если у вас «просто после установки СЗИ перестали работать Fly и SSH/su», в 80% случаев искать надо в:

  • /var/log/auth.log;
  • /etc/pam.d/*;
  • /etc/ssh/sshd_config*;
  • /etc/security/*;
  • логах дисплейного менеджера и ~/.xsession-errors.

3. Первое правило: убедитесь, что у вас есть аварийный доступ

Если SSH не работает, а su тоже не работает, важно понять, есть ли хотя бы один из следующих доступов:

  1. Консольный вход под локальным администратором.
  2. Рабочий sudo -i у администратора.
  3. Доступ через KVM / IPMI / iLO / консоль виртуальной машины.
  4. Загрузка в recovery / single-user / init=/bin/bash.
  5. Live-носитель с chroot, если система зашифрована и вы знаете ключи.

Если работает только один удалённый SSH-сеанс и вы собираетесь править сервисы, будьте осторожны:



  • не перезагружайте систему без уверенности, что сможете войти консольно;
  • не делайте systemctl restart ssh, если не уверены в конфигурации и нет второго канала доступа;
  • лучше держать открытым второй терминал или использовать консоль.

4. Быстрая диагностика: 10 шагов

Выполняйте от имени администратора. Если чего-то нет в системе — пропускайте.

4.1. Версии и пакеты

cat /etc/os-release
uname -r
dpkg -l | grep -Ei 'dallas|dlk|lock|fly|openssh|libpam|xserver|dbus'

Важно понять:

  • какая редакция и версия Astra Linux;
  • установлены ли пакеты Fly;
  • какая версия Dallas Lock;
  • не были ли удалены зависимости.

4.2. Состояние служб

systemctl --failed --no-pager
systemctl status ssh sshd display-manager --no-pager || true
systemctl list-units --all --no-pager | grep -Ei 'dallas|dlk|lock'
systemctl list-unit-files | grep -Ei 'ssh|display-manager|dallas|dlk|lock'

Обратите внимание:

  • не находится ли ssh/sshd в состоянии failed или masked;
  • не отключён ли display-manager;
  • не падает ли служба самой СЗИ.

4.3. Проверка sshd

/usr/sbin/sshd -t
ss -ltnp | grep ':22'

Если sshd -t выдаёт ошибку — сначала чиним конфигурацию /etc/ssh/sshd_config.

Если порт 22 не слушается:

  • служба не запущена;
  • изменён порт;
  • используется ssh.socket;
  • конфликт порта;
  • служба запрещена политикой.

4.4. Журналы аутентификации

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

tail -n 200 /var/log/auth.log
journalctl -b -p warning..err --no-pager | tail -n 200
journalctl -u ssh -u sshd -u display-manager -b --no-pager | tail -n 200

Ищите строки:

pam_unix
authentication failure
account expired
account locked
permission denied
cannot open session
module is unknown
unable to dlopen
denied
blocked
no such user
session opened/closed

4.5. Что изменилось после установки

Ищем файлы, изменённые за последние дни:

find /etc/pam.d /usr/share/pam-configs /etc/security /etc/ssh /etc/X11 /etc/profile.d /etc/systemd/system -xdev -type f -newermt "$(date -d '-3 days' +%Y-%m-%d)" -printf '%TY-%Tm-%Td %TH:%TM %p\n' 2>/dev/null | sort

Ищем следы СЗИ:

grep -R -Ei 'dallas|dlk' \
  /etc/pam.d \
  /usr/share/pam-configs \
  /etc/security \
  /etc/ssh/sshd_config.d \
  /etc/profile.d \
  /etc/X11/Xsession.d \
  /etc/systemd/system \
  /etc/environment \
  2>/dev/null

4.6. Проверка конкретного пользователя

Замените username на нужного пользователя.

U=username

id "$U"
getent passwd "$U"
getent shadow "$U" 2>/dev/null | awk -F: '{print "shadow flag first char:", substr($2,1,1)}'
passwd -S "$U" || true
chage -l "$U"
faillock --user "$U" 2>/dev/null || pam_tally2 --user "$U" 2>/dev/null || true

Что смотреть:

  • пользователь существует;
  • пароль не заблокирован;
  • пароль не истёк;
  • учётная запись не просрочена;
  • нет счётчика блокировок после неудачных попыток.

4.7. Проверка su

grep -n 'pam_rootok' /etc/pam.d/su
grep -n 'pam_wheel' /etc/pam.d/su
ls -l /bin/su /usr/bin/su 2>/dev/null
SU_BIN=$(readlink -f "$(command -v su 2>/dev/null || echo /bin/su)")
ls -l "$SU_BIN"
stat -c '%a %U %G %n' "$SU_BIN"
findmnt -no OPTIONS / /usr /home 2>/dev/null

Признаки проблем:

  • нет auth sufficient pam_rootok.so в /etc/pam.d/su;
  • включён pam_wheel.so, а пользователь не в wheel;
  • на /bin/su нет setuid;
  • / или /usr смонтированы с nosuid.

4.8. Проверка PAM

grep -nE 'pam_(unix|deny|permit|securetty|nologin|access|wheel|succeed_if|listfile|exec|systemd|loginuid|limits|env|dallas|dlk)' \
  /etc/pam.d/common-auth \
  /etc/pam.d/common-account \
  /etc/pam.d/common-session \
  /etc/pam.d/common-session-noninteractive \
  /etc/pam.d/sshd \
  /etc/pam.d/su \
  /etc/pam.d/login \
  2>/dev/null


Проверка наличия модулей:

find /lib/*/security /usr/lib/*/security -iname '*dallas*' -o -iname '*dlk*' 2>/dev/null
for f in /lib/*/security/pam_*.so; do
  ldd "$f" 2>/dev/null | grep -i 'not found' && echo "Problem with: $f"
done

4.9. Проверка дисплейного менеджера и Fly

systemctl get-default
systemctl status display-manager --no-pager || true
cat /etc/X11/default-display-manager 2>/dev/null
ls -l /usr/share/xsessions/
grep -E 'Exec|TryExec' /usr/share/xsessions/*.desktop 2>/dev/null
journalctl -u display-manager -b --no-pager | tail -n 150

Логи пользователя:

tail -n 200 ~/.xsession-errors 2>/dev/null
journalctl _UID=$(id -u username) -b --no-pager | tail -n 200

4.10. Диски, память, load

df -h / /var /var/log /tmp /home
df -i / /var /home
free -h
uptime
dmesg -T | grep -Ei 'oom|out of memory|read-only|I/O error' | tail -n 50

Если / или /var забиты, аутентификация и графика могут вести себя очень странно.


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


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

Комментарии

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