Журналы

критично

Logs Display
Файлы узла через браузер

Перечисляет файлы журнала и учёта, доступные сейчас, со ссылками на скачивание.

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

Закрыть файлы, оставив монитор, можно оговоркой deny-logs у уровня monitor в http-access.

Для программы — перечень /logs?format=json и файл по имени /getFile?file=….

Главная ловушка — выдать уровень monitor «только посмотреть очереди». Без оговорки deny-logs он открывает и эту страницу: вместе с очередями адрес получает журналы и учёт — получателей и тексты отказов.
Что делает Хаб. Страницей не пользуется: события учёта приходят в Хаб потоком через вебхук, а сводки «Статистики учёта» он считает на самом узле по SSH. Своим адресам в http-access Хаб выдаёт уровень monitor без deny-logs, так что эта страница им формально открыта.
Рекомендуемые значения

На какой вопрос отвечает страница:

Вопрос Она ли
какие журналы и файлы учёта есть да
скачать файл без захода на машину да
что было с письмами вчера да — файлом учёта, пока он не удалён
Состав страницы, скачивание и оговорка deny-logs — из руководства (§ 5.11, § 3.3.1.58.3). Вывод про утечку — наш.
Пример в конфигурации
# закрыть файлы адресу, которому нужен только монитор
http-access 10.0.0.0/8 monitor,deny-logs
Оговорка пишется через запятую сразу после уровня; остальные страницы монитора этому адресу остаются доступны.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверить, открыты ли файлы адресу запроса:
grep -n 'http-access' /etc/pmta/config
curl -s -o /dev/null -w "%{http_code}\n" 'http://127.0.0.1:8080/logs?format=json'
Код 403 на перечень при открытом мониторе — у адреса стоит deny-logs.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Разобрать зависшую очередь · Собрать телеметрию
Важность
критично