[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