Безопасность и TLS

записей в теме: 124
http-accessGlobalкритичноХаб задаёт самДирективаСписок адресов и уровней доступа к управляющему интерфейсу; по умолчанию закрыт всем.http-api-keyGlobalкритичноХаб задаёт самДирективаКлюч в заголовке X-API-Key даёт права администратора с любого адреса; строка повторяется.process-x-dkim-key<source>критичноДирективаРазрешение источнику: с ним MTA берёт приватный ключ прямо из заголовка X-DKIM-Key, подписывает им и снимает заголовок; без него ключ уезжает получателю.retain-x-dkim-key<source>критичноДирективаЕдинственная директива блока источника, у которой руководство пишет предупреждение жирным: с true приватный ключ уезжает получателю.run-as-rootGlobalкритичноДирективаДля работы от непривилегированного пользователя должно быть false; смена требует перезапуска.smtp-service<source>критичноХаб задаёт самДирективаВыключение закрывает подачу для источника, не трогая остальных.access-token<vault>ДирективаТокен авторизации Vault; создаётся вручную на стороне хранилища и нужен почти всему, что через хранилище работает.allow-starttls<source>Хаб задаёт самДирективаРазрешение объявлять STARTTLS клиентам этого источника; умолчание — не разрешать, и тогда подача идёт открытым текстом.allow-unencrypted-plain-auth<source>Хаб задаёт самДирективаМеханизм PLAIN передаёт пароль почти открытым текстом; строка решает, допускать ли его без шифрования. Умолчание — не допускать.allowed-sender-lists<source>ДирективаНазывает списки адресов, против которых сверяются MAIL FROM и адрес отправителя из письма; не прошедшее письмо отвергается на подаче.api-key<transmissions-api>ДирективаСтрока объявляет ключ, который приложение передаёт в заголовке Authorization; директиву повторяют, чтобы завести несколько ключей.authentication-method<smtp-user>ДирективаПять способов — пароль, свой сертификат, сертификат от доверенного центра, системная учётная запись Linux и LDAP через хранилище; умолчание — пароль.http-csrf-protectionGlobalДирективаЗапрещает менять состояние узла запросом GET и требует у POST ключ или признак сессии; включена по умолчанию.openssl-security-levelGlobalДирективаЧисло от 0 до 5, ниже которого OpenSSL отказывается работать с ключами, сертификатами и версиями протокола; по умолчанию 1.password<smtp-user>Хаб задаёт самДирективаЗадаёт пароль для парольного входа; хранится в конфигурации открытым текстом, потому что иначе не поддержать все механизмы SASL.privacy-policy<acct-file>ДирективаЗаменяет левую часть адреса заглушкой или хешем; умолчание — оставлять как есть.require-auth<source>Хаб задаёт самДирективаС true MTA не принимает от источника ни одного письма, пока отправитель не вошёл — включая подачу с самой машины.require-starttls<domain>Хаб задаёт самДирективаС этой строкой узел обрывает соединение вместо отправки открытым текстом; умолчание — отправить.require-starttls-before-auth<source>ДирективаС этой строкой клиент обязан выполнить STARTTLS до команды авторизации; умолчание — не требовать, и тогда пароль может уйти открытым текстом.smtp-max-auth-failure-rate<source>Хаб задаёт самДирективаПосле названного числа неудачных попыток MTA перестаёт принимать вход с источника до конца периода; умолчание не ограничивает ничего.smtp-server-tls-certificateGlobalХаб задаёт самДирективаСертификат X.509 в формате PEM — из файла или из хранилища секретов; пароль к закрытому ключу необязателен и тоже может лежать в хранилище.smtp-tls-min-version<domain>ДирективаСамая старая версия протокола, которую узел готов согласовать при отправке; умолчание — TLS 1.1.tls-certificate<smtp-listener>ДирективаСертификат и пароль к ключу для соединений именно этого адреса и порта; наследуется от сертификата узла.use-dane<domain>ДирективаУзел читает записи DANE получателя, требует шифрования, если тот его требует, и сверяет сертификат по отпечатку из DNS; умолчание — выключено.use-mta-sts<domain>Хаб задаёт самДирективаУзел забирает политику получателя и, если она в режиме принуждения, доставляет только при совпадении MX, шифровании и проверенном сертификате; умолчание — выключено.use-starttls<domain>Хаб задаёт самДирективаВключает STARTTLS, если приёмник его предлагает; умолчание — включено.api-key<signals>ДирективаРовно сорок шестнадцатеричных знаков; без него узел не запустится вовсе.auth-password<domain>ДирективаВторая половина пары; знак решётки в нём недопустим — MTA считает его началом комментария.cache-ttl<vault>ДирективаВремя, после которого полученный из Vault ключ запрашивается заново; отсутствие ключа кэшируется на час всегда, независимо от этой строки.hide-message-source<source>ДирективаУбирает из добавляемого заголовка Received имя и адрес того, кто подал письмо; сам заголовок остаётся.http-redirect-to-httpsGlobalХаб задаёт самДирективаСо значением true монитор принимает только https и перенаправляет обычные соединения; умолчание true с версии 5.0.http-tls-min-versionGlobalДирективаСамая старая версия протокола, которую согласует управляющий интерфейс узла; по умолчанию TLS 1.2.immediate-tls<smtp-listener>ДирективаВместо STARTTLS узел начинает шифрование сразу, как только соединение принято; это отдельный способ подачи, обычно на порту 465.log-file-world-readableGlobalДирективаДаёт всем пользователям узла право читать журналы MTA; по умолчанию нет.require-starttls<source>ДирективаС этой строкой клиент обязан выполнить STARTTLS раньше всего, кроме приветствия и служебных команд; умолчание — не требовать.server-url<vault>ДирективаИмя или адрес сервера Vault и, при необходимости, порт; схема http или https.smtp-client-certificate<domain>ДирективаКлиентский сертификат, который узел показывает приёмнику при исходящем соединении; пароль к нему задаётся вторым словом и необязателен.smtp-server-tls-min-versionGlobalДирективаСамая старая версия протокола, которую узел готов принять от подающего клиента; умолчание — TLS 1.2, строже, чем на отправке.smtp-tls-ca-file<domain>ДирективаФайл с корневыми сертификатами, по которым проверяется цепочка, предъявленная приёмником; по умолчанию берётся список из поставки.tls-ca-file<smtp-user>ДирективаОдин или несколько файлов с цепочками; подойдёт любой клиентский сертификат, сходящийся хотя бы к одной из них.tls-certificate<smtp-user>ДирективаФайл сертификата, который подающий обязан предъявить; работает при способе проверки «сертификат» и требует шифрованного соединения.tls-certificate<transmissions-api-listener>ДирективаФайл с сертификатом X.509 и закрытым ключом для входа HTTP API; может браться из хранилища секретов.tls-certificate-san-or-cn<smtp-user>ДирективаПолное доменное имя, которому обязано соответствовать SAN или CN клиентского сертификата; работает поверх проверки цепочки.tls-min-version<smtp-listener>ДирективаСамая старая версия протокола, принимаемая на этом адресе и порту; умолчание — TLS 1.2, как и у узла.tls-min-version<transmissions-api-listener>ДирективаСамая старая версия протокола, принимаемая на этом входе HTTP API; по умолчанию TLS 1.2.use-unencrypted-plain-auth<domain>ДирективаОба механизма передают пароль в разговоре; без шифрования он идёт по сети открытым.world-readable<acct-file>ДирективаДаёт всем пользователям узла право читать новые файлы учёта; по умолчанию нет.reuse-ssl-session<domain>Хаб задаёт самДирективаУскоряет повторное рукопожатие с тем же узлом; не работает на TLS 1.3 и поддерживается, по руководству, лишь одним известным приёмником.smtp-server-tls-ca-fileGlobalДирективаФайл с корневыми сертификатами, по которым проверяются сертификаты, предъявленные клиентами на входящих соединениях.smtp-server-tls-cipher-server-preferenceGlobalДирективаС этой строкой шифр выбирается по порядку из нашей конфигурации, а не по порядку клиента; умолчание — по клиенту.smtp-server-tls-ciphersGlobalДирективаСписок допустимых шифров в записи OpenSSL для входящих соединений; действует на версии по TLS 1.2, у 1.3 свой список.smtp-server-tls-max-versionGlobalДирективаСамая новая версия протокола, которую узел готов принять от подающего клиента; по умолчанию не ограничена.tls-ca-file<smtp-listener>ДирективаСписок корневых сертификатов для проверки клиентов на этом входе; наследования от списка узла руководство не обещает.tls-ca-file<transmissions-api-listener>ДирективаПуть к файлу PEM с сертификатами центров, по которым вход проверяет сертификат подающего клиента.tls-cipher-server-preference<smtp-listener>ДирективаС этой строкой шифр выбирается по нашему порядку, а не по порядку клиента; умолчание — по клиенту.tls-cipher-server-preference<transmissions-api-listener>ДирективаПереключатель: брать шифр по порядку списка узла, а не по предпочтению клиента; по умолчанию выключен.tls-ciphers<smtp-listener>ДирективаСписок допустимых шифров в записи OpenSSL для соединений этого входа; действует по TLS 1.2 включительно.tls-ciphers<transmissions-api-listener>ДирективаСписок допустимых шифров в записи OpenSSL для входа HTTP API; действует по TLS 1.2 включительно.tls-max-version<smtp-listener>ДирективаСамая новая версия протокола, принимаемая на этом адресе и порту; по умолчанию не ограничена.tls-max-version<transmissions-api-listener>ДирективаСамая новая версия протокола, принимаемая на этом входе HTTP API; по умолчанию не ограничена.tls-v1.3-ciphersuites<smtp-listener>ДирективаОтдельный список для версии 1.3 на этом входе; умолчание перечисляет пять современных наборов.tls-v1.3-ciphersuites<transmissions-api-listener>ДирективаСписок наборов TLS 1.3 через двоеточие для входа HTTP API; по умолчанию все пять.use-https<signals>ДирективаДелает вставленные ссылки шифрованными; требует своей области отслеживания с сертификатом; по умолчанию выключено.api-key<inline-seeding>ДирективаРовно сорок шестнадцатеричных знаков; без него засеивание не работает вовсе.broken-auth-clients<source>устарелаДирективаОдна из двух директив каталога, о которых руководство не говорит ничего, кроме слова «устарела».http-mgmt-sourceGlobalустарелаДирективаЗаменена директивой http-access, которая делает то же самое и вдобавок различает уровни доступа.http-strict-transport-security-max-ageGlobalДирективаЗначение max-age в заголовке Strict-Transport-Security ответов монитора; умолчание 0 — то есть не помнить.http-tls-allow-sslv3GlobalустарелаДирективаPowerMTA больше не поддерживает SSLv3; строка сохранена только ради совместимости конфигураций.http-tls-allow-tlsv1GlobalустарелаДирективаОтдельный переключатель для одной версии протокола у управляющего интерфейса; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.http-tls-allow-tlsv1.1GlobalустарелаДирективаОтдельный переключатель для одной версии протокола у управляющего интерфейса; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.http-tls-allow-tlsv1.2GlobalустарелаДирективаОтдельный переключатель для одной версии протокола у управляющего интерфейса; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.http-tls-allow-tlsv1.3GlobalустарелаДирективаОтдельный переключатель для одной версии протокола у управляющего интерфейса; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.http-tls-ca-fileGlobalДирективаПуть к файлу PEM с сертификатами центров, по которым монитор проверяет сертификат пришедшего клиента.http-tls-cipher-server-preferenceGlobalДирективаПереключатель: брать шифр по порядку списка узла, а не по предпочтению клиента; по умолчанию выключен.http-tls-ciphersGlobalДирективаСписок допустимых шифров в записи OpenSSL для управляющего интерфейса; действует по TLS 1.2 включительно.http-tls-max-versionGlobalДирективаСамая новая версия протокола, которую согласует управляющий интерфейс; по умолчанию не ограничена.http-tls-request-client-certificateGlobalДирективаПереключатель запроса клиентского сертификата в рукопожатии; включён по умолчанию.http-tls-v1.3-ciphersuitesGlobalДирективаСписок наборов TLS 1.3 через двоеточие для управляющего интерфейса; по умолчанию все пять.log-tls<domain>ДирективаПодробности согласования шифрования с приёмником в журнал узла; умолчание — не записывать.no-http-mgmt-sourceGlobalустарелаДирективаОтрицательная половина прежней пары; заменена строкой http-access с уровнем none.smtp-server-tls-allow-sslv3GlobalустарелаДирективаPowerMTA больше не поддерживает SSLv3; строка сохранена только ради совместимости конфигураций.smtp-server-tls-allow-tlsv1GlobalустарелаДирективаОтдельный переключатель для одной версии протокола на приёме; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-server-tls-allow-tlsv1.1GlobalустарелаДирективаОтдельный переключатель для одной версии протокола на приёме; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-server-tls-allow-tlsv1.2GlobalустарелаДирективаОтдельный переключатель для одной версии протокола на приёме; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-server-tls-allow-tlsv1.3GlobalустарелаДирективаОтдельный переключатель для одной версии протокола на приёме; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-server-tls-v1.3-ciphersuitesGlobalДирективаОтдельный список для версии 1.3 на входящих соединениях; умолчание перечисляет пять современных наборов.smtp-tls-allow-sslv3<domain>устарелаДирективаPowerMTA больше не поддерживает SSLv3; строка сохранена только ради совместимости конфигураций.smtp-tls-allow-tlsv1<domain>устарелаДирективаОтдельный переключатель для одной версии протокола; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-tls-allow-tlsv1.1<domain>устарелаДирективаОтдельный переключатель для одной версии протокола; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-tls-allow-tlsv1.2<domain>устарелаДирективаОтдельный переключатель для одной версии протокола; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-tls-allow-tlsv1.3<domain>устарелаДирективаОтдельный переключатель для одной версии протокола; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ диапазона.smtp-tls-ciphers<domain>ДирективаСписок допустимых шифров в записи OpenSSL; действует на версии по TLS 1.2, для 1.3 есть отдельная строка.smtp-tls-max-version<domain>ДирективаСамая новая версия протокола, которую узел готов согласовать при отправке; по умолчанию не ограничена.smtp-tls-v1.3-ciphersuites<domain>ДирективаОтдельный список для версии 1.3 — у неё наборы устроены иначе, чем у предыдущих версий.tls-allow-sslv3<smtp-listener>устарелаДирективаPowerMTA больше не поддерживает SSLv3; строка сохранена только ради совместимости конфигураций.tls-allow-sslv3<transmissions-api-listener>устарелаДирективаPowerMTA больше не поддерживает SSLv3; строка сохранена только ради совместимости конфигураций.tls-allow-tlsv1<smtp-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у слушателя; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.tls-allow-tlsv1<transmissions-api-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у входа HTTP API; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.tls-allow-tlsv1.1<smtp-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у слушателя; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.tls-allow-tlsv1.1<transmissions-api-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у входа HTTP API; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.tls-allow-tlsv1.2<smtp-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у слушателя; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.tls-allow-tlsv1.2<transmissions-api-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у входа HTTP API; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.tls-allow-tlsv1.3<smtp-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у слушателя; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.tls-allow-tlsv1.3<transmissions-api-listener>устарелаДирективаОтдельный переключатель для одной версии протокола у входа HTTP API; объявлен устаревшим в PowerMTA 5.5 в пользу пары границ.Как узел решает, впустить ли запрос по HTTPкритичноМеханизмДва способа представиться — уровень доступа по адресу и ключ; ключ сильнее и работает с любого адреса.Приёмник объявляет требование шифрования в своей зоне DNSМеханизмУзел смотрит записи DANE получателя и, если тот требует STARTTLS, отправляет только по зашифрованному каналу с проверенным по отпечатку сертификатом.Логины подачи, пароли открытым текстом и настройки на каждогоМеханизмОтправитель входит одним из трёх способов; каждый логин — блок конфигурации с паролем в открытом виде, и именованный источник этого логина перекрывает то, что дал бы его адрес.Приёмник объявляет требование шифрования на своём сайтеМеханизмУзел забирает политику получателя по HTTPS и, если та в режиме принуждения, доставляет только при совпадении MX, шифровании и проверенном сертификате.Подача — сетевая служба, и в неё можно войтиМеханизмПодающее приложение соединяется с узлом по имени или адресу и порту — либо без входа, либо с именем и паролем, которые узел настроен принимать.Что защищает веб-монитор и чем эта защита не являетсяМеханизмТри разные защиты — список адресов, шифрование и совет не выставлять монитор в интернет; учётных записей нет ни одной.Библиотека шифрования — часть поставки, а не системыМеханизмOpenSSL приезжает внутри дистрибутива PowerMTA, поэтому набор версий и шифров определяется версией продукта, а не системными библиотеками.Что нельзя в режиме FIPSМеханизмВ режиме FIPS доступен только проверенный набор алгоритмов: часть привычных настроек шифрования и подписи становится недоступной.Авторизация при доставкеМеханизмУзел входит на стороне приёмника логином и паролем из блока <domain> — CRAM-MD5, LOGIN или PLAIN, если приёмник их поддерживает.Секреты во внешнем хранилищеМеханизмКлючи подписи можно держать в HashiCorp Vault: в конфигурации остаётся путь, MTA берёт ключ по HTTP и держит в памяти, не записывая на диск.Группа, дающая право управлятьМеханизмЧленство в группе pmta даёт непривилегированному пользователю право звать команды узла и пользоваться подачей.Ограничить, кто вообще достаёт до узлаПроцедураПять шагов наименьших привилегий: право сдавать почту — только логинам, приём — с узкого диапазона, монитор — тоже, и работа без прав администратора системы.Закрыть права на файлы конфигурацииПроцедураВ конфигурации лежат пароли, ключи API и закрытые ключи подписи — руководство даёт для них конкретные команды, и подключённые файлы требуют того же.Работа без прав rootПроцедураПеревод MTA на работу от отдельного пользователя: сама строка, порты выше тысячи двадцати четырёх, поднятые пределы на файлы и процессы и смена владельца пяти каталогов.Включение режима FIPSПроцедураПеревод узла на проверенный набор криптографических алгоритмов. Часть привычных настроек шифрования при этом становится недоступной.<smtp-user>Блок конфигурацииОдин блок — один логин: чем подтверждается вход и какой именованный источник даёт ему права; объявляется в корне файла.<vault>Блок конфигурацииБлок описывает подключение к Vault; оттуда узел берёт ключи подписи, сертификаты и пароли к ним, не держа их в своих файлах.clear secretscacheКомандаСбрасывает кэш секретов; при следующем обращении они запрашиваются из хранилища заново.КонсольЭкран монитораВыполняет команды консоли узла прямо из браузера; ссылка на страницу есть, только когда служба работает.Файл настройки модуля FIPSФайлФайл настройки криптографического модуля, используемый при включённом режиме FIPS.