🛠 Technical Stuff

Чеклист по Web Security для фронтендеров

Mikhail Burmistrov
Mikhail Burmistrov
Привет 👋

Составил чеклист по безопасности для фронтендеров. 
"Для фронтендеров" тут означает что в список входят проблемы и уязвимости на стороне клиента или между клиентом и сервером. Поэтому здесь нет вещей в духе SQL-инъекций — это уже сторона сервера. Не хотелось раздувать список.

Знание вещей из списка поможет нам совершать меньше стыдных ошибок и проще/быстрее проходить код-ревью. В целом знание основ безопасности кажется мне базовой гигиеной для любого специалиста. 
Какие-то вещи тут крайне прикладные (XSS), какие-то для общего образования/на будущее (SRI/HSTS).

Не стесняйтесь предлагать новые пункты если чего-то не хватает.

Список:
  • Знать что такое Cross-Site Scripting (XSS).
    • Знать как может работать XSS с помощью загруженных файлов (Malicious attachments).
  • Знать что такое Content Security Policy (CSP) и зачем она нужна (учить все настройки не нужно).
  • Знать что такое Cross-Site Request Forgery (CSRF).
    • Понимать что такое CSRF-tokens: зачем нужны и основные принципы работы.
    • Понимать что такое Cross-Origin Resource Sharing (CORS) и как это понятие связано с CSRF.
  • Знать что такое Clickjacking и как от него защищаться.
  • Знать что такое Subresource Integrity (SRI) и зачем это нужно.
  • Понимать что такое Man in the middle attack (MITM) в контексте веба и как HTTPS помогает от неё защититься.
Бонусы для интересующихся (не входят в необходимый минимум — это больше про инфраструктуру):
  • Знать что такое HTTPS Downgrade и как от него защищаться
    • Знать что такое  HTTP Strict Transport Security (HSTS) и HSTS preload list.
    • Понимать как можно "сломать" HTTPS с помощью установки клиенту на девайс вредоносного корневого сертификата.