Зв'яжіться з нами

info@serverion.com

Зателефонуйте нам

+1 (302) 380 3902

Безпека токенів CORS: ключові практики

Безпека маркерів CORS (Cross-Origin Resource Sharing) має значення, оскільки погано налаштовані параметри можуть надати зловмисникам доступ до конфіденційних даних. Ось як захистити свої маркери та програми:

  • Встановіть суворі правила походження: дозволити входити лише довіреним доменам Access-Control-Allow-Origin.
  • Уникайте символів підстановки в облікових даних: Браузери блокують такі конфігурації, як * з Access-Control-Allow-Credentials: вірно.
  • Завжди використовуйте HTTPS: Шифруйте всі обміни маркерами та примусово використовуйте HSTS.
  • Перевірте токени на стороні сервера: перевіряйте формат маркера, термін дії та дозволи для кожного запиту.
  • Життєвий цикл контрольного токена: використовуйте короткі терміни дії, ротуйте токени та додайте відкликані до чорного списку.

Приклад безпечної конфігурації CORS:

Походження дозволу на доступ: https://trusted-app.com Облікові дані дозволу на доступ: true Заголовки дозволу на доступ: Авторизація, Тип вмісту 

Основи безпеки CORS і токенів

Пояснення CORS

CORS (Cross-Origin Resource Sharing) контролює, як веб-програми отримують доступ до ресурсів із різних джерел (наприклад, домену, протоколу чи порту) за допомогою заголовків HTTP. Коли браузер виявляє перехресний запит, він покладається на політики CORS, щоб визначити, чи слід дозволити запит.

Основні HTTP-заголовки, задіяні в CORS, включають:

  • Походження: Ідентифікує вихідний домен запиту.
  • Access-Control-Allow-Origin: перелічує джерела, яким дозволено доступ до ресурсу.
  • Access-Control-Allow-Methods: визначає дозволені методи HTTP (наприклад, GET, POST).
  • Access-Control-Allow-Headers: вказує, які спеціальні заголовки можна включити в запити.
  • Access-Control-Allow-Credentials: визначає, чи можна надсилати облікові дані, як-от файли cookie або маркери.

Наприклад, якщо веб-програма розміщена на https://app.example.com потрібні дані з API на https://api.example.com, сервер API повинен включати заголовки CORS, щоб дозволити перехресний запит.

Тепер давайте подивимося, як жетони відіграють роль у цьому.

Токени в CORS Security

Токени необхідні для захисту сеансів користувачів і авторизації запитів між джерелами. Два поширених типи токенів:

  • Жетони на пред'явника: Надіслано в Авторизація заголовок.
  • Токени сесії: зазвичай зберігається в файлах cookie.

Якщо CORS налаштовано неправильно, токени можуть потрапляти в ненадійні домени, створюючи ризики для безпеки. Щоб захистити маркери під час перехресних запитів, сервери повинні перевірити:

  • Джерело, що робить запит.
  • Чи присутній і правильно відформатований маркер.
  • Якщо термін дії токена минув.
  • Дозволи, пов’язані з маркером.

Правильне налаштування заголовка CORS має вирішальне значення для безпеки токенів. Наприклад, під час використання токенів-носіїв сервер має явно дозволити Авторизація заголовок. Ось приклад конфігурації:

Заголовки доступу-контролю-дозволів: Авторизація, Тип вмісту Походження доступу-контролю-дозволів: https://app.example.com Облікові дані доступу-контролю-дозволів: true 

