Xavfsizlik loglari: nimani yozish va qaysi holatlarga alert sozlash
Amaliyot3 daqInnovialabs tahririyati
Qisqacha
Kirishlar, huquqlar o‘zgarishi, admin amallari va kirish rad etilganda kim, nima, qachon, qayerdan va qanday natija bilan qilganini yozing; parollar, tokenlar va karta ma’lumotlarini hech qachon yozmang; loglarni markazda saqlang va terib ko‘rish, yangi adminlar va ommaviy eksportga alert sozlang.
Qisqa javob
Xavfsizlik loglari hodisadan keyin uchta savolga javob berish uchun kerak: buni kim qildi, aynan nima bo‘ldi va qachon boshlandi. Buning uchun quyidagilar kerak:
- ilovaning o‘zi yozadigan xavfsizlik hodisalarining aniq ro‘yxati;
- hamma joyda bir xil maydonli tuzilgan yozuvlar;
- hujumchi yoki oddiy admin jimgina tahrirlay olmaydigan markaziy ombor;
- kimdir haqiqatan o‘qiydigan kichik alertlar to‘plami.
Loglash kerak bo‘lgan hodisalar
Autentifikatsiya
- muvaffaqiyatli va muvaffaqiyatsiz kirishlar, chiqishlar;
- 2FA yoqilishi va o‘chirilishi, noto‘g‘ri kodlar;
- parol o‘zgarishi va tiklash so‘rovlari;
- akkauntlarni bloklash va blokdan chiqarish.
Avtorizatsiya va kirish
- endpoint yoki obyektlarga kirish rad etilishi (403);
- begona yozuvlarni ochishga urinishlar;
- API kalitlar yaratilishi, yangi joydan ishlatilishi, bekor qilinishi.
Administrator amallari
- rollar va huquqlarni berish va olib qo‘yish;
- foydalanuvchilarni yaratish, bloklash, o‘chirish;
- to‘lov, xavfsizlik, integratsiya sozlamalarini o‘zgartirish;
- qo‘llab-quvvatlash xodimlarining «foydalanuvchi nomidan» kirishi.
Nozik ma’lumotlar bilan amallar
- ommaviy yuklab olish va eksport;
- shaxsiy ma’lumotlarni ommaviy ko‘rish;
- ko‘p sonli yozuvlarni o‘chirish.
Tizim signallari
- g‘ayrioddiy tez-tez validatsiya xatolari;
- vebhuk imzosini tekshirish xatolari;
- xavfsizlik tekshiruvlaridagi ilova xatolari.
Yaxshi yozuv qanday ko‘rinadi
Bir xil maydonli tuzilgan loglardan (JSON) foydalaning:
{
"ts": "2026-03-14T09:21:07Z",
"event": "auth.login_failed",
"actor_id": null,
"target": "user:4812",
"ip": "203.0.113.17",
"user_agent": "Mozilla/5.0 ...",
"request_id": "a1b2c3",
"result": "failure",
"reason": "bad_password"
}
Asosiy maydonlar: UTC dagi vaqt, hodisa nomi, kim (foydalanuvchi yoki servis), nima ustida, IP manzil, natija va logni ilova treyslari bilan bog‘lash uchun request ID.
Loglarga nima yozilmaydi
- Parollar, jumladan muvaffaqiyatsiz urinishlardagi noto‘g‘ri parollar — ko‘pincha bu xato bilan yozilgan haqiqiy parol.
- Sessiya tokenlari, JWT, API kalitlar, tiklash havolalari, OTP kodlar,
Authorizationsarlavhalari va cookie. - Kartaning to‘liq raqami va CVV. Kerak bo‘lsa — faqat niqoblangan ko‘rinishda.
- Muhit o‘zgaruvchilari va konfiglardagi sirlar.
- Ortiqcha shaxsiy ma’lumotlar: pasport raqamlari, shaxsiy maydonli to‘liq so‘rov tanalari.
Amaliy himoya: butun so‘rov obyektlarini yozish o‘rniga ruxsat berilgan maydonlar ro‘yxati va loggerda ma’lum nozik kalitlarni avtomatik niqoblash.
Saqlash va muddatlar
- Loglarni ilova serveridan tashqaridagi markaziy tizimga yuboring, shunda buzilgan server izlarni o‘chira olmaydi.
- Loglarga kirishni cheklang va loglarga kirishning o‘zini ham loglang.
- Barcha serverlarda vaqtni (NTP) sinxronlang.
- Saqlash muddati sizga tegishli qonunlar, shartnomalar va soha standartlariga (masalan, karta to‘lovlari uchun PCI DSS), shuningdek hujum qancha vaqt sezilmay qolishi mumkinligiga bog‘liq. Loglarda shaxsiy ma’lumotlar bor, shuning uchun shaxsiy ma’lumotlar to‘g‘risidagi qonunlar ham ularni qancha va qayerda saqlashni cheklaydi. Yangi loglarni tez qidiruvda, eskilarini arzon arxivda saqlang.
Hujumni erta aniqlaydigan alertlar
| Qoida | Nimani anglatishi mumkin |
|---|---|
| Qisqa vaqtda bitta akkauntga yoki bitta IP dan ko‘p muvaffaqiyatsiz kirish | Parollarni terib ko‘rish yoki credential stuffing |
| Bir qator muvaffaqiyatsizlikdan keyin muvaffaqiyatli kirish | Topilgan parol |
| Admin yangi davlat yoki qurilmadan kirgan | O‘g‘irlangan hisob ma’lumotlari |
| Yangi administrator yoki rolni oshirish | Buzib kirgandan keyin o‘rnashib olish |
| Imtiyozli akkauntda 2FA o‘chirilgan | Egallab olishga tayyorgarlik |
| Eksport yoki ko‘rishlarning g‘ayrioddiy hajmi | Ma’lumotlar o‘g‘irligi |
| Bitta foydalanuvchida 403 javoblarning keskin ko‘payishi | IDOR yoki huquqlardagi xatolarni qidirish |
| Vebhuk imzosi xatolari ko‘p | Soxtalashtirish urinishlari |
Sozlash qoidalari:
- Kam va aniq: har bir alertning mas’uli va qisqa «nima qilish kerak» ko‘rsatmasi bor.
- Chegaralarni odatiy trafikka moslang: shovqinli alertlar avval o‘chiriladi, keyin e’tiborsiz qoladi.
- Muhim alertlar faqat pochta papkasiga emas, odamlar o‘qiydigan kanalga borsin.
- Alertlarni ataylab chaqirib, muntazam tekshirib turing.
Ko‘p uchraydigan xatolar
- Faqat xatolar loglanadi, muhim muvaffaqiyatli amallar emas.
- Loglar faqat ilova bilan bir serverda turadi.
- Qidirib va jamlab bo‘lmaydigan erkin matn.
- Prodakshnda to‘liq so‘rov tanalari bilan debug rejimi qoldirilgan.