Qmail

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 11 ianuarie 2017; verificările necesită 12 modificări .

qmail
Tip de Server de mail
Dezvoltator Daniel Julius Bernstein
Scris in C
Sistem de operare Unix
ultima versiune 1.03 ( 15 iunie 1998 )
Versiune de testare netqmail 1.06 ( 11 noiembrie 2007 )
Formate de fișiere care pot fi citite Maildir
Licență domeniu public
Site-ul web cr.yp.to/qmail.html

qmail  este un MTA (agent de livrare a e-mailului) care rulează sub Unix . A fost scris de Daniel Bernsteinca un înlocuitor mai sigur pentru popularul MTA Sendmail .

Caracteristici

Securitate

La momentul primei sale lansări, qmail a fost primul MTA construit având în vedere securitatea; de atunci, au fost create alte MTA securizate. Cei doi cei mai populari predecesori ai qmail, Sendmail și Smail  , nu au fost proiectați pentru securitate și, prin urmare, au fost ținte constante pentru atac. Spre deosebire de aceste pachete, qmail are o arhitectură modulară, constând din componente care nu au încredere unul în celălalt; de exemplu, componenta qmail care acceptă conexiuni SMTP începe cu un UID care este diferit de UID-urile pentru managerul de cozi sau modulul care trimite e-mail. De asemenea, în qmail, biblioteca standard C a fost înlocuită cu o alternativă sigură[ ce? ] și, prin urmare, qmail nu este supus depășirilor de stive și heap , atacuri în format șir sau condiții de cursă cu fișiere temporare . 

Performanță

Când a fost lansat pentru prima dată, qmail a fost semnificativ mai rapid decât sendmail , în special în aplicațiile de gestionare a corespondenței cu volum mare, cum ar fi serverele de liste de corespondență .

Simplitate

qmail a fost dezvoltat la apogeul popularității pe Internet de un alt MTA, Sendmail [1] . Configurarea Sendmail este notoriu de complexă, incluzând unul dintre cele mai confuze formate de fișiere de configurare pe care le întâlnesc administratorii de sistem Unix. qmail, în schimb, este configurat folosind un set de fișiere mici într-un format extrem de simplu. Pentru sarcini obișnuite, în majoritatea cazurilor qmail a fost mult mai ușor de configurat și rulat.

Inovații

qmail acceptă unele inovații de e-mail (unele sunt create de Bernstein, altele nu):

Maildir Bernstein a creat formatul Maildir pentru qmail , care stochează fiecare mesaj de e-mail într-un fișier separat. Spre deosebire de formatul Mbox  , standardul de facto care stochează toate mesajele într-un singur fișier, Maildir evită multe probleme de blocare și concurență și poate rula în siguranță peste NFS . qmail poate livra, de asemenea, corespondență către cutiile poștale Mbox. Numele cutiilor poștale folosind caractere joker qmail a introdus conceptul de șabloane controlate de utilizator (wildcards) [2] . E-mailul care sosește la adresele de utilizator wildcard este livrat în cutii poștale separate, permițând utilizatorului să publice mai multe adrese de corespondență, cum ar fi una pentru o listă de corespondență, alta pentru corespondența comercială și o a treia pentru postarea în locuri publice. Această caracteristică nu necesită configurare pe partea serverului, permițând utilizatorului să își gestioneze propriul spațiu de adrese. De asemenea, această caracteristică este utilizată de unii manageri de liste de corespondență pentru a gestiona domenii virtuale etc.

De asemenea, protocoalele QMTP și QMQP sunt implementate în qmail .

Dezacorduri

qmail a fost dezvoltat ca un răspuns critic la Sendmail, o piesă de software Unix extrem de populară și oarecum îndrăgită. Bernstein, autorul cărții qmail, nu s-a sfiit în mod deosebit să descrie defectele de design ale Sendmail și performanța superioară a qmail și nici nu a făcut tot posibilul să copieze comportamentul lui Sendmail, care la acea vreme era standardul de facto în livrarea e-mailurilor pe Internet. Drept urmare, qmail a fost supus unei examinări neobișnuite.

Premiul Vulnerability Finder de Georgy Guninski

Bernstein a oferit o recompensă de 500 USD primei persoane care a publicat o vulnerabilitate verificabilă în cea mai recentă versiune a programului. [3]

