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 .
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 .
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ță .
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.
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 .
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.
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]
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.
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 .
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 .
Software dezvoltat de Daniel Julius Bernstein | |
---|---|
|
Servere de mail | ||
---|---|---|
Gratuit |
| |
Proprietate |
| |
Platforme online ( SaaS ) |
| |
abandonat | ||
Tehnologii conexe | ||
Articole similare |
| |
|