გავლენა
უსაფრთხოების სათაურების არარსებობა თავდამსხმელებს საშუალებას აძლევს შეასრულონ დაწკაპუნება, მოიპარონ სესიის ქუქი-ფაილები ან განახორციელონ საიტის სკრიპტები (XSS) [S1]. ამ ინსტრუქციების გარეშე ბრაუზერებს არ შეუძლიათ უსაფრთხოების საზღვრების დაცვა, რაც იწვევს მონაცემთა პოტენციურ ექსფილტრაციას და მომხმარებლის არაავტორიზებულ ქმედებებს [S2].
ძირეული მიზეზი
პრობლემა წარმოიქმნება ვებ სერვერების ან აპლიკაციის ჩარჩოების კონფიგურაციის შეუსრულებლობის გამო, რათა შეიცავდეს სტანდარტული HTTP უსაფრთხოების სათაურებს. მიუხედავად იმისა, რომ განვითარება ხშირად პრიორიტეტს ანიჭებს ფუნქციურ HTML და CSS [S1]-ს, უსაფრთხოების კონფიგურაციები ხშირად გამოტოვებულია. აუდიტის ხელსაწყოები, როგორიცაა MDN ობსერვატორია, შექმნილია ამ დაკარგული თავდაცვითი ფენების აღმოსაჩენად და ბრაუზერისა და სერვერის ურთიერთქმედების უზრუნველსაყოფად [S2].
ტექნიკური დეტალები
უსაფრთხოების სათაურები ბრაუზერს აწვდიან უსაფრთხოების სპეციფიკურ დირექტივებს საერთო დაუცველობის შესამცირებლად:
- კონტენტის უსაფრთხოების პოლიტიკა (CSP): აკონტროლებს, რომელი რესურსების ჩატვირთვა შეიძლება, თავიდან აიცილოს სკრიპტის არაავტორიზებული შესრულება და მონაცემთა ინექცია [S1].
- Strict-Transport-Security (HSTS): უზრუნველყოფს ბრაუზერის კომუნიკაციას მხოლოდ უსაფრთხო HTTPS კავშირებით [S2].
- X-Frame-Options: ხელს უშლის აპლიკაციის გაფორმებას iframe-ში, რაც არის პირველადი დაცვა [S1] დაწკაპუნებისგან.
- X-Content-Type-Options: ხელს უშლის ბრაუზერს ფაილების ინტერპრეტაციაში, როგორც მითითებულისგან განსხვავებული MIME ტიპის, აჩერებს MIME-სნიფის შეტევებს [S2].
როგორ ამოწმებს მას FixVibe
FixVibe-ს შეეძლო ამის აღმოჩენა ვებ აპლიკაციის HTTP პასუხის სათაურების ანალიზით. შედეგების შედარებით MDN ობსერვატორიის სტანდარტებთან [S2], FixVibe-ს შეუძლია დროშით მონიშნოს დაკარგული ან არასწორად კონფიგურირებული სათაურები, როგორიცაა CSP, ZXCVFIXVIBETOKEN,-XCVFIXVIBETOKEN4ZX.
გამოსწორება
განაახლეთ ვებ სერვერი (მაგ., Nginx, Apache) ან აპლიკაციის შუალედური პროგრამა, რათა შეიტანოთ შემდეგი სათაურები ყველა პასუხში, როგორც უსაფრთხოების სტანდარტული პოზის ნაწილი [S1]:
- Content-Security-Policy: რესურსების წყაროების შეზღუდვა სანდო დომენებზე.
- Strict-Transport-Security: განახორციელეთ HTTPS გრძელი
max-age. - X-Content-Type-Options: დააყენეთ
nosniff[S2]. - X-Frame-Options: დააყენეთ
DENYანSAMEORIGINდაწკაპუნების თავიდან ასაცილებლად [S1].
