Azure Web Application Firewall (WAF) əsasları.
Azure Web Application Firewall (WAF)
Web Application-lar təhlükəsizlik baxımından, çox vaxt hücuma məruz qalan seqmentlərdən biridir. Azure WAF vasitəsilə, bir çox exploit və zərərvericilər ilə mübarizə aparmaq mümkündür. Bu hücumlar SQL injection, XSS (cross-site scripting), Cookie poisoning, hidden field manipulation və digər tipdə ola bilər.
Azure Web Application Firewall siyasətləri və qaydaları.
Siz WAF policy (siyasət) təyin edərkən, bu policy-ni 1 və ya bir neçə front-end üçün enable edə bilərsiniz. Policy-lər 2 tip qaydaları dəstəkləyir
- Custom Rule – hansı ki, istifadəçi özü təyin edir.
- Managed Rule – hansılar ki Azure tərəfindən built-in olaraq təyin olunur.
Hər 2 tip rule təyin olunduqda, custom rule-lar managed rule-dan daha əvvəl process olur. Qaydalar uyğunluq şərti (match condition), prioritet və reaksiya (action)-lardan ibarətdir.
Prioritet-lər vasitəsilə hansı qaydanın üstünlük təşkil edəcəyi təyin olunur. Prioritet nömrəsi kiçik olan qayda, prioritet nömrəsi böyük olan qaydadan daha öncə process olunur. Digər qaydalara isə baxılmır.
WAF Modes (WAF rejimləri)
İşləmə mexanizminə görə Waf policy-lər 2 işləmə mexanizmini dəstəkləyir:
- Detection mode – Bu rejimdə WAF yalnız monitoring lə logging xidmətin göstərəcəkdir. Təhlükə aşkar edildikdə belə, alert-lər vasitəsilə xəbərdarlıq edib log-larda qeyd edir. Yəni, heç bir hücumun qarşısı alınmır.
- Prevention mode – Bu metodu seçdikdə isə, aşkarlanan hücumlar dayandırılacaq və yenə də log-larda qeyd ediləcəkdir. WAF-ın hücum zamanı verəcəyi reaksiyanı xüsusi rule-lar vasitəsilə konfiqurasiya etmək mümkündür.
WAF actions (WAF reaksiyaları)
Konfiqurasiyalarda, yazılmış rule-a uyğun gələn aktivlik baş verdiyi zaman WAF tərəfindən hansı reaksiya (Action) veriləcəyin təyin edilir. Bu reaksiyalara:
- Allow – Daxil olan müraciət back-end ə yönləndirilir və heç bir tədbir görülmür.
- Block – Müraciət bloklanır və back-end ə heç bir məlumat ötürülmür
- Log – Müraciət WAF log-larda qeyd olunur və uyğun rule-a əsasən reaksiya verilir
- Redirect – WAF müraciəti spesifik URİ-yə redirect edir. Bu URİ-lər policy səviyyəsində təyin olunur.
WAF Rules (WAF qaydaları)
Qeyd etdiyimiz kimi – Waf rule-lar 2 yerə bölünür Custom Rules və Azure-managed Rules. Custom rule-lar vasitəsilə istifadəçi şirkət tələblərinə uyğun qaydalar yarada və tətbiq edə bilər.
Custom Rules
- Ip Allow list and block list (İcazə verilən və verilməyən İp siyahısı)
Siz öz web application-ları qorumaq üçün, İP ünvan və ya İp ünvan aralığı göstərək custom qaydalar hazırlaya bilərsiniz. Bu qaydalar siyahısına uyğun gələn source İp ünvanları həm qadağan etmək, həm də icazə vermək olar. İP versiya 4 və İp versiya 6 dəstəklənir.
- Geographic based access control (Lokasiyaya uyğun qaydalar)
Bu rule vasitəsilə, web applicationlara client İp ünvanı koduna əsasən, müəyyən ölkələr səviyyəsində icazələr konfiqurasiya edə bilərsiniz.
- HTTP parameters-based access control (HTTP parametrlər əsasında kontrol)
Bu qayda növü imkan yaradır ki, HTTP/HTTPS sorğularının parametrlərinə əsasən qaydalar tətbiq edilsin. Nümunə üçün, Query strings,Request URİ,POST args və ya request Body parametrləri.
- Request method-based access control (Sorğu metodu əsasında kontrol)
Bu qayda növü adından bəlli olduğu kimi, sorğu metodu əsasında (GET, PUT, HEAD) qaydalar tətbiq etməyə imkan yaradır.
- Size constraint (ölçü əsasında)
Siz custom rule-ları, sorğunun müəyyən hissələrinin (query string, Uri və ya request body) ölçüsünə görə təyin edə bilərsiniz.
- Rate limiting rules (Sorğu tezliyi əsasında qatdalar)
Hər hansı client İP-dən anormal dərəcədə yüksək trafik daxil olduğu zaman Rate Limiting qaydaları sizə kömək edə bilər. Əvvəlcədən təyin olunan bu qaydalarda siz istədiyiniz müraciət tempini limitləyə bilərsiniz.
Azure-managed rule sets
Built-in olaraq işləyən bu qaydalar, ən çox yayılmış təhlükə növlərindən qorunmaq üçün nəzərdə tutulub. Azure tərəfdən idarə olunan Default rule sets, davamlı formada yenilənir və yeni hücum signature-ləri ilə təmin olunur. Müdafiə kateqoriyaları:
- Cross-site scripting (XSS)
Bu hücumda əsas məqsəd, zərərverici kodun Web server və ya Client computerdə açılmasıdır. Bu zaman kod, istifadəçinin avtorizasiya məlumatlarından istifadə edərək məlumatlara access əldə edir.
- Java attacks
Bu tip hücum Windows, Linux hətta OSX əməliyyat sistemlərinə qarşı ən effektli hücumlardan sayılır. Əsas prinsip istifadəçini zərərli kod daşıyan java application-una daxil olmasıdır. Java cross-platforma proqramlaşdırma dili olduğuna görə kifayət qədər problem yaradır.
- Local and Remote file inclusion (LFİ and RFİ)
Server və ya istifadəçi tərəfin lokal fayllarına Access əldə etmək üçün istifadə olunur. Bunun üçün xüsusi sorğulardan istifadə edilir. Sorğular təsadüfi və ya konkret fayl axtarmaq üçün ola bilər.
- PHP injection attacks
Bu hücum PHP application-lara xüsusi zərərverici kod tərkibli php module əlavə edilməsi ilə həyata keçirilir.
- Remote command execution
Bu tip hücumlarda web application boşluqlarından istifadə edilərək remote serverdə xüsusi komandalar buraxılır və resurslara icazə əldə edilir.
- Session fixation
Bu hücum texnikası application-ların Session İD (SİD) menecment boşluğundan istifadə edir. İstifadəçi autentifikasiyadan keçdiyi zaman, application hər dəfə yeni SİD yaratmırsa, mövcud SİD-lərdən birin əldə edən xaker rahat şəkildə bütün credentials-ları əldə edir.
- SQL injection
Ən çox yayılan hücum növlərindən olan SQL injection, qeyri-professional şəkildə yazılmış skriptlərdəki boşluqlardan istifadə etmək üçün nəzərdə tutulub. Bu tip hücumlarda bazaya xüsusi sorğular göndərilir və istənilən məlumat problemsiz şəkildə əldə edilir.