User Tools

Site Tools


doc:appunti:linux:sa:policyd-rate-limit

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
doc:appunti:linux:sa:policyd-rate-limit [2021/02/09 12:29] – [Debug] niccolodoc:appunti:linux:sa:policyd-rate-limit [2024/09/16 17:54] (current) – [Configurazione] niccolo
Line 1: Line 1:
 ====== policyd-rate-limit ====== ====== policyd-rate-limit ======
 +
 +:!: **ATTENZIONE**: Su versioni Debian più datate (da Debian 6 Squeeze a Debian 9 Stretch) è probabile che venga installato il pacchetto **[[postfix-policyd]]** invece del più nuovo **policyd-rate-limit**.
  
 Si installa il pacchetto **policyd-rate-limit**: Si installa il pacchetto **policyd-rate-limit**:
Line 21: Line 23:
  
 Oltre all **login sasl**, è possibile tenere traccia e limitare anche il **sender** e l'**indirizzo IP**. Queste opzioni sono disabilitate per impostazione predefinita. Oltre all **login sasl**, è possibile tenere traccia e limitare anche il **sender** e l'**indirizzo IP**. Queste opzioni sono disabilitate per impostazione predefinita.
 +
 +<file>
 +limit_by_sasl: True
 +limit_by_sender: False
 +limit_by_ip: False
 +</file>
  
 È possibile specificare delle **eccezioni** (in eccesso o in difetto) per un particolare identificativo. È possibile specificare delle **eccezioni** (in eccesso o in difetto) per un particolare identificativo.
 +
 +<file>
 +# Limits by id is empty per default.
 +limits_by_id: {}
 +
 +# Some examples:
 +# limits_by_id:
 +#     poweruser@domain.org: []
 +#     192.168.0.254:
 +#         - [1000, 86400] # limits to 1000 mails by days
 +#     2a01:240:fe3d:4:219:bbff:fe3c:4f76: []
 +#     otheruser@domain.org:
 +#        - [50, 900]
 +</file>
 +
 +Il sistema può generare una mail di notifica giornaliera. Si deve indicare per quale limite temporale si vuole il report; se ad esempio nella impostazione dei **limits** si ha un limite con intervallo di tempo 900 secondi, si può chiedere che nel report vengano riportati i superamenti di tale soglia:
 +
 +<file>
 +report: True
 +report_to: "admin@domain.org"
 +report_subject: "policyd-rate-limit report"
 +report_limits: [900]
 +report_only_if_needed: True
 +</file>
 +
 +Se il parametro ''report_only_if_needed'' viene impostato a ''False'', la mail verrà inviata anche se non è stato superato alcun limite.
  
 ==== Collegamento con Postfix ==== ==== Collegamento con Postfix ====
Line 56: Line 90:
 ==== Debug ==== ==== Debug ====
  
-Il processo logga in **/var/log/syslog** con il tag **policyd-rate-limit**.+Il processo logga in **/var/log/syslog** con il tag **policyd-rate-limit**. Nel file di configurazione c'è l'opzione predefinita **debug: True**, sembra che non ci sia la possibilità di modificare la quantità di informazioni registrate (tante!). 
 + 
 +Per ogni esecuzione viene loggato qualcosa del genere: 
 + 
 +<file> 
 +policyd-rate-limit[907]: request=smtpd_access_policy 
 +policyd-rate-limit[907]: protocol_state=RCPT 
 +policyd-rate-limit[907]: protocol_name=ESMTP 
 +policyd-rate-limit[907]: client_address=181.136.222.243 
 +policyd-rate-limit[907]: client_name=unknown 
 +policyd-rate-limit[907]: client_port=55924 
 +policyd-rate-limit[907]: reverse_client_name=243-222-136-181.customers.provider.net 
 +policyd-rate-limit[907]: server_address=68.19.54.82 
 +policyd-rate-limit[907]: server_port=587 
 +policyd-rate-limit[907]: helo_name=SEGRETERIAPC 
 +policyd-rate-limit[907]: sender=info@sender.it 
 +policyd-rate-limit[907]: recipient=tommaso@recipient.it 
 +policyd-rate-limit[907]: recipient_count=0 
 +policyd-rate-limit[907]: queue_id=55C687D7ED 
 +policyd-rate-limit[907]: instance=1547b9.66a35bd5.4b32a.0 
 +policyd-rate-limit[907]: size=0 
 +policyd-rate-limit[907]: etrn_domain= 
 +policyd-rate-limit[907]: stress= 
 +policyd-rate-limit[907]: sasl_method=LOGIN 
 +policyd-rate-limit[907]: sasl_username=info@sender.it 
 +policyd-rate-limit[907]: sasl_sender= 
 +policyd-rate-limit[907]: ccert_subject= 
 +policyd-rate-limit[907]: ccert_issuer= 
 +policyd-rate-limit[907]: ccert_fingerprint= 
 +policyd-rate-limit[907]: ccert_pubkey_fingerprint= 
 +policyd-rate-limit[907]: encryption_protocol=TLSv1.2 
 +policyd-rate-limit[907]: encryption_cipher=ECDHE-RSA-AES256-GCM-SHA384 
 +policyd-rate-limit[907]: encryption_keysize=256 
 +policyd-rate-limit[907]: policy_context= 
 +policyd-rate-limit[907]: 050/050 hit since 900s 
 +policyd-rate-limit[907]: action=defer_if_permit Rate limit reach, retry later 
 +</file> 
 + 
 +==== Limite raggiunto con destinatari multipli ====
  
 Il limite viene giustamente applicato al **numero dei destinatari**, se una mail contiene **destinatari multipli** e il totale eccede il limite disponibile, **alcuni destinatari vengono scartati**. Nei log di Postfix si trova segnalato il rifiuto: Il limite viene giustamente applicato al **numero dei destinatari**, se una mail contiene **destinatari multipli** e il totale eccede il limite disponibile, **alcuni destinatari vengono scartati**. Nei log di Postfix si trova segnalato il rifiuto:
Line 68: Line 140:
 </code> </code>
  
-Cioè l'azione predefinita è **DEFER_IF_PERMIT** (vedere [[http://www.postfix.org/access.5.html|Postfix Access]])con relativo messaggio **SMTP 4.7.1**.+Cioè l'azione predefinita è **DEFER_IF_PERMIT** (vedere [[http://www.postfix.org/access.5.html|Postfix Access]]) con relativo messaggio **SMTP 4.7.1**. 
 + 
 +Un client di posta dovrebbe segnalare l'errore e considerare il **messaggio non inviato**, ma in generale **non è possibile capire quali destinatari sono stati accettati e quali rifiutati**. Ad esempio Thunderbird mostra un pop-up con il seguente messaggio: 
 + 
 +<code> 
 +An error occurred while sending mail. The mail server responded: 
 +4.7.1 <recipient@example2.org>: Recipient address rejected: Rate limit reach, retry later. 
 +Please check the message recipient "recipient@example2.org" and try again. 
 +</code>
  
-FIXME: Il client di posta come reagisce? 
  
doc/appunti/linux/sa/policyd-rate-limit.1612870191.txt.gz · Last modified: 2021/02/09 12:29 by niccolo