[toc] # Instalación y configuración de Amavis, ClamAV y SpamAssassin <p style="text-align: justify;"> Ahora vamos a instalar y configurar Amavis, ClamAV y SpamAssassin que son herramientas de protección antivirus y antispam. * Amavis : Es el "pegamento" que une todo. Actúa como intermediario entre Postfix y las herramientas de escaneo (ClamAV y SpamAssassin). * ClamAV : Un potente antivirus que escaneará todos los correos en busca de malware. * SpamAssassin : Detectará correos spam basados en reglas avanzadas, redes colaborativas y aprendizaje automático (Bayes). ## Instalar los Paquetes Necesarios sudo apt update sudo apt install amavisd-new spamassassin clamav clamav-daemon -y * Amavis : El núcleo del sistema de filtrado. * SpamAssassin : Filtrado antispam avanzado. * ClamAV : Antivirus robusto ## Configurar Amavis sudo vi /etc/amavis/conf.d/15-content_filter_mode Descomenta: @bypass_virus_checks_maps = ( \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re); @bypass_spam_checks_maps = ( \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re); ### Configurar Opciones Generales sudo vi /etc/amavis/conf.d/20-debian_defaults Añade al final: @local_domains_maps = ['.']; Archivo: sudo vi /etc/amavis/conf.d/50-user Añade: use strict; @inet_acl = qw(127.0.0.1 [::1]); # Permitir conexiones solo desde localhost $myhostname = 'cfranco.test'; Archivo: sudo vi /etc/systemd/system/spamassassin.service Añade: [Unit] Description=Perl-based spam filter using text analysis After=network.target [Service] Type=simple ExecStart=/usr/sbin/spamd --create-prefs --max-children 5 -u debian-spamd -x -q --listen=127.0.0.1 --port=783 Restart=on-failure [Install] WantedBy=multi-user.target Reiniciar sudo systemctl daemon-reload Verifica permisos: sudo mkdir -p /var/lib/spamassassin sudo chown -R debian-spamd:debian-spamd /var/lib/spamassassin ### Integrar ClamAV con Amavis sudo adduser clamav amavis Reinicia los servicios: sudo systemctl restart amavis sudo systemctl restart clamav-daemon sudo systemctl status amavis sudo systemctl status clamav-daemon ### Verifica que ClamAV esté actualizando sus bases de datos automáticamente: sudo vi /etc/clamav/freshclam.conf Añade al final: NotifyClamd /etc/clamav/clamd.conf Reinicia el servicio: sudo systemctl start clamav-freshclam sudo systemctl restart clamav-freshclam sudo systemctl status clamav-freshclam ## Configurar SpamAssassin sudo vi /etc/spamassassin/local.cf Añade al final: # Habilitar el filtrado de spam rewrite_header Subject *****SPAM***** report_safe 0 required_score 5.0 use_bayes 1 bayes_auto_learn 1 Habilitamos actualizaciones automáticas: sudo vi /etc/default/spamassassin Añade: # Change to one to enable spamd ENABLED=1 # Options OPTIONS="--create-prefs --max-children 5 --username debian-spamd --helper-home-dir /var/lib/spamassassin" # Set nice scheduling priority NICE="--nicelevel 15" # Cronjob CRON=1 Archivo: sudo vi /lib/systemd/system/spamassassin.service Añade: [Unit] Description=Perl-based spam filter using text analysis After=network.target [Service] Type=forking ExecStart=/usr/sbin/spamd --create-prefs --max-children 5 --helper-home-dir ExecReload=/bin/kill -HUP $MAINPID KillMode=mixed Restart=on-failure [Install] WantedBy=multi-user.target Añade: # Change to one to enable spamd ENABLED=1 # Options OPTIONS="--create-prefs --max-children 5 --username debian-spamd" # Specify the IP address and port for spamd to listen on OPTIONS="${OPTIONS} --listen=127.0.0.1 --port=783" # Options OPTIONS="--create-prefs --max-children 5 --username debian-spamd" # Set nice scheduling priority #NICE="--nicelevel 15" CRON=1 ## Integrar Amavis con Postfix: sudo vi /etc/postfix/main.cf Añade al finanl: content_filter = amavis:[127.0.0.1]:10024 receive_override_options = no_address_mappings Ahora vamos a la de master.cf: sudo vi /etc/postfix/master.cf Añade al final: amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} smtp inet n - n - - smtpd -o content_filter=spamassassin Reiniciar los servicios: sudo postfix check sudo systemctl restart postfix sudo systemctl restart amavis sudo systemctl restart clamav-daemon sudo systemctl restart spamassassin sudo systemctl status amavis sudo systemctl status clamav-daemon sudo systemctl status spamassassin ## Verificación de la configuración: wget https://secure.eicar.org/eicar.com.txt echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > eicar.com sudo clamscan eicar.com.txt Si da problemas con los permisos: sudo chown -R amavis:amavis /var/lib/spamassassin sudo chmod -R 755 /var/lib/spamassassin sudo rm -rf /var/lib/spamassassin/compiled/* sudo sa-compile Reiniciar servicios: sudo systemctl restart amavis sudo systemctl restart clamav-daemon sudo systemctl restart spamassassin sudo systemctl status amavis sudo systemctl status clamav-daemon sudo systemctl status spamassassin Comprobación: sudo apt install mutt echo "This is a test email with a virus attachment." | mutt -s "Virus Test" -a eicar.com -- user1@ccuellar.test Resultado mirar /var/log/mail.log: 2025-04-02T14:50:54.087910+02:00 ccuellar amavis[27783] (27783-04) Blocked INFECTED (Eicar-Sig nature) {DiscardedInbound,Quarantined}, [127.0.0.1] <isard@ccuellar.test> -> <usuario1@ccuella r.test>, quarantine: u/virus-uJ_SVNcZZ_zf, Message-ID: <Z-0yrS_TkzrRVzFS@ccuellar.test>, mail_ id: uJ_SVNcZZ_zf, Hits: -, size: 1167, dkim_sd=202401:ccuellar.test, 83 ms Enviar otro correo pero solo un mensaje: 2025-04-02T14:51:58.912222+02:00 ccuellar amavis[27782] (27782-05) Passed CLEAN {RelayedInboun d}, [127.0.0.1] <isard@ccuellar> -> <user1@ccuellar.test>, Message-ID: <20250402125158.ABBEF1A 3C7A@email.ccuellar.test>, mail_id: ghTI5wCkJ8ov, Hits: -0.001, size: 419, queued_as: D65471A3 C75, 197 ms 🤗 --- ## [Índice de secciones aquí](https://hackmd.io/@ccuellar/rJ73y6FpJe) ## [👈Anterior sección](https://hackmd.io/@ccuellar/rkm3hAKpJl) 😄 [Siguiente sección 👉](https://hackmd.io/@ccuellar/Bkx1l19Tye)