qmailadmin

1 settembre 2020 Roberto Puzzanghera 5 commenti

qmailAdmin è un software libero che fornisce un'interfaccia web per gestire sistemi qmail con domini virtuali basati su vpopmail. Fornisce amministrazione per la creazione/cancellazione di utenti, alias, forward, mailing list e autoesponder.

Patch combinata

  • qmailadmin-skin, una patch che ho avuto il tempo di creare durante il lockdown, che dota il pannello di controlla di una nuova interfaccia grafica con tecnologia Mobile Responsive. Ho modifica tutti i file che stanno nella cartella html e molti file .c, dal momento che molto codice html stava proprio all'interno dei file sorgenti. Ho anche aggiunto un foglio di stile nella cartella images e un paio di immagini png con il logo qmail. Non dovrebbe essere complicato aggiornare o modificare il template da ora in avanti.
  • Una patch che chiama la libreria cracklib al fine di controllare la robustezza della password scelta, giusto per evitare la creazione di account insicuri del tipo "test 123456".
  • Un'altra patch (suggeritami da Tony, che ringrazio), di cui non conosco l'autore, che consente di loggare i tentativi falliti di autenticazione. In questo modo sarà possibile bannare gli IP sospetti per mezzo di fail2ban. E' richiest la creazione del log file /var/log/qma-auth.log, che deve assegnare i privilegi di scrittura ad apache.
  • Una patch che restituisce la compatibilità con ezmlm-idx-7 (autore sconosciuto), per la quale ringrazio J.D. Trolinger che me l'ha segnalata.
  • Un fix all'account catchall di Luca Franceschini.
  • Una patch ad autorespond.c che corregge il modo erroneo con cui i file .qmail vengono creati.

Changelog

  • 2020.09.01
    -mod_user.html: cleaned the html as it was printing unneeded strings
  • 2020.08.10
    -mod_user.html: added the "value" attribute to the name/gecos input tag (tx Pablo Murillo)

  • 2020.05.22
    - mod_user.html: removed the "required" attribute on password field, to allow modification with no password change

Ecco come si presenta il nuovo pannello di controllo:

simscan

5 agosto 2020 Roberto Puzzanghera 5 commenti

Simscan è un semplice programma che abilita il servizio qmail smtpd a rigettare virus , spam e a bloccare allegati durante la conversazione SMTP in modo da ridurre al minimo il carico per il sistema.

Dettagli sulla patch applicata

