Назад | Перейти на главную страницу

Postfix обязательный smtp / smtpd против «необязательного» различия и конфигурации

Три вопроса:

  1. Поправьте меня если я ошибаюсь:
    smtpd_tls_mandatory_ciphers => настройки для входящего обязательного шифрования TLS
    smtpd_tls_ciphers => настройки для входящего гибкого шифрования TLS
    smtp_tls_mandatory_ciphers => настройки для исходящего обязательного шифрования TLS
    smtp_tls_ciphers => настройки для исходящего гибкого шифрования TLS
  2. Если я установлю оба smtpd_tls_security_level и smtp_tls_security_level к may тогда релевантны только оппортунистические настройки, то есть не имеет значения, какие я установил в обязательных?
  3. Если я хочу сделать безопасный, но все же общедоступный почтовый сервер, подойдет ли следующая конфигурация (в отношении используемой криптографии)? Я не слишком уверен в том, сколько серверов в настоящее время поддерживают TLS или какие уровни безопасности в целом, но я все же хочу иметь возможность общаться с большинством из них.

    smtpd_tls_mandatory_ciphers = high
    smtp_tls_mandatory_ciphers = high
    smtpd_tls_ciphers = high
    smtp_tls_ciphers = high
    smtp_tls_security_level = may
    smtpd_tls_security_level = may
    
    smtp_tls_protocols = !SSLv2, !SSLv3
    smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
    smtpd_tls_protocols = !SSLv2, !SSLv3
    smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    
    smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    #hope this is enough since it is also added to the mandatory exclusions
    smtp_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    smtpd_tls_exclude_ciphers = aNULL, DES, RC4, MD5
    

Задний план: Это для компании, ориентированной на безопасность, с довольно высокими стандартами безопасности. НО Я также не хочу, чтобы электронные письма терялись при такой конфигурации.

PS: Я прочитал объяснение параметры конфигурации и это также источник моих знаний.

  1. Что касается smtp[d]_tls_[mandatory_]ciphers

Да.

  1. Если я установлю оба smtpd_tls_security_level и smtp_tls_security_level может тогда только оппортунистические настройки имеют значение, то есть не имеет значения, какие я установил в обязательных?

Да.

  1. Если я хочу сделать безопасный, но все же общедоступный почтовый сервер, подойдет ли следующая конфигурация (в отношении используемой криптографии)?

Вы отключаете SSL и ограничиваете шифрование, но незашифрованный трафик по-прежнему разрешен. Я считаю, что плохое шифрование лучше, чем полное его отсутствие, для связи с другими почтовыми серверами.

Процитировать статью Прикладная защита от криптографии (ACH) по Bettercrypto:

Postfix имеет пять внутренних списков шифров и возможность переключения между ними с помощью smtpd_tls_ciphers. Однако мы оставляем это значение по умолчанию для соединений сервера с сервером, поскольку многие почтовые серверы поддерживают только устаревшие протоколы и шифры. Мы считаем, что плохое шифрование все же лучше, чем передача обычного текста. Для подключений к MUA TLS является обязательным, а набор шифров изменен.

Для подключений к почтовым клиентам очень полезно ограничивать шифрование и протоколы, а также отдавать предпочтение хорошим.

Конфигурация клиента MX и SMTP: Как обсуждалось в разделе 2.3.1, из-за гибкого шифрования мы не ограничиваем список шифров или протоколов для связи с другими почтовыми серверами, чтобы избежать передачи в виде обычного текста.

Рекомендуемая конфигурация следующая:

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
# use 0 for Postfix >= 2.9, and 1 for earlier versions
smtpd_tls_loglevel = 0
# enable opportunistic TLS support in the SMTP server and client
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_loglevel = 1
# if you have authentication enabled, only offer it after STARTTLS
smtpd_tls_auth_only = yes
tls_ssl_options = NO_COMPRESSION

smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_ciphers=high
tls_high_cipherlist=EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
smtpd_tls_eecdh_grade=ultra

И это для master.cf:

submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o tls_preempt_cipherlist=yes

С данным набором шифров сервер предпочитает наилучшие доступные шифры, а также, если возможно, Perfect Secrecy, а также поддерживает всех соответствующих клиентов, не допуская плохих шифров. Для получения дополнительной информации см. Связанный документ, он дает очень подробную информацию о рекомендациях, включая теорию. Приведенные выше пояснения к разделу постфиксов предоставлены мной (и проверены многими другими).