Xavfsizlik modeli
Auth, CSRF, credential encryption, proxy trust va storage himoya chegaralari.
Browser autentifikatsiyasi
- Parollar Argon2id yordamida hash qilinadi.
- Session ID’lar opaque; production cookie
Secure,HttpOnlyva mosSameSitesiyosatiga ega. - State-changing
/apiso‘rovlari session-bound CSRF token talab qiladi. - Public signup yo‘q; administrator hisob yaratadi.
- Vaqtinchalik parol almashtirilmaguncha protected route’lar yopiq.
API key himoyasi
Kalit faqat yaratilgan paytda ko‘rsatiladi va edubase_live_ prefiksiga ega. Server to‘liq tokenni saqlamaydi: lookup uchun prefix, tekshirish uchun SHA-256 digest saqlanadi. Scope, model, user, IP, expiry va revoke siyosatlari birgalikda tekshiriladi.
Provider credentiallari
Provider secretlari AES-256-GCM bilan shifrlanadi. Master key canonical base64 ko‘rinishidagi 32 baytli kalit. Ciphertext provider/credential kontekstiga bog‘langan AAD ishlatadi, shu sababli ciphertextni boshqa yozuvga ko‘chirish autentifikatsiyadan o‘tmaydi.
Edge va storage
- Caddy tashqaridan yuborilgan internal proxy headerlarni olib tashlaydi va o‘z trusted secretini qo‘shadi.
- Database, Redis va metrics public portga chiqarilmaydi.
- S3 bucket private, public access block yoqilgan, TLS va SSE-S3 talab qilinadi.
- Download/preview ownership tekshiruvidan keyin qisqa muddatli URL yoki proxy orqali beriladi.
- Upload complete bosqichida size, SHA-256, declared MIME va magic bytes qayta tekshiriladi.
Operator mas’uliyati
Secret rotation, host patching, tarmoq ACL, markaziy log, SIEM, off-site backup/PITR va incident response tashqi operatsion qatlamda tashkil qilinadi.