Plugins per Roundcube
23 marzo 2025 by Roberto Puzzanghera 7 commenti
- Repository ufficiale: http://plugins.roundcube.net/
Changelog
- 23 marzo 2025
il drivervpopmaild
del plugin password è nuovamente funzionante, ora che il problema è stato sistemato dal latovpopmail
(versione 5.6.7 in poi).
Installazione di Dovecot e sieve su qmail + vpopmail
16 marzo 2025 by Roberto Puzzanghera 7 commenti
Changelog
- Mar 15, 2025 (config version 2.4.0.1 diff)
- Added quota warnings feature. Improved quota configuration in 90-quota.conf (more info here)
- Configured auth-master.conf.ext and auth-deny.conf.ext. To be included from local.conf - Mar 9, 2025
- fixed quota calculation in sql queries (tx Hakan Cakiroglu) - Feb 22, 2025
- Bug fix in 90-sieve.conf: global script to move spam into Junk now working
- Bug fix in move-spam.sieve: erroneously matches "YES" if "BAYES" is in the header - Feb 15, 2025
- added support forvpopmail
configured with--disable-many-domains
- 90-sieve.conf: global script move-spam.sieve called correctly - Feb 8, 2025
- dovecot_postlogin.sh: query changed in order to add new records as well (tx Bai Borko)
- bug fix: pop3 service was executing imap instead of pop3 (tx Gabriel Torres) - Jan 29, 2025
- dovecot upgraded to v 2.4.0. Old configuration files are not valid anymore and you have to install dovecot from scratch. - Nov 15, 2024
- added a postlogin script to update the vpopmail.lastauth SQL table on login (see 10-master.conf, thanks kengheng) - Dec 29, 2023
default_pass_scheme = SHA512-CRYPT (was MD5-CRYPT) in dovecot-sql.conf.ext, as vpopmail-5.6.x has now SHA512-CRYPT password by default - Feb 10, 2023
- added a patch to restore the old vpopmail-auth driver (tx Ali Erturk TURKER)
Impostare il firewall con Fail2Ban
14 marzo 2025 by Roberto Puzzanghera 0 commenti
- Versione: 1.1.0
- Maggiori informazioni qui
- Howto (wiki)
- Manuale
Fail2ban ispeziona i log file (ad es. /var/log/apache/error_log) e banna IPs che mostrano un comportamento sospetto -- troppe password sbagliate, tentativi di exploits, etc. Generalmente Fail2Ban è quindi usato per aggiornare le regole del firewall al fine di rigettare gli indirizzi IP durante un intervallo di tempo settabile, benchè ogni altra azione (come l'invio di una mail di notifica) può anche altresì essere impostata. Tra le altre cose Fail2Ban mette a disposizione dei filtri per diversi servizi come apache, courier, ssh, etc.
Mostrerò brevemente come installare e configurare fail2ban
per rigettare le connessioni di IP sospetti, specialmente quelli riguardanti la patch qmail-dnsrbl
. Ciò evita di essere bannati noi stessi da spamhaus
, che è gratuito solo fino a 100.000 query al giorno.
fail2ban
richiede che si abbia un firewall come nftables
o iptables
attivo.
Changelog
- Mar 14, 2025
- dovecot filter updated for dovecot 2.4 - May 1, 2024
- Fail2Ban upgraded to v. 1.1.0 (changelog)
* This version drops the python2 support
* newfail2ban-client stats
command returns statistic in form of table (jail, backend, found and banned counts) - Jul 15, 2023
- l'installazione e la configurazione è stata rivista per funzionare suDebian,
dovepython2
non è presente (grazie a Gabriel Torres) - Nov 20, 2022
-switched all actions tonftables
, as it has now replacediptables
andfail2ban
has support for it. Just replace "iptables" with "nftables" in your jails. - Nov 18, 2022
-fail2ban
upgraded to v. 1.0.2
- jails now have a different action's declaration (iptables[type=multiport] instead of iptables-multiport[])
- added a short note on how to configure the server with a network bridgeautorespond
12 marzo 2025 by Roberto Puzzanghera 0 commenti
- github repo
- Versione usata: 2.0.9
- README
- Changelog
- Autore originale: Inter7
autorespond
è usato per le risposte automatiche in caso di assenza (vacation messages). E' richiesto daqmailadmin
.Changelog
- Mar 12, 2025
- bug fix in memory allocation which caused a segfault when To: address has be used (tx Stephan for the hint)
Roundcube webmail
9 marzo 2025 by Roberto Puzzanghera 4 commenti
- Info: https://roundcube.net
- Versione: 1.6.10
Roundcube è una webmail avanzata con una bella interfaccia grafica.
Changelog
- Mar 9, 2025
added$config['quota_zero_as_unlimited'] = true;
to show quota unlimited instead of unknown for accounts with unlimited quota - Feb 9, 2025
RC update to v. 1.6.10 - Sep 28, 2022
RC upgraded to v. 1.6.6
-new $config['imap_host'] variable
-all my SMTP config options were stripped from my configuration file and I had to restore them - Gen 3, 2021
disabled the SMTP authentication when sending messages via RC. SMTP port changed to 25.
Installare un certificato Let's Encrypt per i server qmail e dovecot
22 febbraio 2025 by Roberto Puzzanghera 9 commenti
Changelog
- 22 febbraio 2025
Let's Encrypt ha annunciato che interromperà il servizio di avviso via mail per i certificati in scadenza. Aggiunto uno script che fa la stessa cosa internamente. - 5 agosto 2023
- L'installzione del certificato è ora basata sudehydrated.
La vecchia documentazione basata sucertbot
si trova in fondo a questa pagina, ma non verrà più aggiornata. - May 18, 2023
- added the option--key-type rsa
to thecertbot
command, to avoid thatcertbot
will silently default toECDSA
the private key format, which results not understandable by myopenssl-1.1
. In this way the format of the private key will beRSA
. More info here.
To enable HTTPS on your website, you need to get a certificate (a type of file) from a Certificate Authority (CA). Let’s Encrypt is a CA. In order to get a certificate for your website’s domain from Let’s Encrypt, you have to demonstrate control over the domain. With Let’s Encrypt, you do this using software that uses the ACME protocol which typically runs on your web host.
Installare e configurare VPopMail
16 febbraio 2025 by Roberto Puzzanghera 6 commenti
- Versione di
vpopmail
: 5.6.7 - github: sagredo-dev/vpopmail
- Scarica
- Changelog completo
- README.vdelivermail
- Pagina originale di Inter7
Vpopmail fornisce un modo semplice di gestire indirizzi di posta su domini virtuali e account email diversi da quelli su /etc/passwd.
Changelog
- Mar 23, 2025 (v. 5.6.7)
- bug fix in vpopmaild.c: Crypted[64] enlarged to Crypted[128] to make room for SHA-512 passwords. This restores the usability of the RoundCube's 'password' plugin (commit)
- fixed quota calculation in sql procedures for dovecot (tx Hakan Cakiroglu) (commit)
- minor changes to the usage function of vmakedotqmail.c (commit) - Feb 15, 2025 (v. 5.6.6)
- bug fix: pwstr.h was not installed by Makefile (tx Bai Borko) - Feb 9, 2025
- added pwd strength check also for vadduser.c
- removed-std=c99 -D_XOPEN_SOURCE=500
arguments fromCFLAGS
in configure.ac to makeclang
happy
- several changes to compile on FreeBSD clang v. 18.1.6 - Dec 20, 2024 (v. 5.6.4)
- Password strength enforcement PR #5 (grabbed from Matt Brookings' 5.5.0-dev version)
- Dropped min pwd length feature.
- vmysql.h: tables' layout changed in order to have VARCHAR instead of CHAR. Fields containing ip addresses enlarged to VARCHAR(39), to create room for ipv6. Unix timestamps definition changed from BIGINT(20) to INT(11). (commit 44bad58) Have a look to the upgrade notes below. - Oct 19, 2024 (v. 5.6.3)
- bug fixed: passwords with length > 8 were denied if sha-512 was disabled - Oct 14, 2024 (v. 5.6.3)
- fixed a configure break where a trivial C test program exits on error with gcc-14.1 due to missing headers
- vusaged/domain.c: fixed -Wimplicit-function-declaration compilation warning
- vmysql.h: dropped the multicolumn PRIMARY KEY in valias table to allow multiple forwards for a given alias.
In case one already has the valias table defined, this is the sql query for the upgrade:
ALTER TABLE `vpopmail`.`valias` DROP PRIMARY KEY, ADD INDEX (`alias`, `domain`, `valias_type`) USING BTREE;
ALTER TABLE `vpopmail`.`valias` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`); - Jun 7, 2024
- the header files oflibev
are now installed in /usr/local/include/libev (was /usr/local/include) to avoid conflicts withlibevent
.vusaged
configure
command was adjusted accordingly. - Dec 11, 2023
- vpopmail-5.6.0 released (read the update notes) - Aug 27, 2023
- new combined patch. More info here
* The logic of the defaultdelivery patch/feature has been revised. if configured with--enable-defauldelivery
vpopmail
will save control/defauldelivery in the user's .qmail andvdelivermail
LDA in the domain's .qmail-default file. This will achieve multiple benefit: you haveqmail
forwards andsieve
together andvalias
available. Thevalias
table scheme was changed as well.
Aggiornare alla versione 5.6.x
Quando si passa dalla versione 5.4.33 alla versione 5.6.x, se si hanno gli account su
SQL
, è necessario aumentare le dimensioni della colonnavpopmail.pw_passwd
del database, poichè il meccanismo di criptaggio delle password è ora basato suSHA512
, che è più lungo del vecchioMD5
; si può comunque scegliere di disabilitare leSHA512
pwd con--disable-sha512-passwords
al momento della configurazione. La colonnavpopmail.pw_passwd
dovrebbe essere ora impostata a una dimensione di 128; questa la query:ALTER TABLE `vpopmail` CHANGE `pw_passwd` `pw_passwd` CHAR(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL;
Aggiornare dalla versione 5.6.3 alla versione 5.6.4
Varie altre modifiche che però non creano incompatibilità con le versioni precedenti sono state apportate al layout delle tabelleMySQL
. Ecco la query da lanciare per alterarle (inlclusa la modifica già menzionata sopra):/* vpopmail */ ALTER TABLE `vpopmail` CHANGE `pw_name` `pw_name` VARCHAR(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `vpopmail` CHANGE `pw_domain` `pw_domain` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `vpopmail` CHANGE `pw_passwd` `pw_passwd` VARCHAR(128) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL; ALTER TABLE `vpopmail` CHANGE `pw_gecos` `pw_gecos` VARCHAR(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL; ALTER TABLE `vpopmail` CHANGE `pw_dir` `pw_dir` VARCHAR(160) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL; ALTER TABLE `vpopmail` CHANGE `pw_shell` `pw_shell` VARCHAR(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL; /* vlog */ ALTER TABLE `vlog` CHANGE `user` `user` VARCHAR(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL; ALTER TABLE `vlog` CHANGE `passwd` `passwd` VARCHAR(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL; ALTER TABLE `vlog` CHANGE `domain` `domain` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL; ALTER TABLE `vlog` CHANGE `remoteip` `remoteip` VARCHAR(39) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL; ALTER TABLE `vlog` CHANGE `error` `error` TINYINT(1) NULL DEFAULT NULL; ALTER TABLE `vlog` CHANGE `timestamp` `timestamp` INT NOT NULL DEFAULT '0'; /* lastauth */ ALTER TABLE `lastauth` CHANGE `user` `user` VARCHAR(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `lastauth` CHANGE `domain` `domain` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `lastauth` CHANGE `remote_ip` `remote_ip` VARCHAR(39) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `lastauth` CHANGE `timestamp` `timestamp` INT NOT NULL DEFAULT '0'; /* limits */ ALTER TABLE `limits` CHANGE `domain` `domain` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; /* alias */ ALTER TABLE `valias` CHANGE `alias` `alias` VARCHAR(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `valias` CHANGE `domain` `domain` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; /* dir_control */ ALTER TABLE `dir_control` CHANGE `domain` `domain` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; /* aliasdomains */ ALTER TABLE `aliasdomains` CHANGE `alias` `alias` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL; ALTER TABLE `aliasdomains` CHANGE `domain` `domain` VARCHAR(96) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL;
Mie modifiche al programma
Questo l'insieme delle mie patch che sono incluse in
vpopmail
a partire dalla versione 5.6.0:- la patch sql-aliasdomains, che fa in modo che VPopMail salvi gli aliasdomains su mysql. Questo consente al driver sql di dovecot di fare l'autenticazione non solo con i domini reali ma anche con gli alias, a condizione che si modifichi anche la query all'interno del driver, come verrà spiegato dopo. Ciò è ora importante, dato che dovecot ha eliminato il driver per VPopMail.
- la patch defaultdelivery, copia il delivery agent preferito, salvato in QMAILDIR/control/defauldelivery, nel file .qmail della mailbox, e il delivery agent di
vpopmail
nel file .qmail-default del dominio.
Per informazioni precise leggere qui. Dare anche una occhiata al file doc/README.defaultdelivery nel codice sorgente. - dovecot-sql-procedures patch. Se si vuole usare il driver sql di
dovecot
con la configurazione "una tabella per un dominio) (--disable-many-domains
) è necessario personalizzare in modo pesante le query sql. Con questo aggiustamentovpopmail
installerà in modo autonomo la procedura e le funzioni sql nel database quando si crea un nuovo dominio. La procedura può essere chiamata dadovecot
per fare l'autenticazione.
Il codice sql supporta gli aliasdomains e i mysql limits, e sarà caricato dal file~/vpopmail/etc/disable-many-domains_procedures.sql
che si può ovviamente personalizzare.
E' necessario configurarevpopmail
con--enable-mysql-bin=PATH
poichè dobbiamo installare la procedura chiamandomysql
con un comando shell. - vusaged configure patch
Almeno su Debian 11 sembra chevusaged
si rifiuti di terminare la configurazione (comando configure) a causa di un mancato link alle libreriemysql
(configure: error: No vauth_getpw in libvpopmail). Ovviamente ho spulciato lo script e il link sembra impostato correttamente, e ciò è al momento molto strano. Dopo un po' di prove, ho notato che facendo in modo che il configure superi il problema senza bloccarsi con un messaggio di errore, la compilazione susseguente vada a buon fine linkando corrrettamentelibmysqlclient
e terminando con successo la compilazione.
NB: è necessario dare unautoreconf -f -i
nella directoryvusaged
prima della configurazione, dal momento che il fileconfigure.ac
è stato modificato. - s/qmail cdb patch. Questa patch, che consente a
vpopmail
di localizzare correttamente il file assign.cdb diqmail
per gli utentis/qmail
, nell'attuale pacchetto perchè rimpiazzata da una analoga. Gli utenti dis/qmail
dovrebbero configurarevpopmail
con l'opzione--enable-qmail-cdb-name=assign.cdb
- recipient check patch. Da usare con s/qmail di Erwin Hoffmann al fine di validare il destinatario della mail. Questa patch non è importante nella presente installazione. Si veda il file doc/README.vrcptcheck per maggiori informazioni.
- vuserinfo-D_newline, una piccola patch che migliora la leggibilità quando si utilizza il comando
vuserinfo -D
, introducendo una nuova linea - la patch gcc-10-compat, con il la quale VPopMail è compatibile con
gcc-10
. - Una patch che risolve i seguenti problemi (Ali Erturk TURKER):
- vdelivermail.c controlla i permessi di spamassassin anzichè di maildrop.
- vopen_smtp_relay() restituisce il valore corretto, di modo che open_smtp_relay() possa rilevare e riportare gli errori di connessione al database (vmysql.c, voracle.pc, vpgsql.c)
- vdel_limits() esegue un core-dump se la connessione al database non è disponibile. (vmysql.c, voracle.pc)
AWStats
15 febbraio 2025 by Roberto Puzzanghera 0 commenti
Un grande grazie a Bai Borko per aver fornito le istruzioni su cui si basa quanto segue e per lo script perl.
AWStats è uno strumento libero e potente che genera statistiche per vari servizi per il web. Questo analizzatore di log funziona via CGI o dalla linea di comando e mostra tutte le informazioni possibili contenute nei log per mezzo di grafici in delle pagine web.