Saqlashda va uzatishda shifrlash: har biri nimadan himoya qiladi
Asoslar3 daqInnovialabs tahririyati
Qisqacha
Uzatishdagi shifrlash (TLS) ma’lumotlarni tarmoq bo‘ylab ketayotganda, saqlashdagi shifrlash esa disk, baza yoki zaxira nusxada turganda himoya qiladi. Ikkalasi ham kerak, lekin hech biri ilovaning o‘zi buzilishidan saqlamaydi.
Qisqa javob
Ma’lumotlar uch holatda bo‘ladi: tarmoq orqali uzatiladi, diskda saqlanadi va xotirada qayta ishlanadi. Shifrlash dastlabki ikkitasini qamrab oladi va bular turli vazifalar.
- Uzatishdagi shifrlash (in transit) trafikni tinglayotgan yoki almashtirayotgan odamdan himoya qiladi: ommaviy Wi-Fi, provayder, buzilgan marshrutizator.
- Saqlashdagi shifrlash (at rest) jismoniy tashuvchi yoki faylni qo‘lga kiritgan odamdan himoya qiladi: o‘g‘irlangan noutbuk, hisobdan chiqarilgan disk, sizib chiqqan zaxira nusxa, bulutdagi omborga kirish.
Biri ikkinchisining o‘rnini bosmaydi. Agar baza zaxira nusxasi omborda ochiq turgan bo‘lsa, HTTPS yordam bermaydi, parollar tarmoqda ochiq matnda yursa — shifrlangan disk yordam bermaydi.
Har biri qayerda qo‘llanadi
| Qatlam | Turi | Misol |
|---|---|---|
| Brauzer — server | Uzatishda | Sayt va API’da HTTPS (TLS) |
| Server — ma’lumotlar bazasi | Uzatishda | PostgreSQL, MySQL, Redis’ga TLS-ulanish |
| Servislar o‘rtasida | Uzatishda | Klaster ichida TLS yoki mTLS, maydonchalar o‘rtasida VPN |
| Server, noutbuk diski | Saqlashda | Tomni shifrlash: LUKS, BitLocker, FileVault, bulut provayderida disk shifrlash |
| Ma’lumotlar bazasi | Saqlashda | Baza fayllarini shifrlash (TDE) yoki shifrlangan tom |
| Zaxira nusxalar | Saqlashda | Omborga yuborishdan oldin arxivlarni shifrlash |
| Alohida maydonlar | Saqlashda | Pasport ma’lumotlari, tokenlar, tibbiy ma’lumotlar uchun field-level encryption |
Nimadan himoya QILMAYDI
Bu eng muhim bo‘lim. Shifrlash sehrli qalqon emas.
- Ilovaning buzilishi. Agar hujumchi SQL-in’eksiya topsa yoki administrator hisobini o‘g‘irlasa, ilova ma’lumotlarni o‘zi deshifrlab beradi. Ishlayotgan tizim uchun shifrlangan disk oddiy diskdek ko‘rinadi.
- Kalitlarning sizib chiqishi. Agar shifrlash kaliti ma’lumotlar yonida — o‘sha repozitoriyda, o‘sha serverdagi ochiq faylda — tursa, himoya shartli.
- Zaif parollar va XSS. Shifrlash birovning hisobiga kirish yoki foydalanuvchi brauzerida skript ishga tushirishga to‘sqinlik qilmaydi.
- Xotiradagi ma’lumotlar. Qayta ishlash vaqtida ma’lumotlar deshifrlangan holatda bo‘ladi.
- Loglar va vaqtinchalik fayllar. Agar shaxsiy ma’lumotlar loglarga ochiq matnda yozilsa, bazani shifrlash ularni yopmaydi.
Shuning uchun shifrlash — kirishni nazorat qilish, yangilanishlar va audit bilan birga himoyaning bir qatlami.
Odatiy veb-ilova uchun minimal sxema
- Hamma joyda HTTPS: domen uchun sertifikat, HTTP’dan redirekt, HSTS sarlavhasi. Aralash kontent yo‘q.
- Baza va keshgacha TLS, ayniqsa ular alohida serverlarda yoki boshqariladigan bulut xizmatida bo‘lsa.
- Serverlar va jamoa noutbuklarida disklarni shifrlash. Bulut provayderlarida odatda uni disklar va omborlar uchun yoqish mumkin.
- Kaliti zaxira nusxalarning o‘zidan alohida saqlanadigan shifrlangan zaxira nusxalar.
- Foydalanuvchi parollari shifrlanmaydi, xeshlanadi — sekin algoritm bilan (bcrypt, scrypt, Argon2). Bu shifrlash emas: parolni qaytarib olib bo‘lmaydi va shunday bo‘lishi kerak.
- Eng sezgir maydonlar — hujjat raqamlari, uchinchi tomon xizmatlariga kirish tokenlari uchun field-level encryption.
- Sirlar va kalitlar kodda emas, sirlar menejerida yoki kirish cheklangan muhit o‘zgaruvchilarida saqlanadi.
PostgreSQL’ga ulanish TLS talab qilishini tekshirish misoli:
psql "host=db.example.com dbname=app user=app sslmode=verify-full sslrootcert=ca.pem"
verify-full rejimi ham shifrlashni, ham server haqiqiyligini sertifikat orqali tekshiradi.
Ko‘p uchraydigan xatolar
- «Bulut hammasini o‘zi shifrlaydi» deb o‘ylab, zaxira nusxalar, eksport va loglarni tekshirmaslik.
- Zaxira nusxalarni shifrlab, kalitni o‘sha bakette saqlash.
- Saytda HTTPS yoqib, bazaga ochiq tarmoq orqali TLS’siz ulanish.
- Parollarni xeshlash o‘rniga qaytariladigan tarzda shifrlash.
- Kalitlarni almashtirish va tiklashni o‘ylab qo‘ymaslik: yo‘qolgan kalit — yo‘qolgan ma’lumot.