IBCOURSES / СПРАВОЧНИК ИБ

28P01 — отказ парольной аутентификации

К ответу ↓

Сервер отклонил парольную аутентификацию. Начните с нужного экземпляра, пользователя и контекста подключения.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

Коды и ошибки

Найдено: 195
Инструкция по проверке

28P01 — отказ парольной аутентификации

Сервер отклонил парольную аутентификацию. Начните с нужного экземпляра, пользователя и контекста подключения.

Условия и источник

Зафиксируйте PostgreSQL 18 как документальную область, а фактическую версию и экземпляр установите из паспорта среды. Начните с клиента, адреса сервера, порта, базы и роли. Ошибка подключения к соседнему кластеру может выглядеть как неверный секрет нужного сервиса. Не воспроизводите попытки входа из этой карточки: работайте с сохранённым сообщением и разрешённой копией серверного журнала. Для Postgres Pro сверьте версию и редакцию с его документацией.

Отбор и сохранение контекста

В jsonlog выберите state_code=28P01 читающим jq из вкладки «Примеры», затем ограничьте временной диапазон и известный источник. Сохраните исходную строку рядом с результатом выборки. Если дан только клиентский текст, запросите SQLSTATE и контекст подключения у владельца данных; не превращайте любую сетевую ошибку в invalid_password. Маршрут записи зависит от log_destination и logging_collector; универсальный путь файла для всех установок не предполагается.

Как прочитать пример

Строка примера показывает FATAL для demo_app, базы demo и адреса 192.0.2.40. Это сообщение об отказе, а не открытый сеанс. Код 28P01 соответствует invalid_password; он не устанавливает, кто управлял клиентом и откуда тот получил секрет. Поля, которых нет в иллюстрации, нельзя заполнить значениями из соседней успешной сессии. Наличие известного адреса также не исключает пулер или промежуточную систему.

Последовательность проверки

Сверьте endpoint приложения с фактическим экземпляром, ролью и базой. Затем по имеющейся конфигурации установите применимое правило pg_hba.conf и метод аутентификации: порядок правил существенен, проверки идут по их условиям, а не по выбранному аналитиком названию. Из одного SQLSTATE нельзя восстановить строку конфигурации. Путь к pg_hba.conf может быть изменён. Согласуйте контекст с владельцем СУБД, сохраняя различие между диагностикой и изменением правил или секретов.

Следующий шаг и границы вывода

Сопоставьте отказы с расписанием приложения, обновлением его настроек и доступными сообщениями пула соединений. Для гипотезы подбора нужны частота, разнообразие целей, источник и нормальный профиль работы; единичный отказ этого не доказывает. Поиск выдачи ролей ведётся по иным событиям и заранее настроенному аудиту. Исправление пароля или разрешений не выполняется из этой процедуры.

Если записи нет

Разделите недоступность журнала и отсутствие строки. Проверьте экземпляр, часы, период, порог регистрации и ротацию, а также доставку в коллектор. Клиент мог обратиться к другому серверу или оборвать соединение до рассматриваемого этапа. Зафиксируйте, какие данные доступны и чего не хватает. Пустая выборка не подтверждает успешный вход; дальнейший вывод должен опираться на отдельное свидетельство результата.

Поля и область применения

ПолеЗначение
SQLSTATE / state_code28P01 — invalid_password. В jsonlog поле state_code; текст локализованного сообщения не заменяет код.
user / dbnameРоль и база попытки, когда известны; не доказательство человека за клиентом.
remote_host / remote_portКлиентский адрес/порт при наличии; за ними может находиться пулер или NAT.
timestamp / instanceВремя и точный экземпляр, к которому обращался клиент.
error_severity / messageСерверная важность и пояснение; не детекция подбора пароля.
pg_hba.conf / методФактически применимое правило и метод аутентификации требуют отдельной проверки; не выводятся из одного кода.

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Пример фрагмента jsonlog отказа аутентификации

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

{
  "timestamp": "2026-11-04 09:00:00.000 UTC",
  "user": "demo_app",
  "dbname": "demo",
  "remote_host": "192.0.2.40",
  "error_severity": "FATAL",
  "state_code": "28P01",
  "message": "password authentication failed for user \"demo_app\""
}

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

jq: чтение уже полученной JSONL-копии PostgreSQL18, без подключения к БД

jq -c 'select(.state_code == "28P01") | {timestamp,user,dbname,remote_host,state_code,message}' postgresql.jsonl

Первоисточники

Код не устанавливает человека и не охватывает все причины отказа подключения.

Связанные материалы

Как пользоваться техническим справочником

Найдите порт, код ошибки, событие или источник журнала. Уточните протокол и систему, затем сверяйте значение, поля, примеры и первоисточники. Назначение порта не определяет фактическую службу, а одна запись не доказывает инцидент.

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

Назначения портов и коды приведены по официальным реестрам. Версии, условия регистрации и ссылки на документацию указаны в карточках.

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.