Kimdir mijozga PostgreSQL kirishini berishni taklif qiladi, shunda xarajat talabi boshidan oxirigacha shifrlangan holda o’tadi. Ma’lumotlar bazasi administratoriga haqiqiy SQL sessiyasi kerak, boshqa birov esa uning o’rniga veb-shakl taklif qiladi. Ikkala taklif ham noto’g’ri muammoni hal qiladi, chunki hech biri mijoz haqiqatda bajaradigan operatsiyadan boshlanmagan. Uch qarorni tartib bilan ko’rib chiqing va TLS VPN o’rnini bosa oladimi degan savol o’zi javob beradi.

Mijozga kerak bo’lgan operatsiyadan boshlang

Mijoz nimaga erishishi kerakligini yozing. Talabni topshirish, hisobotning bir qatorini o’qish va tezkor so’rovni bajarish xavf profili turlicha bo’lgan uch xil operatsiyadir.

Keyin so’rovni kim yuborayotganini yozing. Mijoz, qo’llab-quvvatlash agenti va administrator bir jadvalga tegishsa ham bir-birini almashtira olmaydi. Bu farq mijoz so’rov tilining qancha qismini ko’rishi kerakligini belgilaydi.

Javoblar juftligi interfeysni belgilaydi. Undan keyingi hamma narsa amalga oshirish, va shifrlash haqidagi bahslarning ko’pchiligi aslida qaysi interfeys tanlangani haqidagi bahsdir.

Uch nazorat, uch qaror

Autentifikatsiyalangan TLS ulanishni himoya qiladi va qaysi TLS identifikatorlari qabul qilinishini belgilaydi. Tarmoqqa kirish qaysi manbalar tinglovchiga yetib borishini belgilaydi. Ma’lumotlar bazasi avtorizatsiyasi rol qaysi obyektlar va amallarni ishlatishi mumkinligini belgilaydi.

Uchtadan hech biri boshqalarning o’rnini bosmaydi, buni jadval aniq ko’rsatadi.

ControlWhat it decidesWhat it leaves open
Authenticated TLSConnection protection and which TLS identities are acceptedWhich tables a database user may touch
Restricted network entryWhich sources reach the listenerWhether an authenticated user should run a given statement
Database authorizationWhich objects and actions a role may useWhether the connection arrived by an approved path

Boshqa qatorni olib tashlashdan oldin siz tayanadigan qatorni o’qing. Bunday loyihalarning ko’pchiligi nazorat sozlanmasdan taxmin qilingani uchun muvaffaqiyatsiz bo’ladi.

To’g’ridan-to’g’ri SQL ma’lumotlar bazasi siyosatini mas’ul tutadi

Tasdiqlangan to’g’ridan-to’g’ri ulanishda ham xizmat identifikatorini tekshirishni, ham rejalashtirilgan kirish siyosatini saqlang. TLS ni yoqish shifrlangan ulanishlarni mavjud qiladi; kirish konfiguratsiyasi hostssl yozuvlari orqali talab qilmasa, u shifrlanmaganlarini rad etmaydi.

Bu farqni shablonda emas, ishlab turgan konfiguratsiyada tekshirish kerak. TLS taklif qiladigan va oddiy matnni qabul qiladigan server ko’pchilik o’ylagan loyiha emas. Kirish qoidalarini o’qing va qaysi yozuvlar buni haqiqatan talab qilishini ko’ring. Shu bitta tekshiruv shifrlashga qodir serverni faqat shifrlangan serverdan ajratadi.

Faqat ish uchun kerakli imtiyozlarga ega rollardan foydalaning va egalik, meros qolgan a’zolik va keng berilgan ruxsatlarni ko’rib chiqing. PostgreSQL imtiyozlar modeli ma’lumotlar bazasi obyektlari uchun vakolat chegarasidir.

VPN ma’lumotlar bazasi autentifikatsiyasidan oldin qaysi qurilmalar xizmatga yetib borishini cheklashi mumkin, kirish shlyuzi ham shunga o’xshash ish qilishi mumkin. Ikkalasi ham ochiq komponentni saqlash, hisob ma’lumotlarini boshqarish va resurs sarfini cheklash zaruratini yo’qotmaydi.

Mijoz sertifikatlari — bu hisob ma’lumoti, ACL emas

Mijoz sertifikati ulanish vaqtida talab qo’shishi mumkin. clientcert sozlamasi ishonchli sertifikatni va qattiqroq rejimda sertifikat nomi bilan ma’lumotlar bazasi foydalanuvchisi o’rtasidagi bog’liqlikni talab qilishi mumkin.

Bu kuchliroq hisob ma’lumoti. Bu avtorizatsiya ro’yxati emas va serverni ko’rinmas qilmaydi, chunki ulanishni qabul qiladigan komponent hali ham tarmoq trafigini va qo’l berishni qayta ishlaydi. Sertifikatga kirish ro’yxati sifatida munosabatda bo’lish haqiqiy ruxsatlarni tegilmagan holda qoldiradi. U shuningdek sertifikatlar tarqalishini kengaytirishga moyil, bu esa keyingi muammoni tug’diradi.

Ortiqcha imtiyozli rolga bog’langan kuchli sertifikat yaxshi autentifikatsiyalangan administratorni beradi. Sertifikatni nishonlashdan oldin rolni tekshiring.

Mos kelsa, torroq interfeysni tanlang

Xarajat talabi uchun talabni qabul qiladigan, biznes qoidalarini qo’llaydigan va o’sha foydalanuvchining ruxsat etilgan natijasini qaytaradigan dastur so’nggi nuqtasi operatsiyani umumiy SQL hisobidan yaxshiroq ifodalaydi.

Keyin dastur o’zining cheklangan ma’lumotlar bazasi identifikatoridan foydalanadi, mijoz esa hech qachon xususiyat sifatida so’rov tilini olmaydi. Bu xato qilishning kamroq yo’llari bo’lgan kichikroq yuzadir.

Bu dizayn varianti, dastur kodi avtomatik ravishda xavfsizroq degan da’vo emas. Bu kod o’z chaqiruvchilarini autentifikatsiya qilishi, har bir amalni avtorizatsiya qilishi va kiritilgan ma’lumotni tekshirishi kerak, va uning o’z ma’lumotlar bazasi ruxsatlari hamon muhim.

To’g’ridan-to’g’ri SQL tasdiqlangan ishi buni talab qiladigan odamlar va vositalar uchun to’g’ri bo’lib qoladi. Bu dizaynni rollar, tarmoq qamrovi va operatsion chegaralar bilan shartlang, qolgan mijozlar esa torroq interfeysni saqlasin. Ikki guruhni bitta rolda aralashtirish — bahslar boshlanadigan joy.

O'xshash maqolalar