> ## 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.

# Bảo vệ khóa API Solana của bạn: Các biện pháp bảo mật tốt nhất

> Bảo vệ khóa API Helius Solana khỏi các tác nhân độc hại. Sử dụng quy tắc kiểm soát truy cập, proxy RPC và các biện pháp bảo mật tốt nhất để ngăn chặn việc sử dụng trái phép và các khoản phí phát sinh.

<Warning>
  **Cảnh báo bảo mật khóa API**: Khóa API bị lộ có thể dẫn đến việc sử dụng trái phép, cạn hạn ngạch và phát sinh chi phí ngoài dự kiến. Luôn bảo vệ khóa trong các ứng dụng production.
</Warning>

## Tại sao việc bảo vệ khóa lại quan trọng

Khi để lộ khóa API ở phía máy khách, bạn có thể khiến các tác nhân độc hại phát hiện và lạm dụng khóa, từ đó có thể:

<CardGroup cols={2}>
  <Card title="Exhaust Your Quota" icon="gauge-high">
    Hoạt động sử dụng độc hại có thể nhanh chóng tiêu tốn giới hạn API và gây gián đoạn dịch vụ
  </Card>

  <Card title="Increase Your Bills" icon="credit-card">
    Các yêu cầu trái phép có thể kích hoạt phí tự động mở rộng quy mô hoặc khiến bạn vượt quá giới hạn gói
  </Card>

  <Card title="Compromise Security" icon="shield-exclamation">
    Khóa bị lộ có thể cấp quyền truy cập vào dữ liệu và thao tác nhạy cảm
  </Card>

  <Card title="Damage Performance" icon="triangle-exclamation">
    Mức sử dụng trái phép cao có thể ảnh hưởng đến hiệu suất ứng dụng
  </Card>
</CardGroup>

## Phương thức bảo vệ

Helius cung cấp nhiều lớp bảo vệ để giữ an toàn cho khóa API của bạn:

<Tabs>
  <Tab title="RPC Proxy">
    Triển khai proxy riêng để đạt mức bảo mật và khả năng kiểm soát tối đa.

    <Card title="Helius RPC Proxy" icon="github" href="https://github.com/helius-labs/helius-rpc-proxy">
      Một proxy RPC mã nguồn mở, đơn giản mà bạn có thể triển khai lên Cloudflare chỉ bằng 1 lần nhấp.
    </Card>

    ### Lợi ích của việc sử dụng proxy

    <CardGroup cols={2}>
      <Card title="Complete Key Protection" icon="lock">
        Khóa API của bạn được lưu ở phía máy chủ và không bao giờ bị lộ cho máy khách
      </Card>

      <Card title="Custom Rate Limiting" icon="gauge">
        Triển khai cơ chế giới hạn tốc độ và kiểm soát mức sử dụng riêng
      </Card>

      <Card title="Request Filtering" icon="filter">
        Lọc và xác thực các yêu cầu trước khi chúng đến Helius
      </Card>

      <Card title="Usage Analytics" icon="chart-line">
        Theo dõi và phân tích các mẫu sử dụng API
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Access Control Rules">
    Cấu hình các biện pháp kiểm soát truy cập chính xác trong bảng điều khiển Helius để hạn chế việc sử dụng 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>

    ### Các loại quy tắc hiện có

    <AccordionGroup>
      <Accordion title="Allowed Domains">
        Hạn chế quyền truy cập vào các miền cụ thể — phù hợp hoàn hảo cho ứng dụng web.

        **Trường hợp sử dụng:**

        * Trang web production (`yourdapp.com`)
        * Môi trường staging (`staging.yourdapp.com`)
        * Bản triển khai xem trước (`preview.yourdapp.com`)

        **Cấu hình mẫu:**

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

      <Accordion title="Allowed IPs">
        Hạn chế quyền truy cập vào các địa chỉ IP cụ thể — lý tưởng cho ứng dụng máy chủ.

        **Trường hợp sử dụng:**

        * Máy chủ backend có IP tĩnh
        * Quy trình CI/CD
        * Dịch vụ lưu trữ trên đám mây

        **Cấu hình mẫu:**

        ```
        203.0.113.1
        198.51.100.42
        185.199.108.153
        ```

        <Note>
          Chỉ địa chỉ IP công khai mới hoạt động tại đây. IP riêng/cục bộ (như 192.168.x.x hoặc 10.x.x.x) sẽ không hoạt động.
        </Note>
      </Accordion>

      <Accordion title="Allowed CIDRs">
        Hạn chế quyền truy cập vào các dải IP bằng ký hiệu CIDR — rất phù hợp cho mạng doanh nghiệp.

        **Trường hợp sử dụng:**

        * Dải IP công khai của doanh nghiệp
        * Dải IP của nhà cung cấp dịch vụ đám mây
        * Khối IP của trung tâm dữ liệu

        **Cấu hình mẫu:**

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

        <Note>
          Chỉ dải IP công khai mới hoạt động tại đây. Các khối CIDR riêng (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) sẽ không hoạt động.
        </Note>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Secure URL">
    Sử dụng URL bảo mật của chúng tôi cho các ứng dụng frontend mà không làm lộ khóa API.

    <Info>
      **Có giới hạn tốc độ**: URL bảo mật được giới hạn ở 5 yêu cầu mỗi giây (RPS) trên mỗi địa chỉ IP, do đó rất phù hợp cho các ứng dụng frontend.

      **Chỉ dành cho gói trả phí**: URL bảo mật có trong các gói trả phí. Gói miễn phí không bao gồm tính năng này.
    </Info>

    ### Cách sử dụng URL bảo mật

    <Steps>
      <Step title="Get Your Secure URL">
        Tìm URL bảo mật trong phần RPCs của bảng điều khiển Helius
      </Step>

      <Step title="Replace Your Regular RPC URL">
        Sử dụng URL bảo mật thay cho URL RPC thông thường có khóa API
      </Step>

      <Step title="No API Key Required">
        URL bảo mật không yêu cầu tham số khóa 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>
      **Phù hợp hoàn hảo cho**: Ứng dụng frontend, ứng dụng di động và mọi mã phía máy khách mà bạn không thể ẩn khóa API.
    </Note>
  </Tab>