Це налаштування гарантує, що лише довірений домен (https://app.example.com) може надсилати маркери авторизації. Він також блокує несанкціоновані перехресні запити, зменшуючи ризик крадіжки токенів або неправильного використання.

Перехресне використання ресурсів (CORS) | Повне керівництво

Контрольний список безпеки токенів CORS

Щоб переконатися, що ваші токени безпечні під час використання CORS, дотримуйтесь цих детальних заходів.

Контроль доступу до джерела

Контролюйте, які джерела можуть отримати доступ до ваших ресурсів, встановивши суворі правила у вашому Access-Control-Allow-Origin заголовок. Наприклад:

Джерело дозволу на керування доступом: https://trusted-domain.com Методи дозволу на керування доступом: GET, POST, OPTIONS 

Підтримуйте білий список довірених доменів на стороні сервера та перевіряйте запити щодо нього. Завжди шифруйте передачу токенів, щоб захистити конфіденційні дані.

Вимоги HTTPS

Завжди використовуйте HTTPS для захисту зв’язку. Ось як це зробити:

  • Встановіть сертифікати SSL/TLS від надійного центру.
  • Налаштуйте автоматичне перенаправлення з HTTP на HTTPS.
  • Увімкніть HTTP Strict Transport Security (HSTS) із такою конфігурацією:
Strict-Transport-Security: max-age=31536000; includeSubDomains; попереднє навантаження 

Це гарантує, що всі з’єднання залишаються зашифрованими та безпечними.

Правила спільного використання облікових даних

Обробляючи токени за допомогою CORS, ретельно керуйте обліковими даними:

Сценарій Налаштування Ефект
Маркер у заголовку авторизації Access-Control-Allow-Credentials: false Запобігає надсиланню файлів cookie
Аутентифікація cookie сеансу Access-Control-Allow-Credentials: вірно Дозволяє надсилати файли cookie
Публічні кінцеві точки Access-Control-Allow-Origin: * Використовуйте символи підстановки лише для неконфіденційних даних

Управління життєвим циклом маркерів

Мінімізуйте ризик компрометації токенів, ефективно керуючи їхнім життєвим циклом:

  • Встановіть термін дії (зазвичай 15–60 хвилин для маркерів доступу).
  • Обертайте жетони після конфіденційних дій.
  • Ведіть чорний список на стороні сервера для відкликаних токенів.
  • Використовуйте ковзаючий термін дії для маркерів оновлення, але встановіть абсолютний ліміт терміну дії.

Ці кроки допомагають переконатися, що токени недовговічні та їх важче використовувати.

Перевірки токенів на стороні сервера

1. Перевірка походження

Перевірте заголовки Origin і Referer у своєму довіреному білому списку, щоб посилити контроль походження.

2. Перевірка структури маркера

Перед обробкою переконайтеся, що маркери відповідають очікуваному формату та включіть усі необхідні заявки.

3. Перевірка підпису

Для маркерів JWT перевірте підпис за допомогою секретного ключа вашого сервера, щоб виявити втручання.

4. Підтвердження претензій

Перевірте ключові твердження, такі як:

  • Термін дії (досвід)
  • Видано о (iat)
  • Аудиторія (ауд)
  • Емітент (вип)

5. Перевірка дозволу

Переконайтеся, що область дії маркера відповідає дозволам, необхідним для запитаної операції.

Помилок безпеки CORS, яких слід уникати

Щоб захистити свої токени та підтримувати надійну безпеку, дуже важливо уникати типових помилок конфігурації CORS. Основна проблема виникає під час поєднання символів підстановки з обліковими даними. Це налаштування блокується браузерами через загрози безпеці.

// Небезпечна конфігурація – браузери відхилять це Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true 

Більш безпечний підхід полягає у визначенні конкретних джерел під час використання облікових даних:

// Безпечна конфігурація Access-Control-Allow-Origin: https://trusted-app.com Access-Control-Allow-Credentials: true 

Працюючи з конфіденційними даними або маркерами автентифікації, завжди оголошуйте конкретні джерела. Це допомагає запобігти несанкціонованому доступу. Крім того, ознайомтеся з варіантами корпоративного хостингу, які можуть додатково посилити безпеку маркерів CORS.

Безпека CORS у корпоративному хостингу

Захист обміну конфіденційними маркерами в корпоративних середовищах вимагає надійного налаштування хостингу. Корпоративний хостинг базується на стандартних методах безпеки, додаючи засоби захисту на фізичному та мережевому рівнях для захисту маркерів CORS.

Функції безпеки хостинг-провайдера

Захист токенів CORS починається з основних функцій хостингу. Поєднання апаратних і програмних брандмауерів виступає як перший захист від несанкціонованого доступу. У реальному часі моніторинг мережі також важливий для швидкого виявлення та усунення загроз.

Ось деякі важливі елементи інфраструктури для захисту токенів CORS:

Особливість Вигода безпеки
Захист DDoS Захищає служби від збоїв під час обміну токенів
Географічно резервовані центри обробки даних Забезпечує резервування для забезпечення безперервної перевірки маркерів
Підтримка сертифікатів SSL Застосовує зашифровані з’єднання HTTPS
Цілодобовий моніторинг мережі Визначає незвичайну активність маркера в реальному часі
Автоматичне резервне копіювання Захищає конфігурації маркерів і параметри безпеки

Ці функції створюють міцну основу для безпеки токенів CORS, як продемонстрували такі постачальники, як Serverion.

SerionionІнструменти безпеки CORS

Serionion

Serverion пропонує безпечну інфраструктуру, призначену для обробки конфіденційних токенів. Їхня система захисту від DDoS, здатна пом’якшувати атаки зі швидкістю до 4 Тбіт/с, гарантує, що кінцеві точки перевірки токенів залишаються онлайн і функціонують.

Завдяки мережі, що охоплює 37 центрів обробки даних, Serverion забезпечує резервування та обслуговування Час роботи 99,99%, критично важливий для веб-додатків, які покладаються на перехресну автентифікацію токенів.

Ключові заходи безпеки, надані Serverion, включають:

  • Моніторинг мережі в реальному часі швидко виявляти загрози та реагувати на них
  • Кілька щоденних резервних копій для захисту конфігурацій маркерів
  • Розширені брандмауери для захисту систем перевірки токенів
  • Інтеграція сертифіката SSL для обміну зашифрованими маркерами

Ці інструменти забезпечують надійну безпеку токенів для додатків за підтримки цілодобової технічної підтримки та постійних оновлень для вирішення нових загроз.

Висновок

Захист токенів CORS вимагає поєднання точних технічних заходів і потужної надійної інфраструктури. Стратегії, які обговорюються в цьому посібнику, починаючи від суворого контролю доступу до джерела й закінчуючи ефективним керуванням життєвим циклом маркерів, складають основу безпечного налаштування спільного використання ресурсів між джерелами. Разом ці методи створюють міцну систему безпеки.

Інфраструктура Serverion з її глобальні центри обробки даних, час безвідмовної роботи 99,99% і розширений захист від DDoS є яскравим прикладом того, як надійна інфраструктура посилює безпеку.

Щоб підтримувати безпеку токенів CORS, зосередьтеся на таких ключових областях:

  • Технічні заходи: правильно налаштуйте заголовки CORS, суворо дотримуйтесь HTTPS і забезпечте ретельну перевірку маркерів.
  • Надійність інфраструктури: Використання хостингові рішення корпоративного рівня із розширеними функціями безпеки та резервуванням.
  • Активний моніторинг: постійно відстежуйте обмін токенами та швидко реагуйте на потенційні загрози.

Оскільки стандарти веб-безпеки розвиваються, партнерство з надійними хостинг-провайдерами стає все більш важливим. Їх передові інструменти та ресурси показують, як потужна інфраструктура безпосередньо підтримує безпечне керування маркерами CORS.

Досягнення довгострокової безпеки токенів CORS вимагає постійного оновлення, активного моніторингу та постійного обслуговування. Дотримуючись цих правил і використовуючи надійні рішення для хостингу, організації можуть забезпечити тривалий захист спільного використання ресурсів між джерелами.

поширені запитання

Чому вам слід уникати використання символів підстановки з обліковими даними в налаштуваннях CORS?

Використання символів підстановки (*) у конфігураціях CORS, якщо дозволити облікові дані, це може створити серйозні ризики безпеці. Це налаштування дозволяє запити з будь-якого джерела, які можуть ненавмисно надати конфіденційні дані неавторизованим або зловмисним джерелам.

Для безпечних реалізацій CORS завжди визначайте конкретні надійні джерела замість використання символів підстановки. Це гарантує, що лише авторизовані домени можуть отримати доступ до ваших ресурсів, зменшуючи ймовірність витоку даних або несанкціонованого доступу.

Чому використання HTTPS важливо для захисту токенів CORS?

Використання HTTPS необхідний для захисту токенів CORS, оскільки він шифрує дані, що передаються між клієнтом і сервером. Це запобігає зловмисникам від перехоплення або підробки конфіденційної інформації, включаючи маркери, під час передачі.

Крім того, HTTPS забезпечує автентичність сервера, знижуючи ризик атак типу "людина посередині". Впроваджуючи HTTPS, ви створюєте безпечне середовище, яке допомагає захистити маркери CORS від зламу.

Які переваги керування життєвими циклами токенів і як це зробити ефективно?

Управління життєвим циклом токенів має вирішальне значення для підтримки безпеки а також забезпечення безперебійної роботи в сценаріях спільного використання ресурсів між джерелами (CORS). Належне керування життєвим циклом допомагає зменшити ризик неавторизованого доступу, неправильного використання маркера та потенційних порушень безпеки.

Щоб ефективно реалізувати це, розгляньте такі основні практики:

  • Встановити термін дії маркера: Використовуйте короткочасні токени з визначеним терміном дії, щоб обмежити їх використання в разі зламу.
  • Регулярно обертайте токени: Періодично оновлюйте маркери, щоб зменшити вразливість.
  • Негайно анулюйте скомпрометовані маркери: Запровадити механізми анулювання токенів у разі виявлення підозрілої активності.
  • Використовуйте безпечне сховище: Щоб запобігти неавторизованому доступу, безпечно зберігайте маркери, наприклад у файлах cookie лише HTTP.

Дотримуючись цих кроків, ви можете значно підвищити безпеку та надійність своїх реалізацій CORS.

Пов’язані публікації в блозі

uk