1 settembre 2020 Roberto Puzzanghera5 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.
qmail
. Non dovrebbe essere complicato aggiornare o modificare il template da ora in avanti.cracklib
al fine di controllare la robustezza della password scelta, giusto per evitare la creazione di account insicuri del tipo "test 123456".fail2ban
. E' richiest la creazione del log file /var/log/qma-auth.log
, che deve assegnare i privilegi di scrittura ad apache
..qmail
vengono creati.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:
cracklib
Cracklib
è una libreria di funzioni che fornisce il controllo del grado di complessità di una password per mezzo di una lista di parole note (dizionario da installare). cracklib
confronta la password scelta cone le parole del dizionario e se esa è simile a una di queste restituisce un responso negativo.
Prima di installare qmailadmin
dobbiamo installare cracklib
e poi applicare la nostra patch. La patch migliora quella resa disponibile tempo fa da Inter7, che però agiva solo nella pagina di notifica dell'utente. Io ho fatto in modo qmailadmin
facesse una chiamata a cracklib
anche alla creazione dell'utente e nella pagina di cambio password..
E' molto probabile che esista un pacchetto cracklib
fornito dalla propria distribuzione, magari con all'interno il dizionario già pronto, in tal caso si salti al prossimo paragrafo. In caso contrario installare cracklib
alla solita maniera:
wget https://ftp.osuosl.org/pub/blfs/conglomeration/cracklib/cracklib-2.9.7.tar.bz2 tar xjf cracklib-2.9.7.tar.bz2 cd cracklib-2.9.7 ./configure --with-default-dict=/usr/share/cracklib/pw_dict make make install ldconfig
# Creare la cartella che ospiterà il dizionario (la stessa usata sopra nel comando configure) mkdir /usr/share/cracklib cd /usr/share/cracklib # scaricare il dizionario (words list) wget https://ftp.osuosl.org/pub/blfs/conglomeration/cracklib/cracklib-words-2.9.7.bz2 bunzip2 cracklib-words-2.9.7.bz2 # formattare e compilare il dizionario cracklib-format cracklib-words-2.9.7 | cracklib-packer pw_dict
Controlliamo che il dizionario sia stato creato a partire dal file cracklibs-words
:
ls cracklib-words-2.9.7 pw_dict.hwm pw_dict.pwd pw_dict.pwi
Il database è costituito da quei tre file compilati pw_dict.*
. E' sempre possibile arricchire il database aggiungendo righe con parole nuove e poi utilizzando i comandi cracklib-format/
cracklib-packer
come mostrato sopra.Prendiamo nota della posizione del database perchè la dovremo passare al configure
di qmailadmin
.
cracklib
Facciamo ora qualche test per vedere anche come funziona cracklib
:
# cracklib-check roberto roberto: it is based on a dictionary word 123456 123456: it is too simplistic/systematic roberto928 roberto928: it is based on a dictionary word robe99 robe99: it is based on a dictionary word 99robe 99robe: it is based on a dictionary word robe@99 robe@99: it is based on a dictionary word Qwerty123 Qwerty123: it is based on a dictionary word Qwerty!123 Qwerty!123: it is based on a dictionary word Rob&02f Rob&02f: OK Rob&rto Rob&rto: OK ^C
Per
abilitare cracklib
compilare qmailadmin
come segue
--enable-cracklib=/usr/share/cracklib/pw_dict
Quando si installa la patch di cracklib
da sola è necessario fornire i comandi aclocal/automake/autoconf
per ricostruire il file configure
. La mia patch combinata ha già un file configure
ricostruito. Se si hanno problemi a compilare, perchè la propria versione di aclocal è datata, far precedere alla configurazione i comandi
aclocal automake --install-missing autoconf
cd /usr/local/src wget https://notes.sagredo.eu/files/qmail/tar/qmailadmin-1.2.16.tar.gz wget https://notes.sagredo.eu/files/qmail/patches/qmailadmin/roberto-qmailadmin/roberto-qmailadmin-1.2.16_20200902.patch touch /var/log/qma-auth.log chgrp apache /var/log/qma-auth.log chmod g+w /var/log/qma-auth.log tar xzf qmailadmin-1.2.16.tar.gz cd qmailadmin-1.2.16 patch -p1 < ../roberto-qmailadmin-1.2.16_20200902.patch chown -R root.root . QMAILROOT=/var/www/qmail ./configure \ --enable-htmldir=${QMAILROOT} \ --enable-cgibindir=${QMAILROOT}/cgi-bin \ --enable-cgipath=/cgi-bin/qmailadmin \ --enable-imagedir=${QMAILROOT}/qmailadmin/files \ --enable-imageurl=/files \ --enable-htmllibdir=${QMAILROOT}/qmailadmin \ --enable-qmaildir=/var/qmail \ --enable-domain-autofill \ --enable-vpopuser=vpopmail \ --enable-vpopgroup=vchkpw \ --enable-autoresponder-path=/usr/local/bin \ --enable-ezmlmdir=/usr/local/bin/ezmlm \ --enable-modify-quota \ --disable-ezmlm-mysql \ --disable-trivial-password \ --enable-cracklib=/usr/share/cracklib/pw_dict
Prima di compilare è possibile salvare le immagini del logo qmail
nella cartella "images":
cd images wget https://notes.sagredo.eu/files/qmail//patches//qmailadmin//skin//img/favicon-16x16.png wget https://notes.sagredo.eu/files/qmail//patches//qmailadmin//skin//img/favicon-32x32.png wget https://notes.sagredo.eu/files/qmail//patches//qmailadmin//skin//img/logo.png wget https://notes.sagredo.eu/files/qmail//patches//qmailadmin//skin//img/logo_big.png
Ora compilare e installare al solito modo:
cd ..
make
Eventualmente digitare (tx Gabriel Torres):
autoreconf -f -i
se si ottengono errori come ad esempio:
/bin/bash: aclocal-1.15: command not found
Installare:
make install-strip
Ciò installa qmailadmin
in /var/www/qmail
Define QMAILROOT /var/www/qmail Define LOGDIR /var/log/apache <VirtualHost *:443> ServerName yourdomain.net DocumentRoot ${QMAILROOT} ScriptAlias /cgi-bin/ ${QMAILROOT}/cgi-bin/ ErrorLog ${LOGDIR}/qmailadmin_error.log CustomLog ${LOGDIR}/qmailadmin_access.log common <Directory ${QMAILROOT}> Require all granted AllowOverride None </Directory> <Directory ${QMAILROOT}/cgi-bin> AllowOverride None Options ExecCGI Require all granted </Directory> Alias /files/ ${QMAILROOT}/qmailadmin/files/ <Directory ${QMAILROOT}/qmailadmin/files> Require all granted </Directory> </VirtualHost>
Navigare ora su https://yourdomain.net/cgi-bin/qmailadmin
e loggarsi come postmaster.
qmail-smtpd and OAUTH
2 marzo 2021 10:29
problem with passwords containing special characters like %
2 marzo 2021 10:24
qmail-smtpd and OAUTH
1 marzo 2021 15:22
problem with passwords containing special characters like %
28 febbraio 2021 12:26
problem with passwords containing special characters like %
26 febbraio 2021 22:02
problem with passwords containing special characters like %
26 febbraio 2021 10:05
What about using --disable-many-domains on vpopmail configure ?
22 febbraio 2021 16:49
aliasdomain patch compilation issue
21 febbraio 2021 16:28
aliasdomain patch compilation issue
21 febbraio 2021 14:35
Lua backend
16 febbraio 2021 16:07
Tags
apache clamav dkim dovecot ezmlm fail2ban ftp guide hacks lamp letsencrypt linux linux-vserver lxc mariadb mediawiki mozilla mysql openboard owncloud patches php proftpd qmail qmailadmin rbl roundcube rsync sieve simscan slackware spamassassin spf ssh ssl tcprules tex ucspi-tcp vpopmail vqadmin
Commenti
errore glibc qmailadmin
Donato 13 settembre 2012 01:59
Ciao Roberto,
complimenti per la magnifica guida! :)
ti volevo segnalare un bel problema per quanto rigarda Qmailadmin
Nel tentativo di creare un forward, ricevo una pagina biancae l'operazione fallisce.
I log riportano questo:
ti č mai capitato?
Grazie,
Donato
Rispondi | Permalink
Ciao Donato, no, non mi e'
roberto puzzanghera Donato 14 settembre 2012 21:50
Ciao Donato, no, non mi e' mai capitato, ma proverei a ricompilare (non e' che hai fatto un downgrade delle glibc?)
Rispondi | Permalink
Ciao Roberto,Purtroppo no,
Donato roberto puzzanghera 16 settembre 2012 00:04
Ciao Roberto, Purtroppo no, non ho ho effettuato il downgrade. L'installazione é pulita. Il problema si verifica su slack 13.37 sia 32 che 64 bit... Cercando in giro Pare che la cosa potrebbe riguardare php o glibc ma nessuno sembra esserne venuto a capo. Il log che ho postato non ti dice nulla? Grazie, Donato.
Rispondi | Permalink
Il log mi dice poco, ma
roberto puzzanghera Donato 16 settembre 2012 21:00
Il log mi dice poco, ma essendoci di mezzo glibc proverei comunque a ricompilare qmailadmin. php non c'entra nulla con qmailadmin
Rispondi | Permalink
Forse ho risolto ricompilando
Donato roberto puzzanghera 17 settembre 2012 14:36
Forse ho risolto ricompilando come dicevi tu... ti terrņ aggiornato.
Grazie :)
Rispondi | Permalink