Защит три, и ломаются они по-разному, поэтому их стоит разделять.
Первая — список адресов, и по умолчанию он пуст. Свежий узел отвечает браузеру отказом, а не данными; руководство отдельно предупреждает об этом, потому что отказ выглядит поломкой и ею не является. Уровень задаётся диапазону строкой http-access: monitor, operator или admin, с оговоркой deny-logs для журналов.
Учётных записей нет ни одной. Уровень получает диапазон адресов, и все, кто приходит из него, — один и тот же безымянный посетитель. Диапазон уровня admin может прочитать конфигурацию, заменить лицензию, скачать файлы учёта и выполнить команду — и следа о том, кто это сделал, не останется. Уровни сужают, что можно делать, но не делают происходящее разбираемым.
Вторая — шифрование, и сертификат для него выпускается при установке, самоподписанный. Браузеры о нём предупреждают; лечится он не строкой конфигурации, а заменой файла /var/lib/pmta/webmon.pem и перезапуском монитора. Вендор называет одно конкретное последствие: Internet Explorer на Windows работает с таким сертификатом очень медленно.
Третья — не защита, а указание: монитор должен быть доступен только в локальной сети и не из интернета. Формулировка вендора — предупреждение, а не совет, и она справедлива: через монитор видны файл конфигурации, лицензия, журналы, файлы учёта, список локальных адресов и страница выполнения команд.
🔴 И это стоит проверить на парке. На узле парка порт монитора оказался доступен с произвольной машины из интернета — отказ 403 пришёл, но пришёл он после того, как соединение установилось, и в теле отказа MTA назвал путь к конфигурации, путь к журналу и строку, дающую полный доступ. Это единственная поверхность узла, где ошибка не видна и используется удалённо.
Собственных значений у механизма нет: их задают три директивы.
| Что | Чем задаётся | Умолчание |
|---|---|---|
| порт | http-mgmt-port | 8080 |
| кого пускать | http-access | никого |
| обязательно ли шифрование | http-redirect-to-https | true с версии 5.0 |
Сертификат — не директива, а файл /var/lib/pmta/webmon.pem.
# три защиты в одном месте: порт, список, обязательность шифра http-mgmt-port 1000 http-access 127.0.0.1 adminhttp-access 10.0.0.5 monitor http-redirect-to-https true
что делают не так и чем это кончается3 ошибки▶
§ 5.1
наш опыт
§ 5.1
4 связи
Кто занял портСтандартного порта у монитора нет, и 8080 на машине часто занят чем-то ещё. § 4.2.1
КонсольСтраница выполнения команд — та самая, ради которой уровень доступа приходится различать. § 5.2КонфигурацияСтраница показывает файл конфигурации целиком, вместе со всеми секретами в нём. § 5.6
Форматы ответа монитораТа же настройка на другом уровне. § 5.1Начальная страница монитораДоступ к экрану решают права и адреса, заданные на уровне узла. § 5.1ЛицензияДоступ к экрану решают права и адреса, заданные на уровне узла. § 5.1Подключить узел к консоли вендораМеханизм, к которому команда и обращается. § 6.3.33Как узел решает, впустить ли запрос по HTTPПравило допуска у трёх интерфейсов HTTP то же самое, что у самого монитора: они отвечают на одном порту. § 8.2Отдача показателей по SNMPСмежный механизм: они работают вместе. inference
curl -s -o /dev/null -w '%{http_code}\n' --connect-timeout 5 http://NODE:1000/status
3 статьи
◇Как узел решает, впустить ли запрос по HTTPДва способа представиться — уровень доступа по адресу и ключ; ключ сильнее и работает с любого адреса.◇Ключ активации — условие установки, а не шаг после неёБез ключа активации от поддержки SparkPost MTA не ставится и не работает, а уровень лицензии задаёт потолок исходящих соединений: на стандартной всё сверх 200 игнорируется.◇Ограничения облакаОблака ограничивают исходящую почту через порт 25, пока не попросишь снять лимит, а их диапазоны адресов почтовики встречают с подозрением.