[Postfix-br] Dúvida com pop-before-smtp

Valley Man valleytheman em yahoo.com.br
Quarta Julho 11 00:09:33 BRT 2012


Galera,

Estou fazendo uns testes e ainda tem um furo no meu main.cf .  Eu consigo enviar e-mails para usuários dentro do meu domínio sem autenticação desde que coloque um remetente com um domínio diferente do meu. Pelo manual do postfix achei que isso não deveria acontecer por causa da configuração do meu relay_domains (segue um trecho do manual).


/etc/postfix/main.cf: relay_domains = $mydestination (default) relay_domains =           (safe: never forward mail from strangers) relay_domains = $mydomain (forward mail to my domain and subdomains)


Será que alguém consegue me dar uma luz? O meu main.cf está mais abaixo.

Abçs!

Valley




________________________________
 De: Valley <valleytheman at yahoo.com.br>
Para: Lista de administradores de servidores Postfix do Brasil <postfix-br at listas.softwarelivre.org> 
Enviadas: Terça-feira, 10 de Julho de 2012 16:24
Assunto: Re: [Postfix-br] Dúvida com pop-before-smtp
 

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!

######### main.cf #######

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 =
        reject_unlisted_sender,
        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 
>Sent: Tuesday, July 10, 2012 11:07 AM
>To: Grupo de Usuarios Postfix do Brasil 
>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, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $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 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 


_______________________________________________
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/a3cb2fa3/attachment-0001.html>


More information about the Postfix-br mailing list