HTTPS va web xavfsizligi asoslari

Brauzer va server o'rtasidagi HTTPS aloqa sertifikat va shifrlash bilan himoyalanishi
HTTPS tarmoqdagi aloqani himoyalaydi, xavfsiz dastur esa bundan tashqari kiruvchi ma’lumot va ruxsatlarni ham tekshiradi.

HTTP darsida so’rov va javob qanday almashinishini ko’rdik. Oddiy HTTP ma’lumotning yo’lda o’qilishi yoki o’zgartirilishidan yetarli himoya bermaydi. HTTPS shu aloqaga TLS himoya qatlamini qo’shadi. Ammo web xavfsizligi faqat manzil yonidagi qulf belgisi bilan tugamaydi.

HTTPS nimalarni ta’minlaydi

HTTPS uchta asosiy maqsadga xizmat qiladi:

  • maxfiylik — yo’ldagi ma’lumot shifrlanadi;
  • yaxlitlik — ma’lumot sezilmasdan o’zgartirilmaganini tekshirish mumkin;
  • serverni tasdiqlash — sertifikat domen uchun to’g’ri server bilan gaplashayotganingizni tekshirishga yordam beradi.

Brauzer serverga ulanishdan oldin TLS kelishuvini bajaradi. Server o’z sertifikatini yuboradi, brauzer uning domeni, amal qilish muddati va ishonchli sertifikat markazi zanjirini tekshiradi. So’ng ikki tomon sessiya uchun kalitlar kelishib oladi va HTTP ma’lumoti shifrlangan kanal orqali o’tadi.

Brauzer sertifikatni tekshirib, TLS kalitlar kelishuvidan so'ng shifrlangan HTTPS aloqa o'rnatishi
TLS ulanish boshida server sertifikatini tekshiradi va keyingi HTTP almashinuvi uchun shifrlangan kanal yaratadi.

Brauzerdan kelgan ma’lumotga ishonmang

Foydalanuvchi formadagi qiymatni, URL parametrini, cookie’ni va HTTP headerni o’zgartira oladi. Frontend tekshiruvi qulay xato xabari berish uchun foydali, ammo xavfsizlik qarori backendda qayta tekshiriladi.

Masalan, mahsulot narxi frontendda ko’rsatiladi. Xarid so’rovida brauzer narx: 1000 yuborsa ham, backend yakuniy narxni bazadagi ishonchli yozuvdan olishi kerak. Aks holda foydalanuvchi so’rovni o’zgartirib, narxni o’zi belgilashi mumkin.

Keng tarqalgan xavflar

XSS — sahifaga zararli kod kiritish

Cross-Site Scripting foydalanuvchi yuborgan matn HTML yoki JavaScript sifatida xavfsiz bo’lmagan usulda sahifaga qo’yilganda yuz beradi. Himoya uchun frameworkning avtomatik escaping imkoniyatidan foydalaniladi, kerak bo’lmasa innerHTML ishlatilmaydi va Content Security Policy sozlanadi.

CSRF — foydalanuvchi nomidan so’rov yuborish

Cross-Site Request Forgery foydalanuvchi tizimga kirgan paytda boshqa sayt uning brauzeridan ruxsatsiz amal yuborishga uringanda yuz beradi. SameSite cookie, CSRF token va so’rov manbasini tekshirish himoya vositalaridir.

CORS — qaysi origin javobni o’qishi mumkin

CORS brauzerning boshqa origin’dagi resursga JavaScript orqali murojaatini boshqaradigan HTTP headerlar tizimi. CORS autentifikatsiya o’rnini bosmaydi va serverni barcha so’rovlardan himoya qilmaydi; u asosan brauzer javobni qaysi origin kodiga berishini nazorat qiladi.

HTTPS, ma'lumotni tekshirish, autentifikatsiya, ruxsat va xavfsiz saqlashdan iborat web xavfsizligi qatlamlari
Xavfsiz web ilova tarmoq, kiruvchi ma’lumot, identifikatsiya, ruxsat va ma’lumot saqlash qatlamlarini birga himoyalaydi.

Boshlovchi uchun xavfsizlik ro’yxati

  • Barcha production sahifalarda HTTPS ishlating.
  • Foydalanuvchidan kelgan qiymatni serverda tekshiring.
  • Parolni ochiq emas, mos parol xeshlash algoritmi bilan saqlang.
  • Maxfiy kalitlarni frontend yoki Git repozitoriyga yozmang.
  • Ma’lumotlar bazasida parametrli so’rov yoki ishonchli ORM ishlating.
  • Har bir backend amalida foydalanuvchining ruxsatini tekshiring.
  • Kutubxonalarni yangilab boring va keraksiz bog’liqlikni olib tashlang.
  • Xato xabarida stack trace, parol yoki server siri kabi ma’lumotni chiqarmang.

Qisqacha xulosa

  • HTTPS HTTP ma’lumotini TLS orqali shifrlaydi va serverni tasdiqlaydi.
  • HTTPS zarur, ammo backenddagi mantiqiy va xavfsizlik xatolarini tuzatmaydi.
  • Brauzerdan kelgan hech bir qiymat avtomatik ishonchli emas.
  • XSS, CSRF va noto’g’ri ruxsat tekshiruvi turli himoya usullarini talab qiladi.
  • CORS autentifikatsiya emas; u brauzerdagi originlararo o’qishni boshqaradi.
  • Xavfsizlik loyiha oxiridagi qo’shimcha emas, har qatlamdagi talabdir.

Keyingi darsda cookie, session va autentifikatsiya — sayt foydalanuvchini qanday taniy boshlashini ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi