Skaner javob bermay qolganda xat nima bo’ladi
Pochta shlyuzini tanlashda deyarli hech kim bu savolni bermaydi. Hujumchi esa aynan shu yo’lni sinaydi.
Pochta shlyuzini tanlashda deyarli hech kim bu savolni bermaydi. Hujumchi esa aynan shu yo’lni sinaydi.
Shlyuz haqida o’ylaganda ikki natija tasavvur qilinadi: xat toza yoki xat zararli. Amalda uchinchisi bor va u eng qiziq: skaner javob bermadi.
Yadro timeout bo’ldi, fayl shifrlangan, arxiv buzilgan, tuzilma noto’g’ri, hujjat ichida ochib bo’lmaydigan obyekt bor, konteyner formati tanilmadi — bularning hech biri «toza» degani emas. Lekin ko’pchilik shlyuz aynan shunday qaror qiladi.
Bu qaror hech qayerda yozilmagan bo’ladi. U sozlamada ham ko’rinmaydi; u shunchaki dastur mantig’ining sukut bo’yicha holati. ClamAV bilan ishlaganlar buni taniydi: `clamd` javobida `OK`, `FOUND` dan tashqari `ERROR` ham bor, va integratsiya kodi ko’pincha `FOUND` ni tekshiradi-yu, qolgan hammasini «zararli emas» deb o’qiydi.
Shuning uchun uni faqat sinab ko’rish orqali bilib olasiz. Hujjatda «bizda ko’p qatlamli himoya» deb yozilgan bo’lishi mumkin, va bu bir vaqtning o’zida to’g’ri ham, ahamiyatsiz ham bo’ladi.
Sabab texnik emas, tashkiliy. Bloklangan xat darhol ko’rinadi: foydalanuvchi qo’ng’iroq qiladi, rahbar so’raydi, administrator ayblanadi. O’tib ketgan zararli xat esa ko’rinmaydi — u oylar keyin insident bo’lib chiqadi, va o’sha paytda uni shlyuz sozlamasi bilan bog’laydigan odam qolmaydi.
Shuning uchun sozlamalar sekin-asta yumshaydi. Har bir yumshatish alohida oqilona ko’rinadi: bu jo’natuvchi ishonchli, bu format bizda ko’p ishlatiladi, bu qoida ko’p shovqin beryapti, bu bo’lim shikoyat qildi.
Bir yildan keyin natija bitta: shlyuz shubhali holatda hamma narsani o’tkazadigan bo’lib qoladi. Uni hech kim ataylab shunday qilmagan. Himoya endi faqat aniq imzo bo’lgan holatda ishlaydi — ya’ni faqat allaqachon ma’lum bo’lgan narsaga qarshi.
Bu jarayonning o’zi ham o’lchanishi mumkin: oxirgi olti oyda nechta istisno qo’shildi va nechtasi olib tashlandi? Agar birinchi raqam ikkinchisidan bir necha barobar katta bo’lsa, siz yo’nalishni allaqachon bilasiz.
Agar shubhada o’tkazish siyosati bo’lsa, hujumchining vazifasi zararli kodni yashirish emas — skanerni ishdan chiqarish. Bu ancha oson vazifa, chunki u antivirus bazasini chetlab o’tishni talab qilmaydi.
Vositalar ro’yxati qisqa va hammasi ochiq ma’lum: chegaradan katta arxiv, parol bilan shifrlangan Office hujjati, ataylab buzilgan ZIP markazi katalogi, ichma-ich joylashgan konteynerlar, ochilishi sekin bo’ladigan yuklama. Ba’zilari umuman fayl emas — masalan, ataylab noto’g’ri MIME chegarasi bilan yuborilgan xat: razbor to’xtaydi, ilova esa mijozda ko’rinadi.
Bularning hech biri antivirus imzosini talab qilmaydi va hech biri «hujum» degan belgini ko’tarmaydi. Ular faqat bitta narsani talab qiladi: skaner «bilmadim» desa, xat o’tib ketsin.
Va bu shartni tekshirish uchun hujumchiga bir necha daqiqa yetadi. U sizga bitta zararsiz test yuboradi va javobni kutadi — yetkazildimi yoki yo’qmi. Javobning o’zi ma’lumot, va u bepul.
Fail-closed «bloklash» degani emas. To’g’ri bajarilganda u vaqtinchalik rad — SMTP 451. Jo’natuvchi serveri xatni navbatda saqlaydi va qaytadan yuboradi.
Bu ixtiyoriy xatti-harakat emas: RFC 5321 4yz javoblarni vaqtinchalik deb belgilaydi va qayta urinishni talab qiladi. Postfix, Exim, Microsoft Exchange — hammasi shunday ishlaydi. Postfix’da birinchi qayta urinish odatda `minimal_backoff_time` dan keyin, keyin oraliq o’sib boradi va `maximal_queue_lifetime` gacha davom etadi; standart sozlamada bu bir necha kun.
O’sha payt skaner sog’lom bo’lsa, xat oddiy tarzda tekshiriladi va yetkaziladi. Foydalanuvchi ko’pincha kechikishni ham sezmaydi, chunki qayta yuborish jo’natuvchi tomonda avtomatik bajariladi va hech kimdan hech narsa talab qilmaydi.
5xx — doimiy rad — faqat aniq tahdid uchun. Bu farq muhim: 451 xatni yo’qotmaydi, u faqat kechiktiradi; 5xx esa jo’natuvchiga «qaytarib yuborma» deydi va xat butunlay yo’qoladi. «Fail-closed pochtani buzadi» degan qo’rquv aynan shu ikkisini aralashtirishdan kelib chiqadi.
Muhim chegara shu: fail-closed skaner ishlamaganda ishlaydi, oddiy shubha holatida emas. Bu ikkisi bir xil emas va ularni aralashtirish siyosatni ishlamaydigan qiladi.
Oddiy shubha uchun boshqa mexanizm kerak — bir nechta zaif signalni birlashtirib qaror chiqarish. Bu SpamAssassin va rspamd’da o’nlab yillar ishlab kelayotgan yondashuv: har bir belgi o’z og’irligini beradi, yig’indi chegaradan oshganda qaror chiqadi.
Bitta zaif signal blok keltirmasligi kerak. Notanish jo’natuvchi — signal. SPF yiqilishi — signal. Yangi ro’yxatdan o’tgan domen — signal. Uchalasi birga kelganda qaror ishonchli bo’ladi; alohida-alohida ularning har biri kunlik pochtaning katta qismini bloklaydi.
Bu ikkisini aralashtirsangiz, fail-closed haqiqatan pochtani buzadi — lekin sababi siyosat emas, uni noto’g’ri joyga qo’yganingiz bo’ladi.
Ro’yxatni oldindan yozib qo’yish kerak, aks holda har bir holat alohida bahsga aylanadi va bahs har doim o’tkazish tomonga hal bo’ladi.
Ro’yxatga kiradiganlar: skaner timeout’i, xotira yoki disk chegarasi, ochilmagan arxiv, imzosi buzilgan hujjat, tanib bo’lmagan konteyner formati, razbor xatosi, va skaner protsessining o’zi qulashi. Ba’zi tizimda oxirgisi umuman qayd etilmaydi — jarayon qayta ishga tushadi va navbatdagi xat hech narsa ko’rmagandek o’tadi.
Parol bilan himoyalangan arxiv alohida holat. U texnik jihatdan nosozlik emas, lekin natija bir xil: ichi ko’rilmadi. Shuning uchun u ham shu ro’yxatga tushadi — parolni xat matnidan qidirish urinishlaridan keyin.
Ro’yxatning teskarisi ham kerak: nima nosozlik emas. Notanish jo’natuvchi, g’alati mavzu, kirill va lotin aralash yozilgan nom — bular shubha, nosozlik emas, va ularga 451 qo’llanmaydi. Bu chegarani yozib qo’ymasangiz, bir oydan keyin 451 hamma narsaga qo’llanadi va siyosat o’chiriladi.
451 siyosati bitta amaliy xarajat keltiradi: xat kechikadi. Shuning uchun kechikish byudjeti oldindan belgilanadi — qayta urinishlar necha marta va qancha oraliqda kutiladi, va qaysi nuqtada bu insident hisoblanadi.
Ikkinchi tomondan, jo’natuvchi serverlar ham cheksiz urinmaydi. Ko’pchiligi bir necha kun davomida qayta yuboradi, lekin ba’zi zaif sozlangan tizimlar — ayniqsa veb-ilovalardan xat yuboradigan skriptlar — bir-ikki urinishdan keyin taslim bo’ladi. Shuning uchun skanerning uzoq nosozligi baribir yo’qotishga olib keladi.
Ayniqsa xavfli holat — tranzaksion xatlar: parolni tiklash, tasdiqlash kodi, buyurtma tasdig’i. Ular ko’pincha qisqa amal qilish muddatiga ega, va o’n daqiqalik kechikish ularni foydasiz qiladi. Bunday oqimlar uchun alohida yo’nalish va alohida qaror kerak.
Xulosa: 451 skanerni tuzatish uchun vaqt beradi, uni almashtirmaydi. Shlyuz nosozligi haqidagi ogohlantirish shu sababdan yuqori ustuvorlikka ega bo’lishi kerak — va u pochta orqali yuborilmasligi kerak, chunki pochta aynan shu paytda ishlamayapti.
Ikkita test yetarli. Birinchisi: parol bilan shifrlangan arxiv yuboring, parolni xat matniga yozmang. Ikkinchisi: skaner chegarasidan kattaroq yoki ochilishi sekin bo’ladigan fayl yuboring.
Ikkalasi ham pochta qutingizga «toza» belgisi bilan tushsa — sizda fail-open shlyuz turibdi. Sarlavhalarga ham qarang: `X-Spam-Status`, `Authentication-Results` va sotuvchining o’z sarlavhasi ko’pincha qarorni ochiq yozadi, va u yerda `error` yoki `skipped` so’zini ko’rish mumkin.
Uchinchi test eng ishonchlisi: skanerni ataylab to’xtating va shu paytda oddiy xat yuboring. U yo’qoladimi, yetkaziladimi yoki 451 oladimi? Bu bitta amal bilan siyosatni bilib olasiz, va uni sinov muhitida bajarish qiyin emas.
Va oxirgi savol sotuvchiga: nosozlik holati qayerda sozlanadi? Agar bu sozlama umuman yo’q bo’lsa, siyosatni siz emas, dasturning sukut holati tanlagan bo’ladi — va u deyarli har doim o’tkazish tomonda.
Domeningizni ko’rsatsangiz, hozirgi tashqi holatingiz bo’yicha dastlabki tahlil beramiz. Bu bosqichda hech narsa o’zgartirilmaydi.

