qmail - qmail

qmail
Autori originali Daniel J. Bernstein
Rilascio finale
1.03/15 giugno 1998 ; 23 anni fa ( 1998-06-15 )
Repository cr .yp .to /software /qmail-1 .03 .tar .gz
Scritto in C
Sistema operativo Unix-like
Tipo Agente di trasferimento della posta
Licenza dominio pubblico
Sito web cr .yp .to /qmail .html
netqmail
Rilascio finale
1.06 / 30 novembre 2007 ; 13 anni fa ( 2007-11-30 )
Repository netqmail .org /netqmail-1 .06 .tar .gz
Sito web netqmail .org
s/qmail
Rilascio stabile
4.1.10 / 1 agosto 2021 ; 24 giorni fa ( 2021-08-01 )
Sito web fehcom .de /sqmail /
notqmail
Rilascio stabile
1.08 / 20 maggio 2020 ; 15 mesi fa ( 2020-05-20 )
Repository github .com /notqmail /notqmail
Sito web notqmail .org

qmail è un agente di trasferimento di posta (MTA) che gira su Unix . È stato scritto, a partire dal dicembre 1995, da Daniel J. Bernstein come sostituto più sicuro del popolare programma Sendmail . Originariamente software senza licenza , il codice sorgente di qmail è stato successivamente reso di pubblico dominio dall'autore.

Caratteristiche

Sicurezza

Quando è stato pubblicato per la prima volta, qmail è stato il primo agente di trasporto della posta consapevole della sicurezza; da allora, sono stati pubblicati altri MTA attenti alla sicurezza . Il predecessore più popolare di qmail, Sendmail , non è stato progettato con l'obiettivo della sicurezza e, di conseguenza, è stato un obiettivo perenne per gli aggressori. A differenza di sendmail, qmail ha un'architettura modulare composta da componenti reciprocamente non affidabili; ad esempio, il componente listener SMTP di qmail viene eseguito con credenziali diverse dal gestore code o dal mittente SMTP. qmail è stato anche implementato con una sostituzione consapevole della sicurezza alla libreria standard C e, di conseguenza, non è stato vulnerabile a stack e heap overflow, attacchi di stringhe di formato o race condition di file temporanei .

Prestazione

Quando è stato rilasciato, qmail era significativamente più veloce di Sendmail, in particolare per le attività di posta di massa come i server di mailing list. qmail è stato originariamente progettato come un modo per gestire grandi mailing list.

Semplicità

Al momento dell'introduzione di qmail, la configurazione di Sendmail era notoriamente complessa, mentre qmail era semplice da configurare e distribuire.

Innovazioni

qmail incoraggia l'uso di diverse innovazioni nella posta (alcune originate da Bernstein, altre no):

Maildir
Bernstein ha inventato il formato Maildir per qmail, che divide i singoli messaggi di posta elettronica in file separati. A differenza del formato mbox standard di fatto , che archiviava tutti i messaggi in un singolo file, Maildir evita molti problemi di blocco e concorrenza e può essere fornito in sicurezza su NFS . qmail consegna anche alle caselle di posta mbox.
Caselle di posta con caratteri jolly
qmail ha introdotto il concetto di caratteri jolly controllati dall'utente. Immediatamente, la posta indirizzata a " carattere jolly utente " su host qmail viene consegnata a caselle di posta separate, consentendo agli utenti di pubblicare più indirizzi di posta per le mailing list e la gestione dello spam.

qmail introduce anche i protocolli Quick Mail Transport Protocol (QMTP) e Quick Mail Queuing Protocol (QMQP).

Modularità

qmail è un sistema quasi completamente modulare in cui ogni funzione principale è separata dalle altre funzioni principali. È facile sostituire qualsiasi parte del sistema qmail con un modulo diverso purché il nuovo modulo mantenga la stessa interfaccia dell'originale.

Controversia

Ricompensa per la sicurezza e vulnerabilità di Georgi Guninski

Nel 1997, Bernstein ha offerto una ricompensa di 500 dollari USA per la prima persona che pubblicava una falla di sicurezza verificabile nell'ultima versione del software.

Nel 2005, il ricercatore di sicurezza Georgi Guninski ha trovato un integer overflow in qmail. Sulle piattaforme a 64 bit, nelle configurazioni predefinite con memoria virtuale sufficiente, la consegna di enormi quantità di dati a determinati componenti di qmail può consentire l'esecuzione di codice remoto. Bernstein contesta che questo sia un attacco pratico, sostenendo che nessuna implementazione reale di qmail sarebbe suscettibile. La configurazione dei limiti delle risorse per i componenti di qmail mitiga la vulnerabilità.

Il 1 novembre 2007, Bernstein ha aumentato la ricompensa a US $ 1000. In una presentazione di diapositive il giorno seguente, Bernstein ha dichiarato che c'erano 4 "bug noti" nella qmail-1.03 di dieci anni, nessuno dei quali era "buchi di sicurezza". Ha caratterizzato il bug trovato da Guninski come un "potenziale overflow di un contatore non controllato". "Fortunatamente, la controcrescita è stata limitata dalla memoria e quindi dalla configurazione, ma questa è stata pura fortuna".

Il 19 maggio 2020, Qualys ha pubblicato un exploit funzionante per la vulnerabilità di Guninski, ma lo stato degli autori dello exploit è stato loro negato il premio perché contiene ulteriori restrizioni ambientali.

Frequenza degli aggiornamenti

Il pacchetto principale di qmail non viene aggiornato da molti anni. Le nuove funzionalità erano inizialmente fornite da patch di terze parti, dalle quali le più importanti all'epoca venivano riunite in un'unica meta-patch chiamata netqmail .

Conformità agli standard

qmail non è stato progettato per sostituire Sendmail e non si comporta esattamente come Sendmail in tutte le situazioni. In alcuni casi, queste differenze di comportamento sono diventate motivo di critica. Ad esempio, l'approccio di qmail al rimbalzo dei messaggi (un formato chiamato QSBMF) differisce dal formato standard delle notifiche sullo stato di consegna specificato dall'IETF in RFC 1894, nel frattempo avanzato fino alla bozza dello standard come RFC 3464 e raccomandato nella specifica SMTP .

Inoltre, alcune funzionalità di qmail sono state criticate per aver introdotto complicazioni nell'inoltro della posta; per esempio, il meccanismo di consegna "jolly" di qmail e il design di sicurezza impediscono di rifiutare messaggi da mittenti falsi o inesistenti durante le transazioni SMTP. In passato, queste differenze potrebbero aver fatto sì che qmail si comportasse diversamente quando veniva abusato come inoltro di spam, sebbene le moderne tecniche di consegna dello spam siano meno influenzate dal comportamento di rimbalzo.

Stato del copyright

qmail è stato rilasciato al pubblico dominio nel novembre 2007. Fino al novembre 2007, qmail era software senza licenza , con il permesso concesso per la distribuzione in forma sorgente o in forma precompilata (un "pacchetto var-qmail") solo se determinate restrizioni ( che riguardano principalmente la compatibilità) sono state soddisfatte. Questo insolito accordo di licenza ha reso qmail non libero secondo alcune linee guida (come il DFSG ), ed è stato causa di controversie.

qmail è l'unico agente di trasferimento dei messaggi software di dominio pubblico ( MTA ) ampiamente distribuito .

Guarda anche

Riferimenti

link esterno