Разверните OpenClaw в облаке в один клик
Вход/ Регистрация
На главную
Сети

Безопасность

Для настройки параметров безопасности:

  1. Перейдите в раздел «CDN» и кликните на нужный ресурс.
  2. На вкладке «Управление» нажмите «Настроить» в блоке «Безопасность».
  3. Включите необходимые опции и настройте их параметры.
  4. Нажмите «Сохранить».

Редирект с HTTP на HTTPS

Автоматически перенаправляет все запросы с HTTP на защищенный протокол HTTPS.

Это позволяет защищать данные пользователей, соответствовать требованиям браузеров и улучшать показатели SEO.

Как работает:

  • Пользователь обращается по протоколу HTTP.
  • CDN возвращает редирект (301/302) на HTTPS.
  • Дальнейшее взаимодействие идет по защищенному соединению.

Настройка применяется на уровне CDN и не требует дополнительной конфигурации на уровне сервера-источника.

Перед включением опции убедитесь, что для доменов раздачи выпущен SSL-сертификат и включена опция ниже.

SSL-сертификат

Позволяет использовать SSL на домене раздачи. 

Сертификат должен быть предварительно добавлен в разделе «CDN» → «SSL-сертификаты».

Secure token

Ограничивает доступ к контенту с помощью подписанных URL. 

Может использоваться для контроля доступа к файлам, ограничения доступа к платному контенту, предотвращения прямого распространения ссылок.

Может использоваться для:

  • защиты приватного или платного контента;
  • ограничения срока действия ссылок;
  • предотвращения прямого распространения ссылок;
  • ограничения доступа по IP-адресу.

Как работает:

  • К URL добавляется специальная подпись (token), сгенерированная на основе секретного ключа.
  • CDN проверяет валидность подписи.
  • Если подпись корректна, доступ разрешается, если нет — возвращается ошибка 403 Forbidden.

В поле «Секретный ключ» укажите произвольный секретный ключ, который будет использоваться для генерации подписей URL.

Ключ:

  • создается и хранится на стороне клиента;
  • должен быть известен только вашему приложению и CDN;
  • используется при формировании подписанных ссылок.

Рекомендуется использовать случайную строку длиной не менее 16 символов. Сгенерировать ее можно, например, так:

    
openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32; echo

Строка будет такого вида:

    
OCr2qxnZvdvMLtcy904EkABxn1eVPZLP

После включения Secure token ваше приложение должно формировать подписанные URL для доступа к контенту согласно алгоритму.

Алгоритм формирования подписи

Подписанный URL формируется на основе секретного ключа и параметров запроса.

1. Формирование строки для подписи

Для расчета подписи используется строка вида:

    
<secret_key><path><ip><expires>
  • <secret_key> — секретный ключ, указанный в настройках;
  • <path> — путь к запрашиваемому ресурсу;
  • <ip> — IP-адрес пользователя (используется только если включена проверка по IP);
  • <expires> — время истечения ссылки.

Если проверка по IP или времени отключена, соответствующие значения в строку не добавляются.

2. Вычисление подписи

  • От полученной строки вычисляется MD5-хэш;
  • Результат кодируется в base64 и приводится к URL-safe-формату:
    • символ = удаляется;
    • + заменяется на -;
    • / заменяется на _.

3. Использование подписи в URL

Полученное значение используется как токен в пути URL ресурса:

    
http://<cdn-domain>/md5(<signature>,<expires>)/<resource-path>

Примечания

  • Домен CDN не участвует в расчете подписи.
  • Один и тот же ресурс может использоваться по HTTP и HTTPS с одной и той же подписью.

Пример генерации подписанных ссылок:

    
import hashlib import base64 import time SECRET = "your_secret_key" CDN_DOMAIN = "https://example.cdn.twcstorage.ru" PATH = "/example.txt" # путь к файлу EXPIRES = int(time.time()) + 3600 # ссылка действует 1 час IP = "" # укажите IP, если используется ограничение # Формирование строки для подписи raw = SECRET + PATH + IP + str(EXPIRES) # MD5-хэш md5_hash = hashlib.md5(raw.encode()).digest() # base64 + URL-safe формат token = base64.b64encode(md5_hash).decode() token = token.replace("+", "-").replace("/", "_").replace("=", "") # Итоговый URL signed_url = f"{CDN_DOMAIN}/md5({token},{EXPIRES}){PATH}" print(signed_url)

Где:

  • SECRET — ключ, сгенерированный ранее.

  • CDN_DOMAIN — домен CDN-ресурса.

  • PATH — путь к файлу, начиная с /. Домен указывать не нужно.

  • EXPIRES — время истечения ссылки в формате Unix timestamp.

  • IP — указывается только если включено ограничение по IP. Если не используется, оставьте пустую строку.

Ограничение по IP

Доступно при включенной опции «Secure token».

Разрешает доступ к контенту только с определенного IP-адреса. 

Как работает:

  • IP-адрес включается в подпись URL.
  • CDN сравнивает IP пользователя с указанным и запрещает доступ при несовпадении.
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев