> ## 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="할당량 소모" icon="gauge-high">
    악의적인 사용은 빠르게 API 제한을 소모하고 서비스 중단을 야기할 수 있습니다
  </Card>

  <Card title="청구서 증가" icon="credit-card">
    무단 요청은 자동 확장 요금을 발생시키거나 계획 한도를 초과할 수 있습니다
  </Card>

  <Card title="보안 손상" icon="shield-exclamation">
    노출된 키는 민감한 데이터와 작업에 대한 접근을 제공할 수 있습니다
  </Card>

  <Card title="성능 손상" 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">
      Cloudflare에 1-클릭으로 배포할 수 있는 간단한 오픈 소스 RPC 프록시입니다.
    </Card>

    ### 프록시 사용의 이점

    <CardGroup cols={2}>
      <Card title="완전한 키 보호" icon="lock">
        API 키가 서버 측에만 유지되며 클라이언트에 노출되지 않습니다
      </Card>

      <Card title="사용자 정의 속도 제한" icon="gauge">
        자체 속도 제한 및 사용 제어를 구현하세요
      </Card>

      <Card title="요청 필터링" icon="filter">
        Helius에 도달하기 전에 요청을 필터하고 검증하세요
      </Card>

      <Card title="사용 분석" icon="chart-line">
        API 사용 패턴을 모니터링하고 분석하세요
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Access Control Rules">
    Helius 대시보드에서 API 사용을 제한하는 정확한 액세스 제어를 구성하세요.

    <Frame caption="대시보드의 RPC 섹션에서 RPC 액세스 제어 규칙을 구성하세요.">
      <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="대시보드의 RPC 섹션에서 RPC 액세스 제어 규칙을 구성하세요." width="3720" height="2094" data-path="images/rpc-access-control-rules.png" />
    </Frame>

    ### 사용 가능한 규칙 유형

    <AccordionGroup>
      <Accordion title="허용된 도메인">
        웹 애플리케이션에 적합하게 특정 도메인에 대한 액세스를 제한합니다.

        **사용 사례:**

        * 프로덕션 웹사이트 (`yourdapp.com`)
        * 스테이징 환경 (`staging.yourdapp.com`)
        * 미리보기 배포 (`preview.yourdapp.com`)

        **설정 예시:**

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

      <Accordion title="허용된 IP">
        서버 애플리케이션에 이상적으로 특정 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="허용된 CIDR">
        CIDR 표기법을 사용하여 IP 범위에 대한 액세스를 제한합니다 - 기업 네트워크에 이상적입니다.

        **사용 사례:**

        * 기업 공용 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">
    프론트엔드 애플리케이션에서 API 키를 노출하지 않고 보안 URL을 사용하세요.

    <Info>
      **속도 제한**: 보안 URL은 IP 주소당 초당 5개의 요청(RPS)으로 제한되므로 프론트엔드 애플리케이션에 적합합니다.

      **유료 플랜 전용**: 보안 URL은 유료 플랜에서만 사용할 수 있습니다. 무료 플랜에는 이 기능이 포함되지 않습니다.
    </Info>

    ### 보안 URL 사용 방법

    <Steps>
      <Step title="보안 URL 가져오기">
        Helius 대시보드의 RPC 섹션에서 보안 URL을 찾으세요
      </Step>

      <Step title="기존의 RPC URL 교체">
        API 키가 포함된 기존 RPC URL 대신 보안 URL을 사용하세요
      </Step>

      <Step title="API 키 불필요">
        보안 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="환경 변수" 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="환경별 별도 키" 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="정기적인 키 교체" icon="arrows-rotate">
    API 키가 손상되었다고 의심되면 즉시 키를 정기적으로 교체하세요.

    <Steps>
      <Step title="새 키 생성">
        Helius 대시보드에서 새 API 키를 생성하세요
      </Step>

      <Step title="애플리케이션 업데이트">
        모든 애플리케이션을 새 키로 업데이트하세요
      </Step>

      <Step title="철저한 테스트">
        모든 서비스가 새 키와 함께 작동하는지 확인하세요
      </Step>

      <Step title="이전 키 폐기">
        대시보드에서 이전 키를 삭제하세요
      </Step>
    </Steps>
  </Card>

  <Card title="사용 모니터링" icon="chart-line">
    Helius 대시보드에서 정기적으로 API 사용을 확인하여 비정상적인 패턴을 감지하세요.

    **주의해야 할 경고 신호:**

    * 사용 급증
    * 예상치 못한 위치에서의 요청
    * 높은 오류율
    * 비업무 시간 동안의 사용
  </Card>
</CardGroup>

## 보안 체크리스트

<AccordionGroup>
  <Accordion title="✅ 개발 보안">
    * [ ] 환경 변수를 사용하여 API 키 관리
    * [ ] API 키를 버전 관리에 커밋하지 않기
    * [ ] 다른 환경에 대한 다른 키 사용
    * [ ] 개발 도메인에 대한 액세스 제어 규칙 설정
    * [ ] 프론트엔드 개발에 대한 보안 URL 사용
  </Accordion>

  <Accordion title="✅ 프로덕션 보안">
    * [ ] 적절한 액세스 제어 규칙 구현
    * [ ] 최대 보안을 위한 RPC 프록시 사용
    * [ ] API 사용 정기 모니터링
    * [ ] 비정상적인 사용 패턴에 대한 경고 설정
    * [ ] 키를 정기적으로 교체
    * [ ] 보안 절차 문서화
  </Accordion>

  <Accordion title="✅ 비상 대응">
    * [ ] 키 교체 절차 준비
    * [ ] 손상된 키를 신속히 폐기하는 방법 알기
    * [ ] 보안 침해 모니터링
    * [ ] Helius 지원팀의 연락처 정보 보유
    * [ ] 보안 구성 백업 유지
  </Accordion>
</AccordionGroup>

## 피해야 할 일반적인 실수

<Warning>
  **일반적인 보안 함정을 피하세요:**

  1. **프론트엔드 JavaScript에 키 하드코딩** - 항상 보안 URL이나 프록시를 사용하세요
  2. **Git 저장소에 키 커밋** - 환경 변수 및 `.gitignore` 사용
  3. **개발에 프로덕션 키 사용** - 다른 환경에 대해 별도 키 사용
  4. **액세스 제어 규칙 설정 안 함** - 항상 도메인/IP 제한 구성
  5. **비정상적인 사용 패턴 무시** - 대시보드를 정기적으로 모니터링
</Warning>

## 도움이 필요하신가요?

<CardGroup cols={2}>
  <Card title="Discord 커뮤니티" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    커뮤니티와 Helius 팀에게 도움 받기
  </Card>

  <Card title="지원 팀" icon="headset" href="/docs/ko/support">
    보안 문제에 대해 지원팀에 문의
  </Card>
</CardGroup>
