Configuração do postfix para aliases virtuais e sasldb

1

Estou tentando configurar o postfix para lidar com vários domínios como aliases, com um servidor SMTP aceitando emails de entrada desses domínios com autenticação sasldb. A documentação parece bem antiga, e muitas fontes de informação estão contradizendo, então estou procurando esclarecimentos sobre alguns itens de configuração e resolvendo minha autenticação sasldb não funcional. Meu sistema operacional é Debian 8.

Primeiro, o que é esse arquivo smptd.conf , que contém:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

e para onde vai? Eu pude encontrar três caminhos diferentes em vários tutoriais, /usr/lib/sasl2/smtpd.conf, /etc/sasl2/smtpd.conf e /etc/postfix/sasl/smtpd.conf. Como podemos saber qual deles é usado? Existe uma variável de configuração smtpd_sasl_path mas sua documentação é como bom como inexistente, como está relacionado com a configuração real? Houve uma pergunta anterior sobre essa variável que realmente não ajudou na compreensão.

Eu coloquei este arquivo nos três locais, e na lista de métodos de autenticação dada pelo smtpd, eu ainda recebo $ 250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGIN .

Qual é o reino do saslpasswd2? É diferente usar o nome de usuário [email protected] do que john com -u doe.com? Podemos apenas usar um endereço de e-mail completo para o nome de usuário no processo de autenticação? Aparentemente sim de este comentário , mas eu ainda não entendo o que é o reino. Por fim, como isso se relaciona com o smtpd_sasl_local_domain, especialmente em uma configuração de alias de domínio virtual múltipla? Parece aceitar um valor vazio, foi o que fiz.

Para a autenticação sasldb, é necessário usar o salsauthd? Eu li aqui e lá esse postfix é capaz de usar o sasldb sem instalar o saslauthd, enquanto other pessoas e a documentação oficial indicam que é necessário. Qual é a resposta correta?

Para um servidor de alias de domínio virtual que gerencia vários domínios, qual valor deve ser usado para myorigin, myhostname e mydestination ? O localhost.localdomain está certo, se assumirmos que os clientes de e-mail serão configurado com o preenchimento de domínio adequado? Como isso se relaciona com o hostname da máquina atual?

Abaixo está minha configuração atual do postfix. Eu adicionei usuários com o saslpasswd2 e sempre tenho uma falha de autenticação, não importando qual domínio e nome de usuário com ou sem domínio eu coloquei. Eu posso ver a lista de usuários com sasldblistusers2, e eu mudei o arquivo sasldb2 no chroot do postfix (/ var / spool / postfix / etc / sasldb2) como indicado aqui .

saslfinger - postfix Cyrus sasl configuration Wed Dec  2 11:59:11 CET 2015
version: 1.0.4
mode: server-side SMTP AUTH

-- basics --
Postfix: 2.11.3
System: Debian GNU/Linux 8 \n \l

-- smtpd is linked to --
    libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fb6d84b9000)

-- active SMTP AUTH and TLS parameters for smtpd --
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = sasl2/smtpd.conf
smtpd_sasl_security_options = noanonymous
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache


-- listing of /usr/lib/sasl2 --
total 20
drwxr-xr-x  2 root root 4096 Nov 30 00:12 .
drwxr-xr-x 44 root root 4096 Nov 14 23:39 ..
-rw-r--r--  1 root root    4 Nov 28 21:15 berkeley_db.active
-rw-r--r--  1 root root    4 Sep 25 10:54 berkeley_db.txt
-rw-r--r--  1 root root   70 Nov 30 00:12 smtpd.conf

-- listing of /etc/sasl2 --
total 12
drwxr-xr-x  2 root root 4096 Nov 30 00:41 .
drwxr-xr-x 77 root root 4096 Nov 30 01:19 ..
-rw-r--r--  1 root root   70 Nov 29 23:22 smtpd.conf

-- listing of /etc/postfix/sasl --
total 12
drwxr-xr-x 2 root root 4096 Nov 30 00:41 .
drwxr-xr-x 3 root root 4096 Nov 30 01:18 ..
-rw-r--r-- 1 root root   70 Nov 30 00:41 smtpd.conf




-- content of /usr/lib/sasl2/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

-- content of /etc/sasl2/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

-- content of /etc/postfix/sasl/smtpd.conf --
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN


-- active services in /etc/postfix/master.cf --
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
smtp      inet  n       -       -       -       -       smtpd
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=may
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_recipient_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
pickup    unix  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix      -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

-- mechanisms on localhost --
250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGIN^M


-- end of saslfinger output --

Dado o tempo que perdi tentando obter uma configuração adequada, tentarei fazer um tutorial atualizado com explicações corretas. = > FEITO

Obrigado por me ler e pelas respostas que estão por vir.

    
por 6trouille 02.12.2015 / 12:17

2 respostas

1

what is this smptd.conf file, that contains ... and where does it go?

Primeiro, existem opções de configuração no Postfix, que especificam quando este arquivo tem que ser (se estiver usando cyrus sasl) e como ele deve ser nomeado. Essas opções são:

smtpd_sasl_path = smtpd
cyrus_sasl_config_path = /etc/sasl2/

Postfix os combina e envia para cyrus sasl como /etc/sasl2/smtpd.conf

Finally, how does that relate to the smtpd_sasl_local_domain, especially in a multiple virtual domain alias configuration?

No meu conhecimento, ele é usado como domínio padrão para usuários sem o nome de domínio fornecido.

For a virtual domain alias server that manages several domains, which value should be used for myorigin, myhostname and mydestination?

Faça como quiser. Eu prefiro configurá-los todos (e smtpd_sasl_local_domain) para o nome do host do sistema, portanto, os emails gerados nesse host sempre são mostrados como provenientes desse host. Isso ajuda a construir um sistema redundante com o backup MX, que terá o mesmo conjunto de domínios virtuais, mas um nome de sistema diferente, então sempre posso diferenciar os hosts.

Você pode pedir mais, eu certamente não cobri todos os aspectos dessas questões. E, claro, o Postfix tem documentação perfeita com quase tudo coberto.

    
por 02.12.2015 / 13:10
0
O

link deve ser sua primeira referência em vez de páginas de falha do servidor. Ir para as páginas aqui para pontos mais específicos, se necessário, mas os documentos no site postfix são geralmente muito bons. Como essa página diz,

Postfix does not implement SASL itself, but instead uses existing implementations as building blocks. This means that some SASL-related configuration files will belong to Postfix, while other configuration files belong to the specific SASL implementation that Postfix will use. This document covers both the Postfix and non-Postfix configuration.

Parece que você não configurou smtpd_sasl_application_name (e que está em vigor em vez de smtpd_sasl_type devido à sua versão anterior do postfix), portanto, o Cyrus SASL padrão está, presumivelmente, em vigor. o valor que você tem em smtpd_sasl_path é passado para a biblioteca cyrus sasl e presumivelmente interpretado em relação ao seu caminho base. Eu imagino que você esteja usando o Cyrus SASL 2.x, mas tenha usado o 1.x no passado e tenha deixado os arquivos de configuração. Eu posso estar errado, porém, dada a sua versão do postfix. Verifique isso. Além disso, observe quais pacotes estão realmente instalados.

smtpd_sasl_path = sasl2/smtpd.conf é quase certamente errado.

    
por 02.12.2015 / 13:10