Postfix + SASL (não autentica)
Pessoal,
Estou passando por um problema muito sinistro. Eu tenho um servidor de emails atualmente rodando Postfix + SASL (integrando ainda o Postfix ao Clamav e ao SpamAssasin) e tudo roda maravilhosamente bem com o SASL pesquisando os usuários no shadow do linux.
Preciso fazer outro servidor e por isso peguei outra máquina, instalei todos os pacotes exatamente como fiz no primeiro, configurei tudo igual e, mesmo assim, dá erro. Abaixo colocarei todos os logs e as configurações.
PS.: O servidor que funciona está rodando normalmente, esse outro esta na minha rede interna para testes apenas.
TESTE 1 - Recebendo mensagens
Código :
Jan 13 06:51:10 ns2 ipop3d[2441]: pop3 service init from 172.30.0.14
Jan 13 06:51:10 ns2 ipop3d[2441]: Login user=nataniel host=[172.30.0.14] nmsgs=0/0
Jan 13 06:51:10 ns2 ipop3d[2441]: Logout user=nataniel host=[172.30.0.14] nmsgs=0 ndele=0
OK
TESTE 2 - Enviando mensagens sem SASL
Código :
Jan 13 06:52:35 ns2 postfix/smtpd[2448]: connect from unknown[172.30.0.14]
Jan 13 06:52:35 ns2 postfix/smtpd[2448]: 266D7CDFC7: client=unknown[172.30.0.14]
Jan 13 06:52:35 ns2 postfix/cleanup[2449]: 266D7CDFC7: message-id=<001e01c61837$dfc49c70$0e001eac@NATANIEL>
Jan 13 06:52:35 ns2 postfix/qmgr[2411]: 266D7CDFC7: from=<[email protected]>, size=1348, nrcpt=1 (queue active)
Jan 13 06:52:35 ns2 postfix/smtpd[2448]: disconnect from unknown[172.30.0.14]
Jan 13 06:52:35 ns2 spamd[2198]: connection from localhost.localdomain [127.0.0.1] at port 60235
Jan 13 06:52:35 ns2 spamd[2198]: info: setuid to clamav succeeded
Jan 13 06:52:35 ns2 spamd[2198]: processing message <001e01c61837$dfc49c70$0e001eac@NATANIEL> for clamav:500.
Jan 13 06:52:35 ns2 spamd[2198]: clean message (-2.6/5.0) for clamav:500 in 0.5 seconds, 1344 bytes.
Jan 13 06:52:35 ns2 spamd[2198]: result: . -2 - ALL_TRUSTED,HTML_90_100,HTML_MESSAGE scantime=0.5,size=1344,mid=<001e01c61837$dfc49c70$0e001eac@NATANIEL>,autolearn=ham
Jan 13 06:52:36 ns2 postfix/pickup[2410]: 00D06CDFE4: uid=500 from=<[email protected]>
Jan 13 06:52:36 ns2 postfix/cleanup[2449]: 00D06CDFE4: message-id=<001e01c61837$dfc49c70$0e001eac@NATANIEL>
Jan 13 06:52:36 ns2 postfix/pipe[2450]: 266D7CDFC7: to=<[email protected]>, relay=clamav, delay=1, status=sent (clamav)
Jan 13 06:52:36 ns2 postfix/qmgr[2411]: 266D7CDFC7: removed
Jan 13 06:52:36 ns2 postfix/qmgr[2411]: 00D06CDFE4: from=<[email protected]>, size=1673, nrcpt=1 (queue active)
Jan 13 06:52:41 ns2 postfix/smtp[2482]: 00D06CDFE4: to=<[email protected]>, relay=cnett.psi.br[200.250.168.70], delay=6, status=sent (250 OK id=1ExNUI-00039A-9d)
Jan 13 06:52:41 ns2 postfix/qmgr[2411]: 00D06CDFE4: removed
OK
TESTE 3 - Enviando mensagens com SASL (sem o marcar a autenticação no outlook para testar a busca ao SASL)
Código :
Jan 13 06:54:30 ns2 postfix/postfix-script: starting the Postfix mail system
Jan 13 06:54:30 ns2 postfix/master[2563]: daemon started -- version 2.1.5
Jan 13 06:54:53 ns2 postfix/smtpd[2575]: connect from unknown[172.30.0.14]
Jan 13 06:54:53 ns2 postfix/smtpd[2575]: NOQUEUE: reject: RCPT from unknown[172.30.0.14]: 554 <[email protected]>: Recipient address rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<NATANIEL>
Jan 13 06:54:53 ns2 postfix/smtpd[2575]: disconnect from unknown[172.30.0.14]
NÃO OK
TESTE 4 - Enviando mensagem com SASL (agora com a opcao de autenticar smtp marcada no outlook)
Código :
Jan 13 06:56:03 ns2 postfix/smtpd[2575]: connect from unknown[172.30.0.14]
Jan 13 06:56:03 ns2 postfix/smtpd[2575]: NOQUEUE: reject: RCPT from unknown[172.30.0.14]: 554 <[email protected]>: Recipient address rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<NATANIEL>
Jan 13 06:56:03 ns2 postfix/smtpd[2575]: disconnect from unknown[172.30.0.14]
NÃO OK
TESTE 5 - Resposta do Outlook
Código :
A mensagem não pôde ser enviada porque um de seus destinatários foi recusado pelo servidor. O endereço de email recusado era '[email protected]'. Assunto 'teste ', Conta: '172.30.0.13', Servidor: '172.30.0.13', Protocolo: SMTP, Resposta do servidor: '554 <[email protected]>: Recipient address rejected: Access denied', Porta: 25, Segura (SSL): Não, Erro do servidor: 554, Nº do erro: 0x800CCC79
NÃO OK
Como vocês podem ver o mesmo email (destino e origem) foram usados em ambos os testes. O que estranhei é que aparentemente o Postfix não foi buscar a informação necessária no SASL e isso me deixa preocupado.
O postconf -n exibe exatamente a mesma saida em ambos os servidores.
Se alguem souber o que pode ser me avise para que eu teste.[/code]
Postfix + SASL (não autentica)
Nataniel voce lembrou de subir o saslauthd ???
lembrou de colocar no /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
????
Postfix + SASL (não autentica)
poste seu main.cf aqui para poder ajudar melhor.
Postfix + SASL (não autentica)
lembrou de colocar no seu main.cf do postfix essas confs
Código :
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
Postfix + SASL (não autentica)
Citação:
Postado originalmente por scorpion
Nataniel voce lembrou de subir o saslauthd ???
lembrou de colocar no /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
????
scorpion,
Sim, subi ele e deixei o smtpd.conf como estava (igual ao que tu postou).
Fabiano, como é uma maquina de teste eu resolvi começar tudo novamente para ver se no processo eu não fiz nada errado. Vou tentar novamente dentro de uma hora e, se não der certo, eu posto o resultado aqui.
Desculpem eu ter me apressado mas é que achei que as respostas seriam poucas e demoradas (normalmente qdo se trata de autenticação e postfix é assim... hehehehe)...
Vou fazer tudo novamente e posto o resultado.
Postfix + SASL (não autentica)
Citação:
Postado originalmente por fabiano_guru
poste seu main.cf aqui para poder ajudar melhor.
Fabiano,
Acabei de lembrar que eu tinha salvo o postconf -n dele:
Código :
[root@ns1 ~]# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
command_time_limit = 1h
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
header_checks = regexp:/etc/postfix/maps/header_checks
html_directory = no
inet_interfaces = all
local_destination_concurrency_limit = 2
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_size_limit = 20000000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maximal_queue_lifetime = 1d
mime_header_checks = regexp:/etc/postfix/maps/mime_header_checks
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, email.$mydomain, www.$mydomain
mydomain = cnett.com.br
myhostname = email.cnett.com.br
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES
sample_directory = /usr/share/doc/postfix-2.1.5/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_rbl_client cn-kr.blackholes.us, reject_rbl_client singapore.blackholes.us, reject_rbl_client malaysia.blackholes.us, reject_rbl_client nigeria.blackholes.us, reject_rhsbl_sender dsn.rfc-ignorant.org, reject_rbl_client ipwhois.rfc-ignorant.org
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550
Versões do postfix e do cyrus-sasl são as mesmas tanto no servidor que tá ok (email.cnett.com.br, aqui o sasl funciona perfeitamente) quanto no outro servidor (que nao funciona e usa um ip da minha rede interna que passa pelo meu gateway fazendo nat).
Código :
[root@ns1 ~]# rpm -q postfix cyrus-sasl
postfix-2.1.5-5
cyrus-sasl-2.1.19-3
Postfix + SASL (não autentica)
Citação:
Postado originalmente por scorpion
lembrou de colocar no seu main.cf do postfix essas confs
Código :
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
Scorpion,
Eu não coloquei dessa forma, mas sim, coloquei isso.
Postfix + SASL (não autentica)
adiciona
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
e faz um teste
Postfix + SASL (não autentica)
Citação:
Postado originalmente por scorpion
adiciona
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
e faz um teste
scorpion,
Eu to limpando a maquina, vou refazer toda a instalação. Olha só, no servidor que está funcionando eu coloquei assim:
smtpd_recipient_restrictions = permit_sasl_authenticated, reject
E a linha mynetorks fica comentada.
Postfix + SASL (não autentica)
Citação:
Postado originalmente por scorpion
adiciona
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
e faz um teste
Scorpion,
Assim funcionou mas o problema é que mesmo desmarcada a opção de autenticar no SMTP ele envia as mensagens... e não quero isso. Quero que todos os meus clientes precisem autenticar para usar o SMTP.
Vou te mostrar o processo com o servidor que funciona:
LOG de uma tentativa desmarcado a opcao de autenticar no login smtp:
Código :
Jan 13 16:41:03 ns1 postfix/smtpd[32179]: connect from unknown[172.30.0.14]
Jan 13 16:41:03 ns1 postfix/smtpd[32179]: NOQUEUE: reject: RCPT from unknown[172.30.0.14]: 554 <[email protected]>: Recipient address rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<NATANIEL>
Jan 13 16:41:03 ns1 postfix/smtpd[32179]: disconnect from unknown[172.30.0.14]
LOG do mesmo email, agora com a autenticacao marcada no outlook
Código :
Jan 13 16:42:20 ns1 postfix/smtpd[32200]: connect from unknown[172.30.0.14]
Jan 13 16:42:20 ns1 postfix/smtpd[32200]: 18D6E16B23C: client=unknown[172.30.0.14], sasl_method=LOGIN, sasl_username=gerente
Jan 13 16:42:20 ns1 postfix/cleanup[32208]: 18D6E16B23C: message-id=<002c01c61871$15a4c9d0$0e001eac@NATANIEL>
Jan 13 16:42:20 ns1 postfix/qmgr[32164]: 18D6E16B23C: from=<[email protected]>, size=1354, nrcpt=1 (queue active)
Jan 13 16:42:20 ns1 postfix/smtpd[32200]: disconnect from unknown[172.30.0.14]
Jan 13 16:42:20 ns1 spamd[30704]: connection from localhost.localdomain [127.0.0.1] at port 33872
Jan 13 16:42:20 ns1 spamd[30704]: info: setuid to clamav succeeded
Jan 13 16:42:20 ns1 spamd[30704]: checking message <002c01c61871$15a4c9d0$0e001eac@NATANIEL> for clamav:500.
Jan 13 16:42:20 ns1 spamd[30704]: clean message (-5.8/5.0) for clamav:500 in 0.3 seconds, 1349 bytes.
Jan 13 16:42:20 ns1 spamd[30704]: result: . -5 - ALL_TRUSTED,AWL,BAYES_00,HTML_90_100,HTML_MESSAGE scantime=0.3,size=1349,mid=<002c01c61871$15a4c9d0$0e001eac@NATANIEL>,bayes=0,autolearn=ham
Jan 13 16:42:20 ns1 spamd[25860]: connection from localhost.localdomain [127.0.0.1] at port 33873
Jan 13 16:42:20 ns1 spamd[25860]: info: setuid to clamav succeeded
Jan 13 16:42:20 ns1 spamd[25860]: processing message <002c01c61871$15a4c9d0$0e001eac@NATANIEL> for clamav:500.
Jan 13 16:42:20 ns1 spamd[25860]: clean message (-5.8/5.0) for clamav:500 in 0.2 seconds, 1349 bytes.
Jan 13 16:42:20 ns1 spamd[25860]: result: . -5 - ALL_TRUSTED,AWL,BAYES_00,HTML_90_100,HTML_MESSAGE scantime=0.2,size=1349,mid=<002c01c61871$15a4c9d0$0e001eac@NATANIEL>,bayes=0,autolearn=unavailable
Jan 13 16:42:20 ns1 postfix/pickup[32163]: EE52D16B23F: uid=500 from=<[email protected]>
Jan 13 16:42:20 ns1 postfix/cleanup[32208]: EE52D16B23F: message-id=<002c01c61871$15a4c9d0$0e001eac@NATANIEL>
Jan 13 16:42:20 ns1 postfix/pipe[32209]: 18D6E16B23C: to=<[email protected]>, relay=clamav, delay=0, status=sent (clamav)
Jan 13 16:42:20 ns1 postfix/qmgr[32164]: 18D6E16B23C: removed
Jan 13 16:42:20 ns1 postfix/qmgr[32164]: EE52D16B23F: from=<[email protected]>, size=1703, nrcpt=1 (queue active)
Jan 13 16:42:28 ns1 postfix/smtpd[32179]: connect from 200-161-112-130.dsl.telesp.net.br[200.161.112.130]
Jan 13 16:42:29 ns1 postfix/smtp[32170]: EE52D16B23F: to=<[email protected]>, relay=cnett.psi.br[200.250.168.70], delay=9, status=sent (250 OK id=1ExTsb-0003wy-Mq)
Jan 13 16:42:29 ns1 postfix/qmgr[32164]: EE52D16B23F: removed
Ou seja... Nesse servidor ta funcionando. Agora o postconf -n:
Código :
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
command_time_limit = 1h
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
header_checks = regexp:/etc/postfix/maps/header_checks
html_directory = no
inet_interfaces = all
local_destination_concurrency_limit = 2
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_size_limit = 20000000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maximal_queue_lifetime = 1d
mime_header_checks = regexp:/etc/postfix/maps/mime_header_checks
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, email.$mydomain, www.$mydomain
mydomain = cnett.com.br
myhostname = email.cnett.com.br
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES
sample_directory = /usr/share/doc/postfix-2.1.5/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_rbl_client cn-kr.blackholes.us, reject_rbl_client singapore.blackholes.us, reject_rbl_client malaysia.blackholes.us, reject_rbl_client nigeria.blackholes.us, reject_rhsbl_sender dsn.rfc-ignorant.org, reject_rbl_client ipwhois.rfc-ignorant.org
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550
Agora no outro servidor, no que não funciona quando eu habilito a autenticação SMTP está assim o postconf -n:
Código :
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
command_time_limit = 1h
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
header_checks = regexp:/etc/postfix/maps/header_checks
html_directory = no
inet_interfaces = all
local_destination_concurrency_limit = 2
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_size_limit = 20000000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maximal_queue_lifetime = 1d
mime_header_checks = regexp:/etc/postfix/maps/mime_header_checks
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, email.$mydomain, www.$mydomain
mydomain = cnett.com.br
myhostname = email.cnett.com.br
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES
sample_directory = /usr/share/doc/postfix-2.1.5/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_rbl_client cn-kr.blackholes.us, reject_rbl_client singapore.blackholes.us, reject_rbl_client malaysia.blackholes.us, reject_rbl_client nigeria.blackholes.us, reject_rhsbl_sender dsn.rfc-ignorant.org, reject_rbl_client ipwhois.rfc-ignorant.org
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, reject
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code = 550
E sempre ao tentar enviar email a mesma mensagem aparece:
Código :
Jan 13 10:45:53 localhost postfix/smtpd[3111]: connect from unknown[172.30.0.14]
Jan 13 10:45:53 localhost postfix/smtpd[3111]: NOQUEUE: reject: RCPT from unknown[172.30.0.14]: 554 <[email protected]>: Recipient address rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<NATANIEL>
Jan 13 10:45:53 localhost postfix/smtpd[3111]: disconnect from unknown[172.30.0.14]
Tentei parando o sasl e apareceui a mesma mensagem. Estou achando que o Postfix nao procura no SASL:
Código :
[root@localhost log]# /etc/rc.d/init.d/saslauthd stop
Stopping saslauthd: [ OK ]
[root@localhost log]# tail /var/log/maillog
[root@localhost log]# tail /var/log/maillog -n 3
Jan 13 10:46:28 localhost postfix/smtpd[3111]: connect from unknown[172.30.0.14]
Jan 13 10:46:28 localhost postfix/smtpd[3111]: NOQUEUE: reject: RCPT from unknown[172.30.0.14]: 554 <[email protected]>: Recipient address rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<NATANIEL>
Jan 13 10:46:28 localhost postfix/smtpd[3111]: disconnect from unknown[172.30.0.14]
[root@localhost log]#
Fiz um teste mais sinistro mudei o arquivo /usr/lib/sasl2/smtpd.conf e mudei a linha tirando o ": saslauthd" e coloquei "= saslauthd", reiniciei o sasl sem problemas e tentei enviar novamente. No outlook ele fica conectando e não sai disso e no log apareceu assim:
Código :
Jan 13 10:51:33 localhost postfix/smtpd[3144]: fatal: SASL per-process initialization failed
Jan 13 10:51:34 localhost postfix/master[3101]: warning: process /usr/libexec/postfix/smtpd pid 3144 exit status 1
Jan 13 10:51:34 localhost postfix/master[3101]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
Sinceramente estou perdido... Se puder me dar uma mão eu agradeço.
Postfix + SASL (não autentica)
voce compilou o postfix passando sasl ???
Código :
% make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -I/usr/include/sasl' \
'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lsasl'
% make; make install;
Postfix + SASL (não autentica)
Citação:
Postado originalmente por scorpion
voce compilou o postfix passando sasl ???
Código :
% make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -I/usr/include/sasl' \
'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib -lsasl'
% make; make install;
Scorpion,
Boa pergunta. Eu instalei ele usando o RPM que vem com o Fedora Core 3, assim como no outro servidor que tenho. Tu viu que num dos LOGs ele até chama o SASL e dá um erro (pois mudei o arquivo /usr/lib/sasl2/smtpd.conf)?