Снабдите постфиксом проблему TLS

Я сказал бы, что это на 100% зависит от Вашей среды и что Вы думаете, был бы лучше всего получен Вашими пользователями и чем будет наиболее легко управлять Ваш штат IT.

Где я работаю, мы имеем о 30k пользователях, и наша схема именования является фамилией, первой начальной буквой и числом.

Robert Smith был бы smithr1. Если существует другой R. Smith, затем он был бы smithr2 и т.д.

Самая важная вещь состоит в том, что Вы хотите, чтобы Ваши пользователи смогли помнить это. Нет ничего, что расстраивает штат справочной службы больше, чем пользователи, которые даже не знают их имени пользователя.

2
задан 18 September 2012 в 18:05
2 ответа

Хорошо, я сравниваю это с моим рабочим решением Postfix + Dovecot, которое на данный момент отлично использует TLS. Версия новее, чем вы сообщаете, так как она работает на Ubuntu 12.04 LTS.

# postconf mail_version
mail_version = 2.9.3

Теперь, если я проверю только свои нестандартные smtpd _ * настройки, у меня будет следующее:

# postconf -n |grep ^smtpd_
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, reject_rbl_client dnsbl.njabl.org
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_hard_error_limit = 12
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit
smtpd_recipient_limit = 16
smtpd_recipient_restrictions = reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit
smtpd_soft_error_limit = 3
smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtpd_tls_cert_file = /etc/ssl/certs/server.example.net.crt
smtpd_tls_key_file = /etc/ssl/private/server.example.net.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes

Еще одно различие между моя и ваша система заключается в том, что я работаю в chroot, поэтому мой master.cf содержит для сравнения следующее:

smtp      inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

Как вы можете понять, прочитав, я слушаю только 25 / tcp (smtp ) и 587 / tcp (отправка), поскольку нет необходимости в 465 / tcp (smtps), поскольку 25 / tcp будет поддерживать STARTTLS, а 587 / tcp требует STARTTLS.

О единственном значительном различии, которое я мог сказать из моего ]мастер. cf , а у вас было то, что у вас smtp начинается с smtpd -v , а у меня просто smtpd

. Я сомневаюсь, что вызвало записи журнала для postfix / tlsmgr просто как телнетинг на порт 25 не должен был даже инициировать соединение TLS, если только после подключения не была дана команда STARTTLS, а затем для правильной проверки, что вам было бы лучше тестировать, используя:

openssl s_client -connect localhost:25 -starttls smtp -CApath /etc/ssl/certs

Примечания к моей настройке SSL: Я устанавливаю ca-сертификаты , а затем поместите мой сертификат в / etc / ssl / certs , а мой ключ - в / etc / ssl / private . Затем я вставляю свой промежуточный ЦС в / usr / local / share / ca-сертификаты и запускаю update-ca-Certificates. Это повторно генерирует ca-Certific.crt и создает правильные символические ссылки в / etc / ssl / certs`.

Я устанавливаю пакет ca-сертификатов , а затем помещаю свой сертификат в / etc / ssl / certs , а мой ключ в / etc / ssl / private . Затем я вставляю свой промежуточный ЦС в / usr / local / share / ca-сертификаты и запускаю update-ca-Certificates. Это повторно генерирует ca-Certific.crt и создает правильные символические ссылки в / etc / ssl / certs`.

Я устанавливаю пакет ca-сертификатов , а затем помещаю свой сертификат в / etc / ssl / certs , а мой ключ в / etc / ssl / private . Затем я вставляю свой промежуточный ЦС в / usr / local / share / ca-сертификаты и запускаю update-ca-Certificates. Это повторно генерирует ca-Certific.crt и создает правильные символические ссылки в / etc / ssl / certs`.

2
ответ дан 3 December 2019 в 10:10

smtp_tls_session_cache_database = btree: /var/lib/postfix/smtpd_tls_cache.db

ПРИМЕЧАНИЕ, что smtp! = Smtp *** d ***.

Вы не установили smtpD_tls_session_cache_database, и этот параметр не имеет значения по умолчанию .

Добавьте его и перезагрузите.

РЕДАКТИРОВАТЬ: да, на самом деле это не требуется. Ну что ж, возможно, еще несколько записей в журнале дадут нам ключ к разгадке.

ПОВТОРНОЕ РЕДАКТИРОВАНИЕ: сделайте следующее:

  • остановить постфикс: постфиксный стоп
  • очистить журналы с помощью mv / var / log / mail.log ~ / mail.log.bak и перезапустите службу системного журнала
  • покажут вывод {postconf -d; postconf -d; postconf -n; } | сортировать | uniq -u , так как это покажет нам, что было установлено в main.cf, то есть не по умолчанию
  • , покажите вывод postconf mail_version
  • , отредактируйте main.cf и установите inet_interfaces = 127.0.0. 1 и debug_peer_list = 127.0.0.1
  • начальный постфикс: постфиксный старт
  • устанавливает соединение с помощью telnet к локальному серверу: telnet 127.0.0.1 25
  • обратите внимание, что происходит и отправляйте чистые журналы с самого начала.
2
ответ дан 3 December 2019 в 10:10

Теги

Похожие вопросы