În 2005, specialistul în securitate George Guninski a descoperit un depășire de numere întregi în qmail. Pe platformele pe 64 de biți, în anumite configurații cu probabilitate discutabilă de a exista pe un sistem real (inclusiv limite de resurse dezactivate și cantități neobișnuit de mari de memorie virtuală disponibilă ), livrarea unor cantități uriașe de date către unele componente qmail poate duce la executarea de la distanță a codului arbitrar . Bernstein contestă fezabilitatea acestei metode, argumentând că nu există instalații reale de qmail care să fie susceptibile la acest atac. Setarea limitelor de resurse pentru componentele qmail reduce vulnerabilitatea la acest atac. [patru]

La 1 noiembrie 2007, Bernstein a mărit recompensa la 1.000 USD. [5] Într-o prezentare de diapozitive a doua zi, Bernstein a spus că după zece ani de qmail-1.03, există 4 erori cunoscute, dintre care niciunul nu este găuri de securitate. El a caracterizat eroarea găsită de Guninski drept un potențial depășire a unui contor neverificat („potențial depășire a unui contor neverificat”). „Din fericire, contracreșterea a fost limitată de memorie și, prin urmare, de configurație, dar asta a fost pur noroc”. ("Din fericire, contracreșterea a fost limitată de memorie și, prin urmare, de configurație, dar acesta a fost pur noroc.") [6]

Frecvența actualizării

Spre deosebire de multe alte MTA -uri , pachetul principal qmail nu a fost actualizat de mulți ani. [7] Noile funcții sunt furnizate de patch-uri terțe, cum ar fi netqmail . Acest lucru este benefic pentru unii utilizatori deoarece nu trebuie să se actualizeze constant și este o problemă pentru alți utilizatori, în special pentru cei care doresc să folosească mecanismele de autentificare care au fost introduse de la ultima lansare a qmail.

Conformitate

qmail a fost conceput ca un înlocuitor pentru Sendmail, dar nu se comportă exact ca Sendmail în toate situațiile. În unele cazuri, aceste diferențe de comportament stau la baza criticii. De exemplu, abordarea qmail de a gestiona mesajele de respingere (un format numit QSBMF) diferă de cea recomandată de IETF în RFC 1994. În plus, unele caracteristici qmail au fost criticate pentru introducerea complexității în livrarea corespondenței; de exemplu, mecanismul său de wildcard și designul securizat îl împiedică să respingă mesaje pentru utilizatori inexistenți în timpul unei sesiuni SMTP. Această funcție poate fi folosită pentru a trimite mesaje spam de respingere .

Situația licenței

Daniel J. Bernstein a făcut qmail domeniul public în noiembrie 2007. [8] [9] Până în acest moment, qmail era un program fără licență, care garanta dreptul de a fi distribuit în cod sursă sau în formă precompilată („pachetul var-qmail”), sub rezerva anumitor condiții, în principal legate de compatibilitate .

qmail este singurul MTA distribuit pe scară largă în domeniul public .

Note

  1. Statistici arhivate 7 august 2015. arată că Sendmail deține în continuare locul 1 din 02.12.2017
  2. RFC 5233 descrie utilizarea lui „+” pentru aceasta
  3. Garanția de securitate qmail (downlink) . Consultat la 5 octombrie 2007. Arhivat din original pe 29 februarie 2012.  
  4. Georgi Guninski. Aviz de securitate Georgi Guninski #74, 2005 (link nu este disponibil) . Consultat la 5 octombrie 2007. Arhivat din original pe 29 februarie 2012.  
  5. Câteva gânduri despre securitate după zece ani de qmail 1.0 (downlink) . Consultat la 1 decembrie 2007. Arhivat din original pe 29 februarie 2012.  
  6. Câteva gânduri despre securitate după zece ani de qmail 1.0 [Prezentare slide ] (link nu este disponibil) . Data accesului: 17 ianuarie 2008. Arhivat din original la 29 februarie 2012.  
  7. Viața cu qmail; Istoric (downlink) . Consultat la 1 decembrie 2007. Arhivat din original pe 29 februarie 2012.  
  8. Informații pentru distribuitori (link nu este disponibil) . Consultat la 30 noiembrie 2007. Arhivat din original la 29 februarie 2012. 
  9. Bernstein lansează codul în domeniul public (downlink) . Consultat la 30 noiembrie 2007. Arhivat din original la 29 februarie 2012.  

Vezi și

Link -uri