SecureBits

  • Какво всъщност прави HttpOnly при бисквитките?

    В уеб сигурността детайлите често решават всичко. Един привидно малък флаг като HttpOnly може да бъде границата между обикновена страница и компрометиран акаунт.

    Защо този флаг има значение?

    Когато дадена бисквитка е маркирана като HttpOnly, браузърът забранява достъпа до нея чрез JavaScript. Тя продължава да се изпраща със заявките към сървъра, но клиентските скриптове не могат да я прочетат или модифицират.

    Това предпазва от XSS атаки, при които злонамерен скрипт се инжектира в страницата и опитва да открадне сесийни или „remember me“ бисквитки. А, ако атакуващият получи такава бисквитка, той ефективно поема контрол над сесията на жертвата.

    С други думи — ако чужд скрипт се промъкне във вашия фронтенд, HttpOnly може да е последната ви защита срещу пълно компрометиране на потребителски акаунти.

    Добрата новина?

    Много съвременни фреймуърци и CMS-и по подразбиране включват HttpOnly за сесийните бисквитки. Това е една от причините да избираме платформи с добри security defaults — защото някои неща трябва просто да работят сигурно от първия ден, дори и да не знаем за съществуването им.

    Разбира се, има изключения. Например при CSRF токените, които трябва да бъдат достъпни за JavaScript, HttpOnly не се използва умишлено. Но за сесии и автентикационни бисквитки – няма причина да го изключвате.

    Какво да запомним?

    • HttpOnly прави бисквитките невидими за JavaScript, защитавайки ги от XSS

    • Винаги го използвайте за сесийни и „remember me“ бисквитки

    • Изключвайте го само ако наистина ви трябва достъп от JavaScript (рядко и рисково)

    • Избирайте технологии с добри настройки, свързани със сигурността, зададени по подразбиране (виж по-долу)

    Как да изберете „сигурен по подразбиране“ фреймуърк?

    Не всичко трябва да се изгражда ръчно. Добре подбраният фреймуърк може да осигури силен старт още от първата заявка.

    Търсете „secure by default“

    • Сесии с HttpOnly и Secure (при HTTPS)

    • Активна CSRF защита

    • Лесна настройка на CSP

    • Валидиране на входа и escaping на изхода

    Laravel и WordPress го правят — ако знаете къде да пипнете.

    Проверете документацията

    Търсете секции като Security, Best Practices, Hardening Guide. Ако липсват — проблем.

    Разгледайте настройките

    • Гледайте Set-Cookie заглавки

    • Тествайте поведение при XSS и CSRF

    • Прегледайте конфигурацията — ще усетите нивото на внимание към сигурността

    Питайте и ще ви се отговори

    Потърсете “security issues in [framework]” — ще разберете много повече, отколкото от маркетинг страница.

    HttpOnly не е сложна настройка. Но тя може да спре сложна атака. Проверете дали я използвате.

Back to top button