WAF არის შებრუნებული პროქსი (reverse proxy), რომელიც ზის ვებ აპლიკაციის წინ და აანალიზებს მასთან მიმავალ და მისგან გამომავალ HTTP ტრაფიკს. მისი მთავარი ფუნქციაა ვებ აპლიკაციაზე მავნე ტრაფიკის დაბლოკვა, რამაც შეიძლება გამოიწვიოს მონაცემთა გაჟონვა ან სერვისის შეფერხება.
როგორ მუშაობს WAF?
WAF მუშაობს წინასწარ განსაზღვრული წესების ნაკრებისა და პოლიტიკის საფუძველზე, რომელიც ეხმარება მას ლეგიტიმური ტრაფიკისგან მავნე ტრაფიკის გარჩევაში.
მუშაობის ძირითადი მექანიზმებია:
- წესებზე დაფუძნებული ფილტრაცია (Rule-Based Filtering):
WAF იყენებს ცნობილი შეტევების სიგნატურების ბიბლიოთეკას (მაგ. SQL Injection, Cross-Site Scripting (XSS)). თუ შემომავალი მოთხოვნა ემთხვევა ამ სიგნატურას, WAF მას ბლოკავს ან აგზავნის შეტყობინებას. - დადებითი უსაფრთხოების მოდელი (Positive Security Model / Whitelisting):
ეს მიდგომა განსაზღვრავს რაც ნებადართულია და ბლოკავს ყველაფერ დანარჩენს. ის იცავს უცნობი ან ნულოვანი დღის (zero-day) შეტევებისგან, რადგან მხოლოდ მოსალოდნელი და სწორად ფორმატირებული მოთხოვნებია დაშვებული. - ქცევითი ანალიზი (Behavioral Analysis):
ზოგიერთი თანამედროვე WAF იყენებს მანქანურ სწავლებას ვებ აპლიკაციის ნორმალური ქცევის შესასწავლად. ნებისმიერი მოთხოვნა, რომელიც მნიშვნელოვნად გადაუხვევს ამ ნორმას, აღინიშნება, როგორც საეჭვო ან დაიბლოკება. - IP რეპუტაციის შემოწმება (IP Reputation Checks):
WAF-ებს შეუძლიათ დაბლოკონ ტრაფიკი IP მისამართებიდან, რომლებიც ცნობილია მავნე აქტივობით (მაგ. ბოტნეტები ან სპამერები). - პროტოკოლური სტანდარტების იძულება (Protocol Enforcement):
ეს წესები უზრუნველყოფს, რომ HTTP მოთხოვნები მკაცრად მიჰყვებოდეს პროტოკოლის სტანდარტებს, რითაც ხელს უშლის მავნე აქტორების მიერ პროტოკოლის დარღვევის მცდელობებს.
განთავსების ტიპები
- ქსელური (Network-based): ეს მოდელი განთავსებულია ქსელში იმგვარად, რომ უზურნველყოფს არამარტო კონკრეტული აპლიკაციის, არამედ მთელი ორგანიზაციული ქსელის დაცვას.
- ჰოსტზე დაფუძნებული (Host-based): პროგრამული უზრუნველყოფის მოდული, რომელიც დაინსტალირებულია უშუალოდ სერვერზე და უზრუნველყოფს კონკრეტულად ამ სერვერზე არსებული აპლიკაციების დაცვას.
- ღრუბელზე დაფუძნებული (Cloud-based): სერვისი, რომელსაც მართავს მესამე მხარე თავის ინფრასტრუქტურაზე და შესაძლებელია მისი მორგება, როგორც ქსელის დონეზე, ასევე ცალკე თითოეულ სერვერზე.
რატომ არის მნიშვნელოვანი?
WAF მნიშვნელოვანია, რადგან ის უზრუნველყოფს უსაფრთხოების კიდევ ერთ დონეს აპლიკაციისთვის. მაშინაც კი, თუ აპლიკაციაში არის დაუცველობა, WAF-ს შეუძლია დაბლოკოს შესაბამისი მოთხოვნა და არ მისცეს საშუალება, ინფორმაციის გაჟონვის ან სერვისის შეფერხების, სანამ დეველოპერები გამოასწორებენ აღნიშნულ ხარვეზს.