tencent cloud

피드백

도용방지 안내

마지막 업데이트 시간:2024-07-17 16:27:00

    머리말

    최근 몇 년간 점점 더 많은 사용자가 웹사이트나 이미지 호스팅 서비스를 구축할 때 이미지 및 비디오와 같은 리소스를 Cloud Object Storage(COS)에 업로드하여 서버 스토리지 공간의 압력을 줄이는 동시에 액세스 안정성을 향상시켰지만, 이에 따른 트래픽 도용, 이미지 도용 링크 문제도 많은 개발자를 괴롭히고 있으며, 스토리지 공간이 악의적으로 액세스되면 고액의 트래픽 요금이 발생하고 불필요한 분쟁이 발생하게 됩니다. 이러한 문제는 실제로 다양한 방법으로 보호할 수 있으며, 여기서는 개발자가 버킷을 합리적으로 구성하고 보안 메커니즘을 구축하여 유사한 문제로 인한 거액 자금 손실의 위험을 줄일 수 있도록 돕기 위해 몇 가지 일반적인 보호 수단을 주로 소개합니다.

    보호 솔루션

    도용에 대해서는 여러 가지 보호 방식이 있으며, 여기서는 구성 난이도 및 조건에 따라 구분하며, 개발자는 실제 상황 및 수요에 따라 선택할 수 있습니다.

    기본 보호 솔루션

    
    버킷 액세스 권한 변경
    
    액세스 권한은 버킷의 가장 핵심적이고 민감한 구성 중 하나이며, 불완전 통계에 따르면, 절대다수의 도용 원인은 모두 사용자가 공개 읽기 권한을 설정하였기 때문이며, 공개 읽기 권한은 서명 없이 직접 익명으로 액세스할 수 있으므로 불법 생산자 및 공격자에게 기회를 제공합니다. 버킷을 개인 읽기/쓰기로 설정하면 도용 위험을 크게 줄일 수 있습니다. 비밀 키가 없으면 서명을 계산할 수 없으므로 액세스가 거부됩니다.
    업무에 특별한 요구사항이 없으면 가능한 한 개인 읽기/쓰기 권한을 구성하는 것을 권장합니다. COS 콘솔은 두 곳에서 버킷 권한을 설정할 수 있습니다.
    버킷 팝업창 생성
    
    버킷 상세정보 페이지-권한 관리
    
    
    
    
    버킷 핫링크 보호 활성화
    
    핫링크 보호도 가장 자주 사용되는 보호 수단 중 하나이며, 그 원리는 HTTP의 Referer 헤더를 통해 판단 및 검증하는 것으로, 사용자는 얼로우리스트 또는 블록리스트를 통해 특정 액세스 출처를 허용하거나 금지할 수 있습니다.
    COS 콘솔-버킷 상세정보 페이지-안전 관리에서 핫링크 보호 설정을 찾을 수 있습니다.
    
    여기서는 빈 referer를 거부로 구성하는 것을 권장하며, 블록리스트와 얼로우리스트는 업무 실제 상황에 따라 선택할 수 있습니다. 특정 도메인에서 고정적으로 액세스하는 경우 얼로우리스트로 설정할 수 있고, 악의적인 액세스가 발견되었고 액세스 도메인 또는 IP를 명확히 알고 있다면 수동으로 블록리스트를 설정하여 차단할 수 있습니다. 더 많은 핫링크 보호의 사용 방법을 알고 싶다면 핫링크 보호 실천을 참고하시기 바랍니다.
    
    Cloud Monitor 경고 설정
    
    로그 관리를 구성하면 도용의 출처를 찾고 분석하는 데 도움이 되며, 조회를 위한 풍부한 필드가 제공되지만 개발자가 적극적으로 로그에 주의를 기울여야 한다는 단점이 있습니다. 도용 문제를 적시에 발견하기를 원하시면 Cloud Monitor 경고를 구성할 수 있습니다. 현재 COS 콘솔에서 버킷을 생성할 때 동시에 경고를 구성할 수 있습니다.
    
    경고의 기본 정책이 요구사항을 충족하지 못한다면, [Tencent Cloud Observability Platform] (TCOP)로 이동하셔서 사용자 정의 경고 정책을 수동으로 생성할 수 있습니다.
    
    경고 구성-경고 정책에 들어가서 정책 생성을 클릭하고, 클라우드 제품 모니터링에서 COS를 찾은 다음 경고 객체의 인스턴스 ID에서 구성해야 할 버킷을 찾으면 트리거 조건을 자체적으로 지정할 수 있습니다. COS 버킷의 데이터 모니터링 페이지에 표시된 모든 지표는 여기에서 구성이 지원됩니다.
    
    로그 관리 활성화
    
    위에서 핫링크 보호 블록리스트를 설명할 때 언급한 바와 같이 ‘악의적인 액세스 도메인 또는 IP가 발견되었다’면, 여기에서 버킷의 로그 관리를 활성화해야 하며, 액세스 로그에는 각 요청에 대한 여러 가지 필드가 기록되어 액세스 출처를 빠르게 찾을 수 있도록 돕습니다.
    COS 콘솔-버킷 상세정보 페이지-로그 관리에서 로그 스토리지를 찾을 수 있으며, 활성화한 후 버킷의 지정된 경로 프리픽스에서 액세스 로그를 찾을 수 있습니다.
    
    로그 파일에 있는 필드는 로그 관리 개요 문서를 참고할 수 있으며, 아래에서는 자주 사용하는 일부 분석 가능한 필드를 소개하도록 합니다.
    userSecretKeyId: 요청이 어느 비밀 키 KeyId를 통해 액세스되었는지를 확정할 수 있으며, 업무 자체에서 개시된 요청이 아닌 것으로 확정되면 비밀 키가 누출되었을 수 있으므로, Tencent Cloud CAM 콘솔로 이동하여 불안전한 비밀 키를 금지할 수 있습니다.
    referer: 즉 핫링크 보호 설정에서 판단을 위한 조건이며, 모르는 referer가 발견되면 다른 웹사이트에 의한 핫링크일 수 있으므로, 핫링크 보호-블록리스트를 구성하여 해당 referer 액세스를 제한할 수 있으며, 1.2 버킷 핫링크 보호 활성화를 참고하시기 바랍니다.
    remoteIp: 액세스 출처 IP를 확정할 수 있으며, 신뢰할 수 없는 IP가 발견되면 버킷 상세정보 페이지-권한 관리-Policy 권한 설정으로 이동한 후 정책 추가를 클릭하여 Policy를 구성하여 해당 IP의 버킷 액세스를 금지할 수 있습니다. 예시는 다음과 같습니다.
    
    
    

    진화된 보호 솔루션

    
    사용자 정의 CDN 가속 도메인 사용
    
    Tencent Cloud CDN도 보호를 위한 많은 구성을 제공하여 도용을 효과적으로 방지할 수 있습니다.
    업무에 사용자 정의 CDN 도메인이 사용된 경우, Tencent Cloud CDN 콘솔-도메인 상세정보-액세스 제어 페이지로 이동하여 구성할 수 있으며, 자주 사용되는 일부 구성은 다음과 같습니다.
    핫링크 보호 구성:
    
    CDN 인증 구성:
    
    IP 블록리스트 구성:
    
    UA 블록리스트 구성:
    
    더욱 복잡한 일부 구성 항목, 예를 들어 IP 액세스 빈도 제한 구성, 다운스트림 속도 제한 구성 등이 더 있으며, CDN 콘솔 관련 문서를 참고하여 사용할 수 있습니다.
    
    SCF+Cloud Monitor+COS API를 통한 자동 블로킹 구현
    
    기본 보호에서 Cloud Monitor 경고를 구성하여 트래픽 이상 상황을 적시에 발견하는 것에 관해 언급했지만, 정보 누락 또는 사용자가 적시에 처리하기 불편한 상황이 존재할 수 있기 때문에 여기서는 자동화 스크립트 코드를 통해 API를 호출함으로써 하나의 간단한 자동화 논리를 구현할 수 있습니다.
    Cloud Monitor에서 공중망 다운스트림 트래픽 지표(InternetTraffic) 이상을 획득 -> 자동으로 COS PutBucketAcl를 호출하여 버킷 권한을 개인 읽기/쓰기로 변경. 주로 아래와 같은 2개 API 인터페이스가 사용되며, 여기서는 디버깅 참고용으로 온라인 호출 예시를 제공합니다.
    Cloud Monitor의 GetMonitorData - 호출 예시
    COS의 PutBucketAcl - 호출 예시

    관련 건의

    위에서는 일부 도용 문제의 일반적인 보호 수단에 대해 소개하였으며, 이외에도 우리는 일상적으로 COS를 사용할 때 일부 세부 사항에 주의해야 하며, 여기에서는 도용 위험을 어느 정도로 줄일 수 있는 일부 추가적인 사용 건의를 제공합니다.
    대외 오픈 소스 코드에서 명문의 API 액세스 비밀 키를 사용하는 것을 피하며, 비밀 키 누출로 인한 안전 위험을 피하기 위해 최소 권한 원칙을 참고하여 사용하시는 것을 권장합니다.
    크로스 도메인 규칙을 구성할 때 모든 출처(즉 Origin: \\*) 액세스를 허용하는 것을 피하고, 가능한 한 명확한 출처를 설정합니다.
    많은 양의 파일을 업로드할 때, 규칙이 너무 간단한 시퀀스 프리픽스(예: 숫자 번호, 타임스탬프 등)의 사용을 피해야 하며, 그렇지 않으면 공격자가 버킷의 파일을 더 쉽게 순회할 수 있습니다.
    문의하기

    고객의 업무에 전용 서비스를 제공해드립니다.

    기술 지원

    더 많은 도움이 필요하시면, 티켓을 통해 연락 바랍니다. 티켓 서비스는 연중무휴 24시간 제공됩니다.

    연중무휴 24시간 전화 지원