> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Защита ключей Solana API: рекомендации по безопасности

> Защитите ключи Helius Solana API от злоумышленников. Правила контроля доступа, RPC-прокси и рекомендации по безопасности для предотвращения несанкционированного использования и расходов.

<Warning>
  **Предупреждение о безопасности ключей API**: раскрытие ключей API может привести к несанкционированному использованию, исчерпанию квоты и непредвиденным расходам. Всегда защищайте ключи в рабочих приложениях.
</Warning>

## Почему важно защищать ключи

Если вы раскрываете ключи API на стороне клиента, злоумышленники могут обнаружить и использовать их, что потенциально приведет к следующим последствиям:

<CardGroup cols={2}>
  <Card title="Exhaust Your Quota" icon="gauge-high">
    Злоумышленники могут быстро исчерпать лимиты API и вызвать перебои в работе сервиса
  </Card>

  <Card title="Increase Your Bills" icon="credit-card">
    Несанкционированные запросы могут повлечь расходы на автоматическое масштабирование или привести к превышению лимитов тарифного плана
  </Card>

  <Card title="Compromise Security" icon="shield-exclamation">
    Раскрытые ключи могут предоставить доступ к конфиденциальным данным и операциям
  </Card>

  <Card title="Damage Performance" icon="triangle-exclamation">
    Большой объем несанкционированного использования может снизить производительность вашего приложения
  </Card>
</CardGroup>

## Способы защиты

Helius предоставляет несколько уровней защиты для обеспечения безопасности ключей API:

<Tabs>
  <Tab title="RPC Proxy">
    Разверните собственный прокси-сервер для максимальной безопасности и контроля.

    <Card title="Helius RPC Proxy" icon="github" href="https://github.com/helius-labs/helius-rpc-proxy">
      Простой RPC-прокси с открытым исходным кодом, который можно развернуть в Cloudflare одним щелчком.
    </Card>

    ### Преимущества использования прокси-сервера

    <CardGroup cols={2}>
      <Card title="Complete Key Protection" icon="lock">
        Ваш ключ API хранится на стороне сервера и никогда не раскрывается клиентам
      </Card>

      <Card title="Custom Rate Limiting" icon="gauge">
        Реализуйте собственное ограничение частоты запросов и контроль использования
      </Card>

      <Card title="Request Filtering" icon="filter">
        Фильтруйте и проверяйте запросы до их отправки в Helius
      </Card>

      <Card title="Usage Analytics" icon="chart-line">
        Отслеживайте и анализируйте модели использования API
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Access Control Rules">
    Настройте точные параметры контроля доступа на панели управления Helius, чтобы ограничить использование API.

    <Frame caption="Configure RPC Access Control Rules in the RPCs section of your dashboard.">
      <img src="https://mintcdn.com/helius/OOj8B_dUNruGiNi2/images/rpc-access-control-rules.png?fit=max&auto=format&n=OOj8B_dUNruGiNi2&q=85&s=efa87187842a3f3c6e154a0f4e110652" alt="Configure RPC Access Control Rules in the RPCs section of your dashboard." width="3720" height="2094" data-path="images/rpc-access-control-rules.png" />
    </Frame>

    ### Доступные типы правил

    <AccordionGroup>
      <Accordion title="Allowed Domains">
        Ограничьте доступ определенными доменами — идеальный вариант для веб-приложений.

        **Примеры использования:**

        * Рабочие веб-сайты (`yourdapp.com`)
        * Тестовые среды (`staging.yourdapp.com`)
        * Предварительные развертывания (`preview.yourdapp.com`)

        **Пример конфигурации:**

        ```
        yourdapp.com
        www.yourdapp.com
        staging.yourdapp.com
        ```
      </Accordion>

      <Accordion title="Allowed IPs">
        Ограничьте доступ определенными IP-адресами — идеальный вариант для серверных приложений.

        **Примеры использования:**

        * Серверы бэкенда со статическими IP-адресами
        * Конвейеры CI/CD
        * Сервисы, размещенные в облаке

        **Пример конфигурации:**

        ```
        203.0.113.1
        198.51.100.42
        185.199.108.153
        ```

        <Note>
          Здесь работают только общедоступные IP-адреса. Частные или локальные IP-адреса (например, 192.168.x.x или 10.x.x.x) не поддерживаются.
        </Note>
      </Accordion>

      <Accordion title="Allowed CIDRs">
        Ограничьте доступ диапазонами IP-адресов в нотации CIDR — оптимальный вариант для корпоративных сетей.

        **Примеры использования:**

        * Диапазоны общедоступных IP-адресов компании
        * Диапазоны IP-адресов облачного провайдера
        * Блоки IP-адресов центра обработки данных

        **Пример конфигурации:**

        ```
        203.0.113.0/24
        198.51.100.0/24
        185.199.108.0/22
        ```

        <Note>
          Здесь работают только диапазоны общедоступных IP-адресов. Частные блоки CIDR (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) не поддерживаются.
        </Note>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Secure URL">
    Используйте наш безопасный URL во фронтенд-приложениях, не раскрывая ключ API.

    <Info>
      **Ограничение частоты запросов**: безопасные URL допускают до 5 запросов в секунду (RPS) с каждого IP-адреса, поэтому они идеально подходят для фронтенд-приложений.

      **Только платные тарифы**: безопасные URL доступны на платных тарифах. Бесплатные тарифы не включают эту функцию.
    </Info>

    ### Как использовать безопасные URL

    <Steps>
      <Step title="Get Your Secure URL">
        Найдите безопасный URL на панели управления Helius в разделе RPCs
      </Step>

      <Step title="Replace Your Regular RPC URL">
        Используйте безопасный URL вместо обычного URL RPC с ключом API
      </Step>

      <Step title="No API Key Required">
        Для безопасного URL не требуется параметр ключа API
      </Step>
    </Steps>

    ```javascript theme={"system"}
    // Instead of this (exposes API key):
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY');

    // Use this (secure, no API key exposed):
    const connection = new Connection('https://your-secure-url.helius-rpc.com');
    ```

    <Note>
      **Идеально подходит для**: фронтенд-приложений, мобильных приложений и любого клиентского кода, в котором невозможно скрыть ключ API.
    </Note>
  </Tab>
