Postfix. Como rejeitar um usuário não autenticado?


1

Eu tenho uma pergunta: como rejeitar um usuário não autenticado para enviar através do meu smtp ou apenas permitir o envio local? Aqui está o meu main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated
defer_unauth_destination
myhostname = 123
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localdomain, localhost, localhost.localdomain,    localhost, vps.server.local
relayhost =
mynetworks = 0.0.0.0/0
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
virtual_alias_maps = hash:/etc/postfix/virtual
sender_bcc_maps = hash:/etc/postfix/bcc
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated     reject_unauth_destination
smtp_tls_security_level = may
allow_percent_hack = no

Respostas:


0

Adicionar reject_unauth_destinationa smtpd_relay_restrictions.

smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

http://www.postfix.org/SMTPD_ACCESS_README.html

Além disso, configure corretamente mynetworkspara igualar o (s) endereço (s) de rede interno real de seus usuários. Usar 0.0.0.0/0 significa basicamente permitir a todos e está ignorando todas as outras restrições que você possui.


oi, ainda envia cartas sem autenticação. É correto?
132

Eu acho que você precisa ser mais específico sobre o que está acontecendo e não quer que isso aconteça.
precisa saber é o seguinte

Agora qualquer usuário pode se conectar ao meu servidor e enviar uma carta (sem autenticação). Quero que apenas usuários com caixa de e-mail e senha possam enviar uma carta (autenticada).
132

Você quer dizer que não deseja receber e-mails de outros usuários na internet? Há uma diferença entre usuários não autenticados serem capazes de enviar mensagens através do servidor como retransmissão e usuários não autenticados podem entregar mensagens para seus usuários, o que é necessário para o fluxo normal de mensagens.
precisa saber é o seguinte

11
Acho que sei o que você está perguntando, mas ainda não acho que você entenda completamente o que estou perguntando. Os "usuários da Internet" não podem enviar e-mails se eles forem forçados a se autenticar. Não é assim que o email funciona. Agora, se você deseja que seus usuários sejam os únicos que podem enviar e-mails para ou através do servidor, essa é uma história diferente. Em seguida, você usa smtpd_sender_restrictions e não poderá receber e-mails de ninguém na Internet, exceto de seus próprios usuários que fizerem login.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.