Aggiunta di intestazioni alla posta proveniente da exim4
-
02-07-2019 - |
Domanda
Ho un sistema Debian Etch con Exim4-daemon-heavy.
Il sistema è aperto a Internet, ma l'intenzione è quella di ricevere solo posta legittima proveniente da un servizio di filtro antispam, che viene eseguito come proxy prima di esso. (Non posso solo limitare l'accesso a quegli IP, perché ho alcuni utenti autorizzati che inoltrano tramite il mio server sulla porta 25. So che dovrei usare 587 - ma attualmente non lo sono.)
Il modo generale in cui funziona è:
[Internet] - > [Proxy SMTP] - > [Il mio server]
Sfortunatamente ho degli spammer che inviano posta direttamente al mailserver e ignorano i record MX. Quindi sembra che la mia ovvia soluzione sia:
- Aggiungi un'intestazione a ciascun messaggio elaborato nel proxy SMTP.
- Aggiungi un'intestazione sul mio server per ogni messaggio in arrivo a meno che la posta provenga da un inoltro autorizzato. (ad es. qualcuno che ha completato AUTH SMTP.)
In questo modo ho potuto usare procmail solo per i messaggi spazzatura che venivano direttamente, tramite mittenti che ignoravano i miei record MX.
Sono abbastanza sicuro che Exim4 potrebbe essere costretto ad aggiungere un'intestazione come " X-Submitter: $ ip " - per registrare l'IP remoto che ha inviato il messaggio, ma non sono sicuro di come farlo.
Soluzione
Essere consapevoli del fatto che i riconfezioni debian esistono in un modo abbastanza unico che rende il loro imballaggio e la loro manutenzione più semplici ma rende l'utilizzo delle regole generiche a volte non collegabile in modo uniforme.
Il modo corretto di gestirlo sarebbe rifiutare la posta non autorizzata e non dall'IP proxy. Inserisci qualcosa del genere nel tuo ACL rcpt:
deny message = quit trying to bypass DNS
!hosts = PROXY_IP_ADDRESS
!authenticated = *