Para empezar, comentar que Policyd es un sistema antispam para Postfix que hace muchas cosas: greylisting, throttling, rate limiting, spamtrap y blacklisting/whitelisting. Aquí vamos a usar la función de throttling o de limitación del número de correos por unidad de tiempo. Efectivamente, usaremos Debian GNU/Linux, aunque partes de la guía puedan adaptarse a otras distros. Al lío:
$ apt-get install postfix-policyd A modo de nota informativa, la instalación del paquete nos crea automáticamente la BD postfixpolicyd en MySQL, y la tabla que nos interesa aquí es throttle. $ vi /etc/postfix-policyd.conf: # Habilitamos el sender throttling. SENDERTHROTTLE=1 # Le decimos que dé un rechazo temporal (4xx) en lugar de uno definitivo (5xx). QUOTA_EXCEEDED_TEMP_REJECT=1 # Ponemos un mensajito que nos sirva para identificarlo. SENDER_QUOTA_REJECTION="Quota Exceeded (check policyd!)." SENDER_SIZE_REJECTION="Message size too big (check policyd!)." # Definimos la quota de número de correos permitido por unidad de tiempo... SENDERMSGLIMIT=200 # ...así como la cantidad de destinatarios permitidos. SENDERRCPTLIMIT=500 # Y el tamaño máximo total transferido. Ojo porque tiene un hardlimit en 2GB. SENDERQUOTALIMIT=2000000000 # La unidad de tiempo en que ésta limitación se reinicializa/resetea. SENDERTIMELIMIT=1h # El tamaño máximo del mensaje (100MB). SENDERMSGSIZE=102400000 # Y finalmente los umbrales de los avisos, que iran a syslog. SENDERMSGSIZE_WARN=50 SENDERMSGSIZE_PANIC=90 SENDER_INACTIVE_EXPIRE=5d $ /etc/init.d/postfix-policyd restart $ vi /etc/postfix/main.cf: smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10031, permit_mynetworks $ /etc/init.d/postfix restart Y con ésto ya tendríamos funcionando el throttling, cuyo estado podemos consultar a través de la base de datos, los logs o el mencionado script. Comentarios (3) |