Диагностика¶
Эта страница — указатель, а не третий пересказ. У каждого раздела по цели есть свой «если не работает», написанный рядом с настройкой, которую надо проверить. Здесь — куда идти с конкретным симптомом и что делать, когда симптом ни в один раздел не укладывается.
Куда идти с симптомом¶
Вход по SSH¶
| Что вы видите | Где разобрано |
|---|---|
Permission denied (publickey), а в журнале Alatyr нет ни одного обращения к /keyholder/keys |
SSH → Если вход не проходит |
Keyholder отвечает {"keys": []} — пустой список |
SSH → Если вход не проходит |
Keyholder отвечает 403 |
SSH → Разрешите вашему серверу спрашивать Alatyr |
| Окно агента: «Сервер отказал в регистрации ключа» — личность не подтверждена | SSH → principal не доказывает личность |
| Ключ у сотрудника не появляется вовсе | SSH → Если ключ не появляется |
| Доступ отозвали, а сотрудник продолжает входить | SSH → Отзыв доступа |
| Сервер Alatyr недоступен — и вход перестал проходить | SSH → Вход зависит от доступности Alatyr |
| На сервере уже настроен FreeIPA или другой источник ключей | Совмещение с FreeIPA |
mTLS пользователя и приёмники сертификатов¶
| Что вы видите | Где разобрано |
|---|---|
Приложение отвечает 400 всем, включая сотрудника с годным сертификатом |
mTLS → Если вход не проходит |
Приложение пускает сертификат машины (wifi) как пользовательский |
mTLS → Общий удостоверяющий центр сводит защиту к нулю |
| Сертификат отозван, а приложение по нему пускает | mTLS → Три правила для списка отзыва |
| Настраиваете haproxy, nginx или OpenVPN и не уверены, что конфигурация рабочая | Приёмники сертификатов |
Доступ к Kubernetes¶
| Что вы видите | Где разобрано |
|---|---|
no broker address has reached this device или no clusters are registered for this device |
Kubernetes → Если доступ не работает |
| Выдача отказывает со ссылкой на подтверждение человеком — спросить на этой машине негде (macOS, хост без графического сеанса) | Kubernetes → Подтверждение человеком |
| Кластер говорит «сертификат истёк или ещё не действует», а выдан он секунды назад | Kubernetes → Если доступ не работает |
kubectl не видит ни одного кластера |
Kubernetes → Пустой реестр означает отсутствие доступа |
Wi-Fi и проводной 802.1X¶
| Что вы видите | Где разобрано |
|---|---|
| Сертификат выдан, а устройство к сети не подключается | Wi-Fi → Если подключение не проходит |
| Сертификат отозван, а устройство остаётся в сети | Wi-Fi → Отзыв доходит до сети только через ваш RADIUS |
| Настраиваете FreeRADIUS или NPS | Сторона RADIUS |
Вход в домен по смарт-карте¶
| Что вы видите | Где разобрано |
|---|---|
| Плитка входа по карте не появляется или вход отклоняется | Карта → Если вход не проходит |
| Карта не доходит до сеанса RDP | Вход по RDP |
| Сертификат нельзя отозвать через Alatyr | Карта → Пределы и нюансы |
Сервер Alatyr¶
| Что вы видите | Где разобрано |
|---|---|
Сервер не стартует: configuration error: ... |
ниже, «Ошибки валидации конфигурации» |
Вебхуки не доходят, записи копятся в pending |
Эксплуатация → Мониторинг webhook-очереди |
Заявки висят в ca_pending |
Эксплуатация → Очередь async-SCEP |
| Отзыв прошёл, а на стороне внешнего УЦ сертификат действует | Известные ограничения → SCEP |
| Странное поведение при нескольких репликах сервера | Отказоустойчивость (HA) |
Общие инструменты¶
Когда симптом не попал ни в одну строку выше, порядок такой.
1. request_id и serial¶
Каждый HTTP-ответ несёт заголовок X-Request-ID; сервер связывает им все
свои структурные лог-строки одного запроса, а полем serial — все строки,
касающиеся конкретного устройства, поперёк запросов. Формат и способ
поиска — Логирование.
2. Журналы агента — их два, а не один¶
Машинная и пользовательская половины агента пишут в разные файлы. Симптом «цель не выдаётся» обычно живёт в пользовательском журнале, а открывают чаще машинный. Пути по платформам — Логирование.
3. Аудит-лог¶
GET /api/v1/audit — персистентный журнал административных действий
(approve/reject/revoke, изменение ролей), отдельный от структурных логов.
Он отвечает на вопрос «кто это сделал», а не «что сломалось». См.
Администрирование.
4. Ошибки валидации конфигурации при старте¶
Сервер отказывается стартовать (configuration error: ...) с конкретным
списком проблем, если обязательные переменные не заданы или заданы
некорректно — например ALATYR_DB_URL is not set,
ALATYR_WEBHOOK_ENC_KEY must decode to exactly 32 bytes of hex (64 hex
chars) when ALATYR_WEBHOOKS_ENABLED=true, ALATYR_SCEP_URL is required when
ALATYR_ISSUER=scep. Сообщение всегда называет конкретную переменную и
условие — читайте его буквально, это не generic-ошибка. См.
Конфигурация.
5. Метрики¶
GET /metrics отвечает на вопросы «растёт ли доля ошибок» и «не молчит ли
запись аудита» без похода в логи. Список метрик —
Эксплуатация.
Чего на этой странице нет¶
- Ограничения продукта — то, что не сломалось, а так устроено: Известные ограничения.
- Поведение при нескольких репликах — Отказоустойчивость (HA).
- Устройство реестра SSH-ключей и Keyholder API — Реестр ключей и Keyholder API.