Lêkolînerên ewlehiyê ji Qualys
Pirsgirêk di fonksiyona stralloc_readyplus() de ji ber hejmarek pir zêde dibe, ku dikare dema ku peyamek pir mezin hildiweşîne. Operasyon pêdivî bi pergalek 64-bit bi zêdetirî 4 GB bîra virtual heye. Dema ku di 2005-an de qelsî di destpêkê de hate analîz kirin, Daniel J. Bernstein angaşt kir ku texmîna di kodê de ku mezinahiya array veqetandî her gav di nav nirxa 32-bit de ye, li ser vê yekê ye ku kes ji her pêvajoyê gigabytes bîranînê peyda nake. Di van 15 salên borî de, pergalên 64-bit ên li ser serveran cîh dane pergalên 32-bit, û hêjmara bîranîna peydakirî û firehiya torê pir zêde bûye.
Parêzgerên pakêta qmailê nîşeya Bernstein li ber çavan girtin û dema ku pêvajoya qmail-smtpd dest pê dike bîra berdest sînordar kirin (mînak, di Debian 10 de sînor 7 MB tête danîn). Lê endezyarên ji Qualys dît ku ev ne bes e û, ji bilî qmail-smtpd, êrîşek ji dûr ve dikare li ser pêvajoya qmail-herêmî, ku di hemî pakêtên ceribandinê de bêsînor ma, were kirin. Wekî delîl, prototîpek kedxwariyê hate amadekirin ku ji bo êrîşa li ser pakêta Debian bi qmail di veavakirina xwerû de maqûl bû.
Ji bo organîzekirina înfazkirina kodê ji dûr ve di dema êrîşê de, server 4 GB cîhê dîskê belaş û 8 GB RAM hewce dike.
Kêmasî dihêle hûn bi mafên her bikarhênerek di pergalê de fermanên şêlê bimeşînin, ji xeynî bikarhênerên root û pergalê yên ku di pelrêça "/home" de xwedan pelrêça xwe nînin (pêvajoya qmail-herêmî bi mafan tê destpêkirin. bikarhênerê herêmî yê ku teslîmî wî tê kirin).
Êrîş tê kirin
bi şandina peyamek e-nameyek pir mezin, tevî çend rêzikên sernivîsê, bi qasî 4 GB û 576 MB. Pêvajoya rêzek wusa di qmail-herêmî de dema ku hewl dide ku peyamek bigihîne bikarhênerê herêmî, dibe sedema hejmarek zêde. Dema kopîkirina daneyan û îhtîmala jinavbirina rûpelên bîranînê bi koda libc re, dûv re hejmarek tevhejmar dibe sedema zêdebûna tamponê. Bi manîpulekirina sêwirana daneya ku hatî şandin, di heman demê de gengaz e ku meriv navnîşana fonksiyona "vekirî()" ji nû ve binivîsîne, li şûna wê navnîşana fonksiyona "pergal ()" bigire.
Dûv re, di pêvajoya bangkirina qmesearch() de di qmail-local de, pelê ".qmail-extension" bi fonksiyona vekirî() ve tê vekirin, ku dibe sedema pêkanîna rastîn a fonksiyonê.
system ("qmail-extension"). Lê ji ber ku beşa "berfireh" a pelê li ser bingeha navnîşana wergir tê çêkirin (mînak, "localuser-extension@localdomain"), êrîşkar dikarin fermanê bişînin ku bi rê ve bibe bi destnîşankirina bikarhêner "localuser-;ferman". ;@localdomain" wekî wergirê peyamê.
Di dema analîzkirina kodê de, du qelsî jî di pêveka qmail-verify ya zêde de, ku beşek ji pakêtê ye ji bo Debian, hatine nas kirin. Zehmetiya yekem (
Ji bo ku li dora pirsgirêkê bixebite, Bernstein pêşniyar kir ku pêvajoyên qmail-ê bi sînorek tevahî li ser bîranîna berdest ("softlimit -m12345678") bimeşînin, di vê rewşê de pirsgirêk tê asteng kirin. Wekî rêbazek parastinê ya alternatîf, sînorkirina mezinahiya herî zêde ya peyama pêvajoyî bi pelê "kontrol/databytes" re jî tê binav kirin (ji hêla xwerû ve ew bi mîhengên xwerû nayê afirandin qmail xeternak dimîne). Wekî din, "kontrol / databytes" li dijî êrîşên herêmî yên bikarhênerên pergalê naparêze, ji ber ku sînor tenê ji hêla qmail-smtpd ve tê hesibandin.
Pirsgirêka pakêtê bandor dike
Source: opennet.ru