</Tabs>

## Các biện pháp tốt nhất

<CardGroup cols={1}>
  <Card title="Environment Variables" icon="code">
    Không bao giờ mã hóa cứng khóa API trong mã nguồn. Thay vào đó, hãy sử dụng biến môi trường.

    ```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">
    Sử dụng khóa API khác nhau cho các môi trường phát triển, staging và production.

    ```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">
    Luân chuyển khóa API thường xuyên và thực hiện ngay lập tức nếu nghi ngờ khóa đã bị xâm phạm.

    <Steps>
      <Step title="Generate New Key">
        Tạo khóa API mới trong bảng điều khiển Helius
      </Step>

      <Step title="Update Applications">
        Cập nhật tất cả ứng dụng để sử dụng khóa mới
      </Step>

      <Step title="Test Thoroughly">
        Đảm bảo tất cả dịch vụ đều hoạt động với khóa mới
      </Step>

      <Step title="Revoke Old Key">
        Xóa khóa cũ khỏi bảng điều khiển
      </Step>
    </Steps>
  </Card>

  <Card title="Monitor Usage" icon="chart-line">
    Thường xuyên kiểm tra mức sử dụng API trong bảng điều khiển Helius để phát hiện các mẫu bất thường.

    **Các dấu hiệu cảnh báo cần lưu ý:**

    * Mức sử dụng tăng đột biến
    * Yêu cầu từ các vị trí không mong đợi
    * Tỷ lệ lỗi cao
    * Hoạt động sử dụng ngoài giờ
  </Card>
</CardGroup>

## Danh sách kiểm tra bảo mật

<AccordionGroup>
  <Accordion title="✅ Development Security">
    * [ ] Sử dụng biến môi trường cho khóa API
    * [ ] Không bao giờ commit khóa API vào hệ thống quản lý phiên bản
    * [ ] Sử dụng khóa khác nhau cho các môi trường khác nhau
    * [ ] Thiết lập quy tắc kiểm soát truy cập cho các miền phát triển
    * [ ] Sử dụng URL bảo mật khi phát triển frontend
  </Accordion>

  <Accordion title="✅ Production Security">
    * [ ] Triển khai các quy tắc kiểm soát truy cập phù hợp
    * [ ] Sử dụng proxy RPC để đạt mức bảo mật tối đa
    * [ ] Thường xuyên theo dõi mức sử dụng API
    * [ ] Thiết lập cảnh báo cho các mẫu sử dụng bất thường
    * [ ] Luân chuyển khóa thường xuyên
    * [ ] Ghi lại quy trình bảo mật
  </Accordion>

  <Accordion title="✅ Emergency Response">
    * [ ] Chuẩn bị sẵn quy trình luân chuyển khóa
    * [ ] Biết cách nhanh chóng thu hồi khóa bị xâm phạm
    * [ ] Theo dõi các vụ vi phạm bảo mật
    * [ ] Chuẩn bị thông tin liên hệ của bộ phận hỗ trợ Helius
    * [ ] Sao lưu cấu hình bảo mật
  </Accordion>
</AccordionGroup>

## Những lỗi phổ biến cần tránh

<Warning>
  **Tránh các sai lầm bảo mật phổ biến sau:**

  1. **Mã hóa cứng khóa trong JavaScript frontend** — Luôn sử dụng URL bảo mật hoặc proxy
  2. **Commit khóa vào kho lưu trữ Git** — Sử dụng biến môi trường và `.gitignore`
  3. **Sử dụng khóa production để phát triển** — Dùng khóa riêng cho từng môi trường
  4. **Không thiết lập quy tắc kiểm soát truy cập** — Luôn cấu hình giới hạn miền/IP
  5. **Bỏ qua các mẫu sử dụng bất thường** — Thường xuyên theo dõi bảng điều khiển
</Warning>

## Bạn cần trợ giúp?

<CardGroup cols={2}>
  <Card title="Discord Community" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Nhận trợ giúp từ cộng đồng và đội ngũ Helius
  </Card>

  <Card title="Support Team" icon="headset" href="/docs/vi/support">
    Liên hệ với đội ngũ hỗ trợ của chúng tôi nếu có lo ngại về bảo mật
  </Card>
</CardGroup>
