HSTS არის ვებ უსაფრთხოების პასუხის სათაური. სახელი არის აკრონიმი "HTTP მკაცრი ტრანსპორტის უსაფრთხოება". HSTS სათაურის ფუნქციაა აიძულოს ბრაუზერები დაუკავშირდნენ ვებსაიტებს HTTPS-ის გამოყენებით.
რჩევა: HTTPS იყენებს დაშიფვრას, რათა უზრუნველყოს თქვენი ვებ კავშირი ჰაკერებისგან, რომლებიც ცდილობენ მის შეცვლას ან მონიტორინგს. HTTP-ს არ აქვს ეს დაცვა და ამიტომ სწორ ადგილას ჰაკერს შეუძლია თქვენი HTTP ტრაფიკის მონიტორინგი და შეცვლა.
ვებ პასუხის სათაური არის სერვერის მიერ გაგზავნილი მეტა-მონაცემების ნაწილი, როდესაც ის პასუხობს ვებ მოთხოვნებს. ამ სათაურების ქვეჯგუფს ხშირად უწოდებენ უსაფრთხოების სათაურებს, რადგან მათი მიზანია ვებსაიტისა და მომხმარებლის უსაფრთხოების გაზრდა.
HSTS სათაურს აქვს ორი სავალდებულო ნაწილი და ორი არჩევითი. სათაურის სახელი "Strict-Transport-Security" და შემდეგ "max-age" ოპერატორი და მნიშვნელობა ორივე სავალდებულოა. ოპერატორების კიდევ ერთი წყვილი, "includeSubDomains" და "preload" ასევე ზოგჯერ გამოიყენება.
როდესაც ბრაუზერი იღებს HTTPS პასუხს HSTS სათაურით, მას ევალება დაუკავშირდეს ამ ვებსაიტს და მასზე არსებულ ყველა რესურსს, ექსკლუზიურად HTTPS-ის გამოყენებით „მაქსიმალური ასაკის“ ტაიმერის ხანგრძლივობისთვის. „Max-age“ არის ცვლადი, რომელიც აღწერს რამდენ ხანს უნდა ახსოვდეს პარამეტრი ბრაუზერის მიერ. "მაქს-ასაკის" მნიშვნელობა მითითებულია წამებში, რეკომენდებული მნიშვნელობა არის "31536000", რაც არის ერთი წელი.
იდეა იმაში მდგომარეობს, რომ ამ ტაიმერის ხანგრძლივობის განმავლობაში, რომელიც გადატვირთულია ყოველი მომდევნო გვერდის ჩატვირთვისას, ბრაუზერს დასჭირდება HTTPS კავშირი და უარყოს ნებისმიერი HTTP რესურსი. ეს იცავს პირის შუაგულში შეტევებისგან, სადაც თქვენსა და ვებსერვერს შორის ჰაკერს შეუძლია მანიპულირება მოახდინოს თქვენ მიერ მიღებულ პასუხებზე.
მთავარი წერტილი, რომლითაც ეს გიცავს, არის პირველი კავშირი. როგორც წესი, ვებსაიტთან დაკავშირებისას შეგიძლიათ მოითხოვოთ HTTP ვებსაიტი და შემდეგ გადაგზავნოთ HTTPS ვებსაიტზე. სამწუხაროდ, ჰაკერმა, რომელიც შუა პოზიციაზეა, შეუძლია ხელი შეუშალოს ამ განახლებას HTTPS-ზე და შემდეგ მოიპაროს ან დააკვირდეს თქვენს აქტივობას ვებსაიტზე. მას შემდეგ, რაც HSTS სათაური დაინახავს ბრაუზერს, თუმცა, თქვენი ბრაუზერი დადებს პირველ კავშირს HTTPS-ითაც კი, დაიცავს თქვენ ჰაკერებისგან.
HSTS ასევე ხელს უშლის ნებისმიერი დაუცველი რესურსის ჩატვირთვას, რომელიც ასევე შეიძლება მავნედ შეიცვალოს თავდამსხმელის მიერ HTTP-ით მიწოდების შემთხვევაში.
"includeSubDomains" ოპერატორი გამოიყენება იმის აღსანიშნავად, რომ სათაური ასევე უნდა გავრცელდეს ვებსაიტის ყველა ქვედომენზე.
HSTS წინასწარ ჩატვირთვის სია
თქვენ შეიძლება შეამჩნიოთ, რომ HSTS ჯერ კიდევ არ გიცავთ ვებსაიტთან პირველად დაკავშირებისას. სწორედ აქ შემოდის "preload" ოპერატორი. ვებსაიტებს შეუძლიათ წარადგინონ თავი HSTS წინასწარ ჩატვირთვის სიაში შესაყვანად, თუ ეს ასეა, „წინასწარ ჩატვირთვის“ ოპერატორი აუცილებელი მაჩვენებელია. HSTS წინასწარ ჩატვირთვის სია რეგულარულად განახლდება და ინახება ბრაუზერში, თუ საიტი შედის მასში, ბრაუზერი გამოიყენებს მას HSTS დაცვას. ეს ხდება პირველივე კავშირზეც კი, სანამ ბრაუზერს შეეძლო ენახა HSTS პასუხის სათაური.
რჩევა: HSTS წინასწარ ჩატვირთვის სიაში დასამატებლად საჭიროა ერთი ან მეტი წლის „მაქსიმალური ასაკი“.
პრობლემები HSTS-თან
HSTS-ის ერთ-ერთი მთავარი პუნქტია ის, რომ ის წარმოადგენს შეცდომის შეტყობინებას, თუ რაიმე პრობლემაა HTTPS კავშირთან დაკავშირებით. როგორც უსაფრთხოების დამატებითი ზომა, მომხმარებლებს არ უნდა შეეძლოთ HSTS შეცდომის შეტყობინებების გვერდის ავლით, როგორც ეს შეძლებენ ნორმალური HTTPS შეცდომების შემთხვევაში.
სამწუხაროდ, ამან შეიძლება გამოიწვიოს პრობლემები, თუ კომპანია გამოაქვეყნებს HSTS-ს მთელი ვებსაიტის წინ და მასზე გამოყენებული ყველა რესურსი მხარს უჭერს HTTPS-ს. ამ შემთხვევაში, მომხმარებლები დაიწყებენ ნახონ HSTS უსაფრთხოების შეცდომის შეტყობინებები, რომლებსაც მათ არ შეუძლიათ გვერდის ავლით, რაც არსებითად მთლიანად არღვევს ვებსაიტს. ყველაზე ცუდი ის არის, რომ უბრალოდ HSTS სათაურის ამოღება არ აგვარებს პრობლემას ამ მომხმარებლებისთვის, რადგან მათი ბრაუზერი გააგრძელებს HSTS-ის ამოქმედებას პოტენციურად თვეების განმავლობაში „მაქსიმალური ასაკისთვის“.
როგორც ასეთი, კრიტიკულად მნიშვნელოვანია, რომ გამოყენებული იქნას მოკლე „მაქსიმალური ასაკი“ სათაურის პირველი განლაგებისას. თუ რაიმე პრობლემაა, მაშინ აღმოჩენის შემდეგ ისინი მხოლოდ მცირე ხნით რჩება. მხოლოდ მას შემდეგ რაც დარწმუნდებით, რომ თქვენი ვებსაიტი სრულად შეესაბამება HSTS-ს, უნდა დააკონფიგურიროთ გრძელი HSTS ტაიმერი.
რჩევა: ასევე შესაძლებელია „მაქსიმალური ასაკის“ 0-ის დაყენება, ეს არსებითად აშორებს შენახულ HSTS ჩანაწერს ყველას, ვინც მას ხედავს. ეს შეიძლება დაგვეხმაროს, თუ პრობლემა წარმოიქმნება, მაგრამ ის გავლენას მოახდენს მომხმარებლებზე მხოლოდ მაშინ, როცა ისინი გადაწყვეტენ ხელახლა ცდას.