Azure Database Təhlükəsizliyi
Database təhlükəsizliyi
Azure SQL Database bir sıra müdafiə texnologiyası və funksiyalar vasitəsi ilə təhlükəsizliyi qoruyur.
Nümunə olaraq:
- Azure SQL Firewall
- SQL Always Encrypted
- Row-level security
- Transparent data encryption
- Cell-level encryption
- Dynamic data masking (DDM)
Funskiyalarının bəziləri ilə tanış olaq.
Azure SQL Firewall
Azure SQL xidmətinə minimal baza imkanları dəstəkləyən Firewall daxildir. Bu Firewall vasitəsilə biz source İP adress müraciətləri kontrol edə bilərik. Sadə funksiya olsada, bu tip məhdudiyyətlər kifayət qədər çox istifadə olunur. Çünki, şəbəkə səviyyəsində database serverlərə və instance-lara lazımi yetkiləri rahatlıqla kontrol etmək olur.
Authentication (Autentifikasiya)
- SQL Authentication – Database server yaradılarkən, “Server admin” account üçün username və password tələb olunur. Bu credentials-ları istifadə edərək, admin həmin database serverdə yerləşən bütün database-lərə “Owner” hüququ ilə daxil ola bilir. Bundan sonra isə, admin əlavə olaraq SQL login və user-lər yarada bilər.
- Azure Active Directory authentication – bu mexanizm Azure AD hesabları vasitəsilə, Azure SQL Database və SQL Data Warehouse xidmətlərinə qoşulmaq olar.
Sətir səviyyəsində təhlükəsizlik (Row-level Security)
Sətir səviyyəsində təhlükəsizlik SQL (RLS) database də olan sətirlərin girişini idarəetməyə imkan verir. Sətirlərə müdaxilə kontrolu istifadəçinin konteksti (məsələn: İsitifadəçi və ya Qrup olması) əsasında reallaşdırılır, RLS applicationlarda code təhlükəsizliyi və dizayn işini asanlaşdırır.
Nümunə üçün – bu funksiya imkan verir ki istifadəçinin girişini ancaq ehtiyacı olduğu sütunlarla məhdudlaşdırılsın, və ya müştəriyə ancaq onun şirkəti ilə bağlı olan informasiyaya daxil olmağı icazə verilsin. Beləlikdə minimal üstünlüklər prinsipini reallaşdırmaq olar, hansı ki ancaq sizin şirkətin istifadəçilərinə və ya istədiyiniz digər istifadəçilərə yetkilər verilsin.
SQL Auditing
SQL DB auditing – məlumat bazasında baş verən bütün prossesləri qeydə alır. Bu qeydlər Azure storage accountda audit log bölməsinə yazılır. Audit loqlar vasitəsilə biz hal-hazırda baş verən və artıq baş vermiş məlumatları analiz edə və lazımi araşdırmalar apara bilərik. Audit logların rahat anazlizi üçün, Azure Monitor Logs (Log analytics) servisindən istifadə etmək olar.
Advanced Threat Protection
ATP SQL server logların analiz edərək, şübhəli prossesləri və potensial zərərə verə biləcək cəhdləri aşkar edir. Machine Learning texnologiyalarından istifadə etməklə SQL injection, məlumat sızması, brute force hücum və anomal daxilolmaları barəsində xəbərdarlıq edir. Bu xəbərdarlıqlar Azure Security Center səhifəsində araşdırıla və lazımi tədbirlər görülə bilər.
Məlumatların şəffaf şifrlənməsi (Transparent Data Encryption)
Məlumatların şəffaf şifrlənmə mexanizmi (TDE). məlumatları saxlanıldığı zaman şifrləyir. Bu bölümdə müzakirə etdiyimiz kimi, məlumatların saxlanılan zaman müdafiəsi, fiziki storage oğurlanmasına qarşı kritik müdafiə komponentidir. Əgər hucüm edən şəxs fiziki storage əldə etsə, bəzən məlumatları bərpa edib oxumaq və ya database qoşulmaq imkanı qazanır. Bu problemin həllərindən biri, Database-də olan dəyərli məlumatları şifrləməkdir və sertifikat vasitəsilə şifrləmə açarlarını müdafiəsidir. Nəticədə məlumatlara giriş üçün açara ehtiyac olacaq.
TDE məlumatların və fayl jurnallarının şifrlənməsini və deşifrlənməsini real zaman çərçivəsində icra edir və proqramlar üçün AES və 3DES alqoritmlərin istifadəsi ilə şifrləmək imkanı verir. Bu zaman tərtibatçılara proqramın koduna dəyişiklik etməsinə ehtiyac qalmır.
Xana səviyyəsində şifrlənmə (Cell-level Encryption)
Bu mexanizm təxmini olaraq TDE kimi çalışır, ancaq bu iki texnologiyanın vəzifəsi nisbətən fərqlidir. Xana səviyyəsində şifrlənmə zamanı istifadəçi yalnız icazəsi olan baza xanalarına müraciət edə bilir. Əgər şifrlənməli olan məlumatların həcmi yetərincə azdırsa proqramı elə planlaşdırmaq olar ki, onda xana səviyyəsində şifrlənmə icra edilsin. Ümumilikdə isə yüksək performans tələb olunmursa bu zaman xana səviyyəsində şifrlənməyə üstünlük vermək məsləhətdir. Əks halda mövcud olan proqramlarda TDE istifadəsi daha uyğundur.
Məlumatların dinamik maskalanması (Dynamic Data masking)
Məlumatların dinamik maskalanması (DDM) müdafiə edilən məlumatları gizlədir. Əsas üstünlük ondadır ki, bu zaman database-də saxlanılan məlumatları dəyişdirmir. Bu funksiyanı istifadə etmək üçün apllicationlarda heç bir dəyişikliyə ehtiyac yoxdur. Çünki, masking prosseslər client-ə cavab göndəriləndən sonra həyata keçir.
Növbəti ssenarini nəzərdən keçirək:
Support əməkdaşı, istifadəçiləri bank kartlarındaki rəqəmlərlərdən, telefon nömrəsi və ya başqa personal məlumatlar vasitəsilə identifiksiya edir ancaq, işçiyə bütün personal məlumatlara giriş vermək düzgün deyil.
DDM vasitəsilə maskalanma qaydasını yaradırıq, hansı ki bütün personal məlumatları sorğu edərkən tam qarışıq bir məlumat qayıdacaq. Nəticədə, əməkdaşın konfidensial məlumatlara məhdud girişi olacaq.
Unutmamalısınız ki, DDM database-ə birbaşa qoşulan və sorğularının nəticəsində konfidensial məlumat ala biləcək istifadəçilərdən müdafiə üçün nəzərdə tutulmayıb. Ona görə məlumatların dinamik maskalanmasına təhlükəsizliyi təmini üçün olan əlavə funksiya kimi yanaşmaq lazımdır.