Протокол ЛР-3. Аудит действий пользователей PostgreSQL

ФИО: __________________________________________   Группа: ИБ-41

Стенд: s____   Дата: 08.10.2026

1. Идентичность и временной интервал

ПараметрЗначение
lab03_started_at
current_user
current_database()
lab03_finished_at

2. Разрешённые операции

ДействиеОбъектФактический результат
SELECTtransport.bookings
SELECTtransport.payments

Краткая фиксация результата / 1–2 строки:

3. Отрицательные проверки

ДействиеОбъектОжидаемоФактический результат
UPDATE с WHERE falsetransport.bookingspermission denied
DELETE с WHERE falsetransport.paymentspermission denied

4. Прогноз событий DB audit

Заполнить до демонстрации преподавателя.

ДействиеОжидаемый результатЧто должно быть видно в DB audit
SELECT bookings
SELECT payments
UPDATE bookings
DELETE payments

5. Результат демонстрации преподавателя

ПризнакНаблюдение
Экземпляр sNN
DB user
SELECT / command tag
Объект bookings
Показанный query_id SELECT bookings
Объект payments
Показанный query_id SELECT payments
Событие permission denied
Изоляция между экземплярами

query_id — идентификатор нормализованного запроса / его структуры, а не уникальный идентификатор конкретного выполнения. Для корреляции конкретного события используются также время, DB user, экземпляр и другие признаки аудита. Показанный номер — fingerprint штатного smoke, не обязательно тот же, что у SELECT в Adminer, если текст запроса другой. Число может быть отрицательным (знаковый int64); минус не означает ошибку. Если изоляция не выполнялась, не пишите «утечки нет».

Пароль, полный SQL и Query Text сюда не копировать. Raw-журналы студенту не выдаются.

6. Gateway diagnostic log и PostgreSQL DB audit

ПризнакGateway diagnostic logPostgreSQL DB audit
Уровень
Основные поля
Видимость объекта БД
Идентификатор события
Способ корреляции

Почему один только HTTP-журнал не доказывает, какая таблица была затронута внутри СУБД?

7. Контрольные вопросы

1. Чем DB audit отличается от HTTP access log?

2. Что показывает command_tag?

3. Для чего нужен query_id (это не уникальный идентификатор одного выполнения)?

4. Почему permission denied является полезным событием аудита?

5. Почему аудит не заменяет RBAC?

6. Почему текущий учебный контур нельзя называть SIEM/DAM/pgaudit?

8. Вывод

Пароль от стенда в протокол не включать.

Вернуться к инструкции ЛР-3