Postfix SMTP autenticato può submit come qualcuno

Il server accetta / rifiuta correttamente gli accessi tramite il meccanismo di authentication di wherecot, ma dopo di che posso fingere di essere chiunque quando invio di email.

smtpd_sender_login_maps = texthash:/etc/postfix/permmap append_at_myorigin=no smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, #reject_unknown_helo_hostname, permit smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_sender_login_mismatch, # reject_non_fqdn_sender, reject_unknown_sender_domain, permit smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining, reject_rbl_client bl.spamcop.net, reject_rbl_client zen.spamhaus.org, permit 

Io uso questo sito per testare, perché è conveniente e con –verbose mi mostra tutta la comunicazione, tranne il corpo del messaggio.

Questo è il registro di comunicazione, ovviamente con l'identificazione di roba e password censurata

 > EHLO localhost [250] 'example.com' [250] 'PIPELINING' [250] 'SIZE 104857600' [250] 'ETRN' [250] 'AUTH PLAIN LOGIN' [250] 'ENHANCEDSTATUSCODES' [250] '8BITMIME' [250] 'DSN' AUTH method (PLAIN LOGIN): using LOGIN > AUTH LOGIN [334] 'VXNlcm5hbWU6' > dXNlckFAdmlydHVhbGRvbWFpbkE= [334] 'UGFzc3dvcmQ6' > dGhlcGFzc3dvcmQ= [235] '2.7.0 Authentication successful' Authentication of userA@virtualdomainA@example.com succeeded > MAIL FROM: <userB@example.com> [250] '2.1.0 Ok' > RCPT TO: <realremote@example.net> [250] '2.1.5 Ok' > DATA [354] 'End data with <CR><LF>.<CR><LF>' [250] '2.0.0 Ok: queued as 73519140287' > QUIT [221] '2.0.0 Bye' 

L'email è stata effettivamente inviata come se fossi userB@example.com

Il secondo problema probabile che vediamo lì è che aggiunge il dominio reale a quello virtuale, anche se append_at_myorigin dovrebbe disabilitarlo. I documenti non erano molto aiuto. Non suggeriscono nemless che cosa la tabella di ricerca dovrebbe assomigliare. Ho dovuto imparare da altrove.

  • Qual è l'equivalente sendEmail su CentOS 7?
  • Perché il mio porto 25 è così attivo?
  • come posso distriggersre la posta in output in postfix?
  • Come funziona l'indirizzo di dominio Postmaster @
  • Windows Server 2012: Imansible installare SMTP-Server, il sistema richiede sempre il riavvio
  • Trasferimento di richiesta di authentication SMTP a un altro SMTP
  • 450 4.7.1 Rifiuto host client: imansible trovare il nome host
  • Come formattare un file di text per IIS Mailroot Pickup in modo che invia una e-mail con allegati?
  • One Solution collect form web for “Postfix SMTP autenticato può submit come qualcuno”

    Come vedo, la tua aspettativa è che l'utente non può submit altri utenti per l'utente perché inserisci reject_sender_login_mismatch in smtpd_sender_restrictions . Sì, questo dovrebbe funzionare.

    Purtroppo, metti reject_sender_login_mismatch dopo permission_sasl_authenticated . Sulla base della logica postfix, se il tuo client si accede con successo tramite SASL, non verrà controllato da reject_sender_login_mismatch perché ha superato con successo la restrizione permission_sasl_authenticated .

    La soluzione è riordinare le restrizioni secondo la documentazione ufficiale di Postfix .

     smtpd_sender_restrictions = ...other restriction... reject_sender_login_mismatch, permit_sasl_authenticated, ...other restriction... 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.