Нөлөөлөл
Аюулгүй байдлын гарчиг байхгүй нь халдагчдад товшилт хийх, сессийн күүки хулгайлах эсвэл сайт хоорондын скрипт (XSS) [S1] гүйцэтгэх боломжийг олгодог. Эдгээр зааваргүйгээр хөтчүүд аюулгүй байдлын хил хязгаарыг мөрдөж чадахгүй бөгөөд энэ нь өгөгдлийг гадагшлуулах, зөвшөөрөлгүй хэрэглэгчийн үйлдэл хийх [S2].
Үндсэн шалтгаан
Асуудал нь вэб серверүүд эсвэл програмын хүрээг стандарт HTTP хамгаалалтын толгойг оруулахаар тохируулаагүйгээс үүдэлтэй. Хөгжүүлэлт нь ихэвчлэн функциональ HTML болон CSS [S1]-ийг чухалчилдаг ч хамгаалалтын тохиргоог орхигдуулдаг. MDN Observatory гэх мэт аудитын хэрэгслүүд нь эдгээр алга болсон хамгаалалтын давхаргыг илрүүлж, хөтөч болон серверийн харилцан үйлчлэлийг [S2] аюулгүй байлгах зорилготой юм.
Техникийн дэлгэрэнгүй мэдээлэл
Хамгаалалтын толгой хэсэг нь нийтлэг эмзэг байдлыг багасгахын тулд хөтчийг тусгай хамгаалалтын удирдамжаар хангадаг:
- Агуулгын аюулгүй байдлын бодлого (CSP): Ямар нөөцийг ачаалахыг удирдаж, скриптийг зөвшөөрөлгүй ажиллуулах, өгөгдөл оруулахаас сэргийлнэ [S1].
- Тээврийн аюулгүй байдал (HSTS): Хөтөч нь зөвхөн [S2] аюулгүй HTTPS холболтоор холбогддог.
- X-Frame-Options: [S1] дарж товшихоос хамгаалах үндсэн хамгаалалт болох iframe-д программыг дүрслэхээс сэргийлнэ.
- Х-Агуулгын-төрлийн сонголтууд: Хөтөч нь файлуудыг тодорхойлсоноос өөр MIME төрөл гэж тайлбарлахаас сэргийлж, [S2] MIME-ийн довтолгоог зогсооно.
FixVibe үүнийг хэрхэн туршиж үздэг
FixVibe нь вэб програмын HTTP хариултын толгой хэсэгт дүн шинжилгээ хийх замаар үүнийг илрүүлж чадна. Үр дүнг MDN Observatory [S2], FixVibe стандартуудтай харьцуулснаар CSP, ZXCVFIXVIBETOKEN4ZXFra, Option-, XCVFIXVIBETOKEN4ZXF- гэх мэт дутуу эсвэл буруу тохируулсан толгойнуудыг тэмдэглэж болно.
Засах
[S1] стандарт аюулгүй байдлын төлөвийн нэг хэсэг болгон бүх хариултуудад дараах толгой хэсгийг оруулахын тулд вэб сервер (жишээ нь, Nginx, Apache) эсвэл програмын дунд програмыг шинэчилнэ үү:
- Агуулга-Аюулгүй байдлын-Бодлого: Нөөцийн эх сурвалжийг итгэмжлэгдсэн домайнаар хязгаарлах.
- Тээвэрлэлтийн-Аюулгүй байдал: Урт
max-age-ээр HTTPS-ийг хэрэгжүүлээрэй. - Х-агуулгын-төрлийн сонголт:
nosniff[S2] болгож тохируулна уу. - X-Frame-Options: [S1] дарж дарахаас сэргийлэхийн тулд
DENYэсвэлSAMEORIGINболгож тохируулна уу.
