Come bloccare gli allegati sulla posta in arrivo solo usando Postfix?


9

Ho un server di posta (CentOS 6.5) con Postfix e Dovecot

Postfix è in ascolto sulla porta 25 per la posta in entrata e 587 per la posta in uscita

Il problema è che la posta in uscita con allegati pdf viene bloccata dove voglio solo la posta in arrivo con allegati pdf bloccati.

Ho questa linea di configurazione in main.cf

 mime_header_checks = regexp:/etc/postfix/blocked_attachments

Il file Blocked_attachments contiene:

/name=[^>]*\.(pdf|zip)/ REJECT

Quindi la posta in arrivo con un allegato PDF viene bloccata correttamente, ma quando compongo un'e-mail con un PDF che viene bloccato anche quando provo e invio.

Come posso dire a postfix che voglio solo filtrare gli allegati in arrivo? O ho perso qualcosa?

Risposte:


7

Riscriverò la tua domanda diventare:

Come posso usare diversi _header_checks per smtpd (porta 25) e invio (porta 587)?

Questo problema canonico può essere diviso in diverse condizioni

  1. Voglio disattivare header_checks per uno di smtpd o invio.
  2. Voglio eseguire diversi header_checks per smtpd e invio.

1. Voglio disattivare header_checks per uno di smtpd o invio.

Per l'esempio presumo che tu voglia disattivare header_checks per l'invio (email in uscita) .

Soluzione 1: metodo receive_override_options

È possibile utilizzare il parametro postfix chiamato receive_override_options . Con il parametro è possibile ignorare l'opzione header_check globale, quindi il filtro non verrà eseguito. # main.cf header_checks = pcre: / path / to / header_checks

#master.cf
submission inet n       -       n       -       -       smtpd
    -o receive_override_options=no_header_body_checks

Avvertenze: questo disattiverà TUTTI i _checker_checks e body_checks definiti in man 5 header_checks . Per il controllo completo su quale parametro verrà disattivato, vedere la Soluzione 2.

Soluzione 2: metodo di servizio di pulizia multipla

Possiamo eseguire la tecnica del servizio di pulizia multipla per il tuo problema, come è *_header_checksstato eseguito dal servizio di pulizia . Puoi vedere l'esempio di questa configurazione nel tutorial di amavisd-new .

Il parametro magico per questa configurazione è cleanup_service_name . Con questo parametro, possiamo usare diversi servizi di pulizia per ogni processo smtpd. Per prima cosa definiamo un servizio di pulizia aggiuntivo (chiamato no-headerchecks) in master.cf

no-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=

In questa pulizia, definiamo mime_header_checks vuoti per disabilitare il filtro. L'ultimo passaggio è dire al servizio di invio di utilizzare i nostri controlli senza intestazione

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=no-headerchecks 

2. Voglio eseguire diversi header_checks per smtpd e invio.

Per questo problema è possibile utilizzare più metodi di servizio di pulizia come descritto sopra.

Per prima cosa definiamo un ulteriore servizio di pulizia (chiamato second-headerchecks) in master.cf

second-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=pcre:/path/to/2ndheaderchecks

In questa pulizia, definiamo il secondo mime_header_checks su un'altra tabella PCRE. L'ultimo passaggio è dire al servizio di invio di utilizzare i nostri controlli di seconda intestazione

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=second-headerchecks

Nota:

  • Il tuo caso sembra simile a questa domanda . Sfortunatamente la risposta di Laurentiu Roescu funziona solo se si desidera abilitare header_checks per la posta in uscita che utilizza smtp come trasporto. La buona notizia è che la sua prima frase sul cleanupdemone ci dà un'idea della seconda soluzione.

  • È possibile applicare più metodi del servizio di pulizia se si desidera definire diversi header_checks, body_checks e altri parametri in man 5 header_checks.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.