[Postfix-br] Dúvida com pop-before-smtp
Valley
valleytheman em yahoo.com.br
Terça Julho 10 16:24:44 BRT 2012
Fiz um script em php para explorar a falha e agora acho que consegui
encontrar uma solução.
Eu adicionei o seguinte mapeamento:
smtpd_sender_login_maps = pgsql:/etc/postfix/pgsql/pgsql-virtual.cf
E adicionei a seguinte restrição:
smtpd_sender_restrictions = reject_sender_login_mismatch
Agora quando alguém tenta enviar um e-mail sem se autenticar a resposta
é a seguinte:
Sender address rejected: not logged in
Não sei se é a melhor alternativa mas funcionou.
Abaixo segue como está o meu main.cf. Confesso que sou meio noob e tem
algumas coisas nesse arquivo de configuração que "ficaram de herança" e
não sei bem para que servem. Por isso se alguém tiver alguma dica eu
agradeço!
Abçs!
#########
myhostname = meuservidor.$mydomain
mydomain = meudominio.com.br
myorigin = $myhostname
mydestination = $myhostname localhost.$mydomain $myhostname.$mydomain
mynetworks = 127.0.0.0/8
relayhost =
relay_domains =
inet_interfaces = all
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#Notificacoes para postmaster
notify_classes = resource, software
#Virtual Mailbox
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_minimum_uid = 5000
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql/pgsql-virtual-domains.cf
virtual_mailbox_maps =
pgsql:/etc/postfix/pgsql/pgsql-virtual-mailbox-maps.cf
#Virtual Alias
virtual_alias_maps = pgsql:/etc/postfix/pgsql/pgsql-virtual.cf
virtual_mailbox_limit = 0
message_size_limit = 31457280
# Remetentes autorizados
smtpd_sender_login_maps = pgsql:/etc/postfix/pgsql/pgsql-virtual.cf
#Autenticacao
#Habilitar autenticacao via sasl
smtpd_sasl_auth_enable = yes
smtpd_recipient_limit = 100
smtpd_recipient_restrictions =
check_recipient_access hash:/etc/postfix/usuarios_inativos,
permit_mynetworks,
permit_sasl_authenticated,
check_client_access hash:/etc/postfix/pop-before-smtp,
reject_unknown_client_hostname,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname,
reject_unknown_reverse_client_hostname,
reject_invalid_helo_hostname,
reject_non_fqdn_hostname,
reject_unknown_recipient_domain,
reject_unverified_recipient,
reject_rbl_client zen.spamhaus.org
smtpd_sender_restrictions =
permit_mynetworks,
reject_sender_login_mismatch,
reject_unauth_pipelining,
reject_unknown_address,
reject_unknown_sender_domain,
reject_non_fqdn_sender
smtpd_delay_reject = no
disable_vrfy_command = yes
smtpd_reject_unlisted_sender = yes
#Reportar nomes de login SASL em cabecalhos de mensagens recebidas
smtpd_sasl_authenticated_header = yes
#Compatibilidade com MS Outlook antigos
broken_sasl_auth_clients = yes
#prefixo do arquivo de configuracao
smtpd_sasl_path = smtpd
#Smtp criptografado
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/tls/auto_assinado.pem
smtpd_tls_cert_file = /etc/postfix/tls/auto_assinado.pem
smtpd_tls_CAfile = /etc/postfix/tls/auto_assinado.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
# Performance
queue_run_delay = 300s
maximal_queue_lifetime = 30m
bounce_queue_lifetime = 30m
default_process_limit = 800
local_destination_concurrency_limit = 4
default_destination_concurrency_limit = 10
default_destination_recipient_limit = 1
Em 10/07/2012 13:01, Thiago - HostLP escreveu:
> Se quiser e puder postar suas regras smtpd.
> Quem sabe possamos te ajudar
> *From:* Valley <mailto:valleytheman at yahoo.com.br>
> *Sent:* Tuesday, July 10, 2012 11:07 AM
> *To:* Grupo de Usuarios Postfix do Brasil
> <mailto:postfix-br at listas.softwarelivre.org>
> *Subject:* [Postfix-br] Dúvida com pop-before-smtp
> Bom dia ,
>
> Estou instalando o pop-before-smtp aqui para evitar que alguém use
> nosso servidor como relay indevidamente. Entretanto estou com alguns
> problemas, algum atacante consegue enviar e-mails do usuário para ele
> mesmo. Vou explicar mais abaixo.
>
> Fiz a instalação e pelos logs me parece que ele está armazenando os
> IPs corretamente. Seguindo a recomendação no site do desenvolvedor
> coloquei as seguintes regras no meu main.cf
>
> smtpd_recipient_restrictions =
> permit_mynetworks,
> reject_non_fqdn_recipient,
> check_client_access hash:/etc/postfix/pop-before-smtp,
> reject_unauth_destination
>
> Entretanto, ainda ocorrem coisas como o seguinte (trecho extraído dos
> logs):
>
> /Jul 9 04:39:08 andromeda postfix/smtpd[24420]: connect from
> unknown[190.238.84.16]
> Jul 9 04:39:10 andromeda postfix/smtpd[24420]: B876481427E:
> client=unknown[190.238.84.16]
> Jul 9 04:39:12 andromeda postfix/smtpd[24420]: disconnect from
> unknown[190.238.84.16]
> Jul 9 04:39:16 andromeda amavis[24447]: (24447-03) Passed CLEAN,
> [190.238.84.16] [190.238.84.16] mailto:nome.usuario at meudominio.com.br
> -> mailto:nome.usuario at meudominio.com.br, Message-ID:
> mailto:20120709073910.B876481427E at meudominio.com.br, mail_id:
> HDOYfM9wtPDX, Hits: -78.795, size: 1986, queued_as: F3E88814270, 285 ms/
>
> A pessoa que veio do ip 190.238.84.16 não se autenticou como
> nome.usuario previamente e posso confirmar pelos logs do
> pop-before-smtp que este ip não está liberado.
> Dando uma olhada no manual do manual do postfix, vi o seguinte sobre a
> regra reject_unauth_destination:
>
> (...)
> Reject the request unless one of the following is true:
> (...)
> Postfix is the final destination: the resolved RCPT TO domain matches
> $mydestination <http://www.postfix.org/postconf.5.html#mydestination>,
> $inet_interfaces
> <http://www.postfix.org/postconf.5.html#inet_interfaces>,
> $proxy_interfaces
> <http://www.postfix.org/postconf.5.html#proxy_interfaces>,
> $virtual_alias_domains
> <http://www.postfix.org/postconf.5.html#virtual_alias_domains>, or
> $virtual_mailbox_domains
> <http://www.postfix.org/postconf.5.html#virtual_mailbox_domains>, and
> contains no sender-specified routing (user at elsewhere@domain).
> (...)
>
>
> Me parece que, como o atacante enviou o e-mail para alguém dentro de
> $mydestination <http://www.postfix.org/postconf.5.html#mydestination>a
> regra reject_unauth_destination não foi aplicada. Alguém sabe dizer se
> existe alguma outra restrição que posso colocar para evitar esse tipo
> de coisa?
>
> Abçs!
>
> ------------------------------------------------------------------------
> _______________________________________________
> Postfix-br mailing list
> Postfix-br at listas.softwarelivre.org
> http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/postfix-br
>
>
> _______________________________________________
> Postfix-br mailing list
> Postfix-br at listas.softwarelivre.org
> http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/postfix-br
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/postfix-br/attachments/20120710/a975bb59/attachment-0001.html>
More information about the Postfix-br
mailing list