User Tools

Site Tools


doc:appunti:linux:sa:postfix-policyd

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
doc:appunti:linux:sa:postfix-policyd [2019/04/03 17:50] niccolodoc:appunti:linux:sa:postfix-policyd [2021/02/09 10:18] – [postfix-policyd] niccolo
Line 1: Line 1:
 ====== postfix-policyd ====== ====== postfix-policyd ======
 +
 +:!: Nelle versioni più recenti di Debian (es. Debian 10 Buster) il pacchetto **postfix-policyd** è stato rimosso, una alternativa è **[[policyd-rate-limit]]** :!:
  
 Problema: limitare il numero di mail inviate da un singolo utente (identificato da [[http://www.postfix.org/SASL_README.html|SASL]]) in un determinato periodo di tempo. Questo per bloccare lo spam che tramite botnet sfrutta account //rubati//. Problema: limitare il numero di mail inviate da un singolo utente (identificato da [[http://www.postfix.org/SASL_README.html|SASL]]) in un determinato periodo di tempo. Questo per bloccare lo spam che tramite botnet sfrutta account //rubati//.
Line 29: Line 31:
  
 Il programma richiede un database MySQL, purtroppo lo script per crearlo (''/usr/share/dbconfig-common/data/postfix-policyd/install/mysql'') non è compatibile con la versione 5.5.24 e quindi durante l'installazione bisogna correggerlo sostituendo tutte le occorrenze di ''TYPE=MyISAM'' con **''ENGINE=MyISAM''**. Il programma richiede un database MySQL, purtroppo lo script per crearlo (''/usr/share/dbconfig-common/data/postfix-policyd/install/mysql'') non è compatibile con la versione 5.5.24 e quindi durante l'installazione bisogna correggerlo sostituendo tutte le occorrenze di ''TYPE=MyISAM'' con **''ENGINE=MyISAM''**.
 +
 +**ATTENZIONE:** L'opzione **ENGINE=MyISAM** è necessaria, altrimenti **postfix-policyd** non sarà in grado di eseguire gli statement **INSERT DELAYED INTO** usati per popolare le tabelle del database,
 +
 +Questa una traccia per creare database e utente in MySQL:
 +
 +<code>
 +CREATE DATABASE postfixpolicyd;
 +CREATE USER postfixpolicyd@localhost IDENTIFIED BY 'MySecret';
 +GRANT ALL ON postfixpolicyd.* TO postfixpolicyd@localhost;
 +FLUSH PRIVILEGES;
 +</code>
  
 Anche il file di configurazione (**''/etc/postfix-policyd.conf''**) va corretto, togliendo gli spazi dalla stringa **''SYSLOG_FACILITY''** (vedere questo [[http://www.iredmail.org/forum/topic1215-iredmail-support-fatal-error-policyd-logifoo-possible-bug-solved.html|bug report]]): Anche il file di configurazione (**''/etc/postfix-policyd.conf''**) va corretto, togliendo gli spazi dalla stringa **''SYSLOG_FACILITY''** (vedere questo [[http://www.iredmail.org/forum/topic1215-iredmail-support-fatal-error-policyd-logifoo-possible-bug-solved.html|bug report]]):
Line 67: Line 80:
 </code> </code>
  
-Dopo aver avviato il demone si deve dire a Postfix di fare un check sul servizio ''postfix-policyd'' per ogni messaggio:+Dopo aver avviato il demone si deve dire a Postfix di fare un check sul servizio **postfix-policyd** per ogni messaggio:
  
 <file> <file>
-smtpd_recipient_restrictions =+smtpd_relay_restrictions =
     check_policy_service inet:127.0.0.1:10031,     check_policy_service inet:127.0.0.1:10031,
     permit_sasl_authenticated,     permit_sasl_authenticated,
Line 76: Line 89:
 </file> </file>
  
 +Nelle vecchie versioni di Postfix si doveva includere il controllo nella direttiva **smtpd_recipient_restrictions**, la nuova direttiva **smtpd_relay_restrictions** è preferibile perché viene applicata prima.
 ===== Verifica del funzionamento ===== ===== Verifica del funzionamento =====
  
Line 85: Line 99:
   rcpt=2/3600(2), threshold=0%|20%|0%, sasl_username=niccolo   rcpt=2/3600(2), threshold=0%|20%|0%, sasl_username=niccolo
 </code> </code>
 +
 +È importante vedere la stringa **throttle=update(a)**, significa che è stata aggiornata la riga opportuna nel database per tenere aggiornati i contatori. Se invece si legge **throttle=bypass** significa che qualcosa non va, ad esempio che è stato impossibile eseguire la modifica nel database (vedere sopra l'opzione ''ENGINE=MyISAM'').
  
 Collegandosi a MySQL è possibile vedere lo stato del throttling: Collegandosi a MySQL è possibile vedere lo stato del throttling:
doc/appunti/linux/sa/postfix-policyd.txt · Last modified: 2024/04/15 15:21 by niccolo