La versione 1.4.1 è un fork del programma originale di Inter7. I sorgenti sono stati ripuliti e leggermente modernizzati (per evitare vari warming durante la compilazione), contegono varie correzioni di bug e patche, tra le quali quasi tutte quelle di John Simpson (l'unica mancante è la patch "debug" che applicheremo comunque, come mostrato sotto) e il bug fix di Gustavo Castro che era presente nella mia precedente patch combinata. Pertanto la nuova patch agginge solamente solo quanto segue:

Patch di qmail

29 luglio 2020 Roberto Puzzanghera 16 commenti

Changelog

Il changelog completo e le info sulla patch sono all'interno del file README.PATCH.

  • 2020.07.29
    -dk-filter: corrected a bug where dk-filter was using DKIMDOMAIN unconditionally. Now it uses DKIMDOMAIN only if _SENDER is null (tx Manvendra Bhangui).
  • 2020.07.27
    -added a fix for cve-2005-2513 (tx C)
  • 2020.04.25
    -qmail-smtpd.c: added rcptcount = 0; in smtp_rset function to prevent the maxrcpto error if control/maxrcpt limit has been exceeded in multiple messages sent sequentially rather than in a single mail (tx Alexandre Fonceca)
    2020.04.16
  • 2020.04.16
    -qmail-remote-logging patch added (more info here)
  • 2020.04.10
    -DKIM patch updated to v. 1.28
    * outgoing messages from null sender ("<>") will be signed as well with the domain in env variable DKIMDOMAIN
    * declaring NODK env variable disables old domainkeys signature, while defining NODKIM disables DKIM.
  • 2020.01.11
    -qmail-tls patch updated to v. 20200107
    * working client cert authentication with TLSv1.3
  • 2019.12.08
    -BUG qmail-smtpd.c: now TLS is defined before chkuser.h call, to avoid errors on closing the db connection (tx ChangHo.Na)
  • 2019.08.07
    - a couple of adjustments to chkuser (tx Luca Franceschini, more info here)
    * BUG - since any other definition of starting_string ends up as "DOMAIN", if starting_string is otherwise defined, chkuser will be turned off.
    * CHKUSER_ENABLE_ALIAS_DEFAULT, CHKUSER_VAUTH_OPEN_CALL and CHKUSER_DISABLE_VARIABLE are now defined in chkuser_settings.h
    * Now CHKUSER_DISABLE_VARIABLE, CHKUSER_SENDER_NOCHECK_VARIABLE, CHKUSER_SENDER_FORMAT_NOCHECK, CHKUSER_RCPT_FORMAT_NOCHECK and CHKUSER_RCPT_MX_NOCHECK can be defined at runtime level as well.
  • 2019.07.12
    - qmail-channels patch added
    more info here http://www.thesmbexchange.com/eng/qmail-channels_patch.html
    - improved verbosity of die_read function in qmail-smtpd.c (qmail-smtpd: read failure). More info here

Plugins per Roundcube

16 luglio 2020 Roberto Puzzanghera 7 commenti

AGGIORNAMENTO del 15 luglio: nel plugin markasjunk sono state aggiunte le note di configurazione del driver sa_learn e del driver multi_driver.


I plugin che ho abilitato sono (al momento):

  • password, già incluso nella cartella plugins
  • managesieve, che scrive gli script per filtrare le email in arrivo (rigetto, spostamento in una cartella specifica, etc.). Notare che per usare questo è necessario aver abilitato  Dovecot managesieve.
  • SpamAssassin-User-Prefs-SQL, che consente all'utente di caricare su database SQL le prefenze su come Spamassassin deve filtrare la sua posta, creando ad esempio una black list.
  • Markasjunk, un plugin che consente di aggiungere con un click nel bottone "Marca come spam" l'indirizzo e-mail del mittente alla propria blacklist, o viceversa, o lanciare un comando come sa_learn.
  • rcguard.Questo plugin registra i tentativi di accesso falliti e presenta una verifica reCAPTCHA dopo un certo numero di accessi falliti.
  • Context Menu. Aggiunge un menu di dialogo alla lista dei messaggi, attivabile con il tasto destro, che comprende tra le altre cose la lista delle cartelle, la rubrica, il marcamento come letto/non letto, cancella, rispondi e inoltra. 
  • autologon. Esegue il login da una pagina esterna (CMS)
  • logout_redirect. Versione modificata per redirigere alla home page dopo il logout
  • newmail_notifier. può notificare le nuove mail in tre modi: focalizzando la finestra del browser e cambiandone l'icona, riproducendo un suono, oppure mostrando la notifica sul desktop (via webkitNotifications).
  • carddav. CardDav client. Può sincronizzare la rubrica con un server CardDav server come owncloud o SoGO.
  • enigma. Fornisce il supporto per la visualizzazione e l'invio di messaggi firmati e/o criptati in formato PGP (RFC 2440) e PGP/MIME (RFC 3156).

Installazione e configurazione di Spamassassin

15 luglio 2020 Roberto Puzzanghera 0 commenti

AGGIORNAMENTO del 15 luglio: aggiunte le note di installazione di Razor2, Pyzor e Spamcop (grazie e Gabriel Torres per il prezioso contributo).


SpamAssassin is a mature, widely-deployed open source project that serves as a mail filter to identify Spam. SpamAssassin uses a variety of mechanisms including header and text analysis, Bayesian filtering, DNS blocklists, and collaborative filtering databases. SpamAssassin runs on a server, and filters spam before it reaches your mailbox.

Rimozione del driver vpopmail-auth di Dovecot

17 marzo 2020 Roberto Puzzanghera 0 commenti

Coloro che ancora stanno utilizzando il driver vpopmail di Dovecot per fare l'autentucazione, dovrebbero prendere in considerazione la migrazione al driver sql, poichè il 17 marzo il Team di sviluppo di Dovecot ha annunciato la sua rimozione probabilmente già dalla prossima v2.3.11. Vedere qui per informazioni aggiuntive sulle componenti obsolete che saranno presto rimosse.

Bye bye Drupal

12 agosto 2017 Roberto Puzzanghera 0 commenti

Era ora che riuscissi a liberarmi della vecchia piattaforma Drupal come strumento per questo blog, ma finalmente ho trovato il tempo per migrare il database di Drupal e per riprendere qui la vecchia grafica (solo lo stile, il codice html è mio).

D'altronde, da almeno 15 anni porto avanti lo sviluppo di un mio CMS (basato su php/mariadb), che però originariamente non avevo usato per la mancanza del tempo necessario a costruirmi un tema html.

Ora il sito vive in ambiente Mobile Responsive e soprattutto mi consente di svincolarmi dagli incubi degli aggiormanti di Drupal e dei suoi pacchetti.

La parte sui commenti del presente CMS non è perfettamente collaudata e mi farebbe piacere avere eventualmente dei feedback su ogni problematica, quindi non esitate a scrivermi al riguardo.

Buon divertimento!

Configurazione di DKIM per qmail

10 aprile 2020 Roberto Puzzanghera 4 commenti

Questa pagina riguarda la patch DKIM inclusa nella mia patch combinata (maggiori informazioni qui). Questo argomento è avanzato ed è consigliabile tornare qui alla fine del tutto.

DKIM fornisce un metodo per validare l'identità di un nome a dominio associato a un messaggio con una autenticazione crittografata. La tecnica di validazione è basata sulla crittografia di una chiave pubblica: Il server che invia l'email aggiunge il nome a dominio al messaggio e vi affigge una firma digitale. Questa chiave è posta nell'intestazione DKIM-Signature: del messaggio. Colui che riceve il messaggio può controllare la validità della chiave pubblica leggendo un record TXT del DNS del dominio associato al messaggio.