doc:appunti:linux:sa:policyd-rate-limit
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:linux:sa:policyd-rate-limit [2021/02/09 11:30] – niccolo | doc: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**: | ||
| Si installa il pacchetto **policyd-rate-limit**: | Si installa il pacchetto **policyd-rate-limit**: | ||
| Line 10: | Line 12: | ||
| * Viene creato un database SQLite in **/ | * Viene creato un database SQLite in **/ | ||
| - | === Configurazione === | + | ==== Configurazione |
| Nel file di configurazione **/ | Nel file di configurazione **/ | ||
| Line 21: | Line 23: | ||
| Oltre all **login sasl**, è possibile tenere traccia e limitare anche il **sender** e l' | Oltre all **login sasl**, è possibile tenere traccia e limitare anche il **sender** e l' | ||
| + | |||
| + | < | ||
| + | limit_by_sasl: | ||
| + | limit_by_sender: | ||
| + | limit_by_ip: | ||
| + | </ | ||
| È 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. | ||
| - | === Collegamento con Postfix === | + | < |
| + | # Limits by id is empty per default. | ||
| + | limits_by_id: | ||
| + | |||
| + | # Some examples: | ||
| + | # limits_by_id: | ||
| + | # | ||
| + | # | ||
| + | # - [1000, 86400] # limits to 1000 mails by days | ||
| + | # | ||
| + | # | ||
| + | # - [50, 900] | ||
| + | </ | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | report: True | ||
| + | report_to: " | ||
| + | report_subject: | ||
| + | report_limits: | ||
| + | report_only_if_needed: | ||
| + | </ | ||
| + | |||
| + | Se il parametro '' | ||
| + | |||
| + | ==== Collegamento con Postfix | ||
| Per aggiungerlo ai filtri utilizzati da Postfix è sufficiente ad esempio aggiungerlo alla catena dei filtri **smtpd_relay_restrictions**: | Per aggiungerlo ai filtri utilizzati da Postfix è sufficiente ad esempio aggiungerlo alla catena dei filtri **smtpd_relay_restrictions**: | ||
| Line 32: | Line 66: | ||
| </ | </ | ||
| - | === Database === | + | ==== Database |
| Nel database esiste una tabella **mail_count** con un record per ogni mail inviata, nella riga compare il nome di login e il timestamp dell' | Nel database esiste una tabella **mail_count** con un record per ogni mail inviata, nella riga compare il nome di login e il timestamp dell' | ||
| Line 43: | Line 77: | ||
| </ | </ | ||
| - | Nel database | + | Il database |
| < | < | ||
| 0 0 * * * policyd-rate-limit / | 0 0 * * * policyd-rate-limit / | ||
| </ | </ | ||
| + | |||
| + | Vengono automaticamente rimossi tutti i record che hanno un **timestamp più vecchio del doppio del limite temporale maggiore**. | ||
| + | |||
| + | Se nella configurazione sono abilitati i **report**, nel database viene creata anche la tabella **limit_report**, | ||
| + | |||
| + | |||
| + | ==== Debug ==== | ||
| + | |||
| + | Il processo logga in **/ | ||
| + | |||
| + | Per ogni esecuzione viene loggato qualcosa del genere: | ||
| + | |||
| + | < | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | policyd-rate-limit[907]: | ||
| + | </ | ||
| + | |||
| + | ==== Limite raggiunto con destinatari multipli ==== | ||
| + | |||
| + | Il limite viene giustamente applicato al **numero dei destinatari**, | ||
| + | |||
| + | < | ||
| + | postfix/ | ||
| + | 450 4.7.1 < | ||
| + | Recipient address rejected: Rate limit reach, retry later; | ||
| + | from=< | ||
| + | to=< | ||
| + | </ | ||
| + | |||
| + | Cioè l' | ||
| + | |||
| + | Un client di posta dovrebbe segnalare l' | ||
| + | |||
| + | < | ||
| + | An error occurred while sending mail. The mail server responded: | ||
| + | 4.7.1 < | ||
| + | Please check the message recipient " | ||
| + | </ | ||
| + | |||
doc/appunti/linux/sa/policyd-rate-limit.1612866648.txt.gz · Last modified: by niccolo
