HTTPS va web xavfsizligi asoslari

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.

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.

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.