</Tabs>

## Рекомендации

<CardGroup cols={1}>
  <Card title="Environment Variables" icon="code">
    Никогда не прописывайте ключи API непосредственно в исходном коде. Вместо этого используйте переменные окружения.

    ```javascript theme={"system"}
    // ❌ Don't do this
    const apiKey = "your-api-key-here";

    // ✅ Do this instead
    const apiKey = process.env.HELIUS_API_KEY;
    ```
  </Card>

  <Card title="Separate Keys for Different Environments" icon="layers">
    Используйте разные ключи API для сред разработки, тестирования и эксплуатации.

    ```javascript theme={"system"}
    const getApiKey = () => {
      switch (process.env.NODE_ENV) {
        case 'production':
          return process.env.HELIUS_API_KEY_PROD;
        case 'staging':
          return process.env.HELIUS_API_KEY_STAGING;
        default:
          return process.env.HELIUS_API_KEY_DEV;
      }
    };
    ```
  </Card>

  <Card title="Regular Key Rotation" icon="arrows-rotate">
    Регулярно меняйте ключи API и немедленно заменяйте их при подозрении на компрометацию.

    <Steps>
      <Step title="Generate New Key">
        Создайте новый ключ API на панели управления Helius
      </Step>

      <Step title="Update Applications">
        Обновите все приложения, чтобы они использовали новый ключ
      </Step>

      <Step title="Test Thoroughly">
        Убедитесь, что все сервисы работают с новым ключом
      </Step>

      <Step title="Revoke Old Key">
        Удалите старый ключ с панели управления
      </Step>
    </Steps>
  </Card>

  <Card title="Monitor Usage" icon="chart-line">
    Регулярно проверяйте статистику использования API на панели управления Helius на наличие необычных закономерностей.

    **Признаки, требующие внимания:**

    * Внезапные скачки использования
    * Запросы из неожиданных местоположений
    * Высокая частота ошибок
    * Использование в нерабочее время
  </Card>
</CardGroup>

## Контрольный список безопасности

<AccordionGroup>
  <Accordion title="✅ Development Security">
    * [ ] Используйте переменные окружения для ключей API
    * [ ] Никогда не добавляйте ключи API в систему контроля версий
    * [ ] Используйте разные ключи для разных сред
    * [ ] Настройте правила контроля доступа для доменов разработки
    * [ ] Используйте безопасные URL при разработке фронтенда
  </Accordion>

  <Accordion title="✅ Production Security">
    * [ ] Настройте соответствующие правила контроля доступа
    * [ ] Используйте RPC-прокси для максимальной безопасности
    * [ ] Регулярно отслеживайте использование API
    * [ ] Настройте оповещения о необычных моделях использования
    * [ ] Регулярно меняйте ключи
    * [ ] Документируйте процедуры безопасности
  </Accordion>

  <Accordion title="✅ Emergency Response">
    * [ ] Подготовьте процедуру смены ключей
    * [ ] Узнайте, как быстро отозвать скомпрометированные ключи
    * [ ] Отслеживайте нарушения безопасности
    * [ ] Подготовьте контактные данные службы поддержки Helius
    * [ ] Храните резервные копии конфигураций безопасности
  </Accordion>
</AccordionGroup>

## Распространенные ошибки, которых следует избегать

<Warning>
  **Избегайте следующих распространенных ошибок безопасности:**

  1. **Жестко заданные ключи во фронтенд-коде JavaScript** — всегда используйте безопасные URL или прокси-серверы
  2. **Добавление ключей в репозитории Git** — используйте переменные окружения и `.gitignore`
  3. **Использование рабочих ключей при разработке** — используйте отдельные ключи для разных сред
  4. **Отсутствие правил контроля доступа** — всегда настраивайте ограничения по доменам и IP-адресам
  5. **Игнорирование необычных моделей использования** — регулярно проверяйте панель управления
</Warning>

## Нужна помощь?

<CardGroup cols={2}>
  <Card title="Discord Community" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Получите помощь от сообщества и команды Helius
  </Card>

  <Card title="Support Team" icon="headset" href="/docs/ru/support">
    Обратитесь в службу поддержки по вопросам безопасности
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.