Google Cloud Armor Threat Intelligence를 사용하면 Google Cloud Armor Enterprise 구독자가 여러 카테고리의 위협 인텔리전스 데이터를 기반으로 외부 애플리케이션 부하 분산기에 대한 트래픽을 허용하거나 차단하여 트래픽을 보호할 수 있습니다. Threat Intelligence 데이터는 다음 카테고리로 분류됩니다.
- Tor 종료 노드: Tor는 익명 통신을 사용 설정하는 오픈소스 소프트웨어입니다. ID를 숨기는 사용자를 제외하려면 Tor 종료 노드의 IP 주소(트래픽이 Tor 네트워크를 나가는 지점)를 차단합니다.
- 알려진 악의적인 IP 주소: 웹 애플리케이션에서 공격이 발생한 것으로 알려져 있으므로 애플리케이션의 보안 상태를 개선하기 위해 차단해야 하는 IP 주소입니다.
- 검색엔진: 사이트 색인 생성을 사용 설정할 수 있는 IP 주소입니다.
- VPN 제공업체: 신뢰도가 낮은 VPN 제공업체에서 사용하는 IP 주소입니다. 이 카테고리를 차단하여 IP 주소 기반 규칙을 우회하려는 시도를 차단할 수 있습니다.
- 익명 프록시: 알려진 익명 프록시에서 사용하는 IP 주소입니다.
- 암호화 채굴자: 알려진 암호화폐 채굴 웹사이트에서 사용하는 IP 주소입니다.
- 퍼블릭 클라우드 IP 주소 범위: 이 카테고리는 악의적인 자동화 도구가 웹 애플리케이션을 탐색하지 못하도록 차단되거나 서비스가 다른 퍼블릭 클라우드를 사용하는 경우 허용될 수 있습니다.
Threat Intelligence을 사용하려면 위의 카테고리 중 하나를 나타내는 피드 이름과 함께 evaluateThreatIntelligence
일치 표현식을 사용하여 이러한 카테고리 일부 또는 전부를 기반으로 트래픽을 허용하거나 차단하는 보안 정책 규칙을 정의합니다. 또한 Cloud Armor Enterprise를 구독해야 합니다. Cloud Armor Enterprise에 대한 자세한 내용은 Cloud Armor Enterprise 개요를 참조하세요.
Threat Intelligence 구성
Threat Intelligence을 사용하려면 허용하거나 차단하려는 카테고리를 기반으로 FEED_NAME
을 제공하여 evaluateThreatIntelligence('FEED_NAME')
일치 표현식을 사용하여 보안 정책 규칙을 구성합니다. 각 피드 내의 정보는 지속적으로 업데이트되므로 추가 구성 단계 없이 새로운 위협으로부터 서비스를 보호합니다. 유효한 인수는 다음과 같습니다.
피드 이름 | 설명 |
---|---|
iplist-tor-exit-nodes |
종료 노드의 IP 주소와 일치 |
iplist-known-malicious-ips |
웹 애플리케이션 공격에 알려진 IP 주소와 일치 |
iplist-search-engines-crawlers |
검색엔진 크롤러의 IP 주소와 일치 |
iplist-vpn-providers |
신뢰도가 낮은 VPN 제공업체에서 사용하는 IP 주소 범위와 일치 |
iplist-anon-proxies |
개방된 익명 프록시에 속하는 IP 주소 범위와 일치 |
iplist-crypto-miners |
암호화폐 채굴 사이트에 속하는 IP 주소 범위와 일치 |
iplist-cloudflare |
Cloudflare 프록시 서비스의 IPv4 및 IPv6 주소 범위와 일치 |
iplist-fastly |
Fastly 프록시 서비스의 IP 주소 범위와 일치 |
iplist-imperva |
Imperva 프록시 서비스의 IP 주소 범위와 일치 |
iplist-public-clouds
|
퍼블릭 클라우드에 속한 IP 주소와 일치
|
이전 테이블의 FEED_NAME 및 ACTION(예: allow
, deny
또는 throttle
)과 함께 다음 gcloud
명령어를 사용하여 새 보안 정책 규칙을 구성할 수 있습니다. 규칙 작업에 대한 자세한 내용은 정책 유형을 참조하세요.
gcloud compute security-policies rules create 1000 \ --security-policy=NAME \ --expression="evaluateThreatIntelligence('FEED_NAME')" \ --action="ACTION"
Threat Intelligence에서 평가를 차단할 수 있는 IP 주소 또는 IP 주소 범위를 제외하려면 다음 표현식에서 ADDRESS
를 제외할 주소 또는 주소 범위로 바꾸어 사용하여 주소를 제외 목록에 추가할 수 있습니다.
evaluateThreatIntelligence('iplist-known-malicious-ips', ['ADDRESS'])
명명된 IP 주소 목록 사용
Google Cloud Armor의 명명된 IP 주소 목록을 사용 설정하면 서드 파티 제공업체에서 관리하는 IP 주소와 IP 범위 목록을 참조할 수 있습니다. 보안 정책 내에서 이름이 지정된 IP 주소 목록을 구성할 수 있습니다. 각 IP 주소 또는 IP 범위를 개별적으로 지정할 필요가 없습니다.
이 문서에서 IP 주소와 IP 주소 목록에는 IP 주소 범위가 포함됩니다.
명명된 IP 주소 목록은 서로 다른 이름으로 그룹화된 IP 주소 목록입니다. 이름은 일반적으로 제공업체를 나타냅니다. 명명된 IP 주소 목록에는 규칙당 IP 주소 수에 대한 할당량 한도가 적용되지 않습니다.
명명된 IP 주소 목록은 보안 정책이 아닙니다. 사전 구성된 규칙을 참조하는 방식과 동일한 방식으로 명명된 IP 주소 목록을 표현식으로 참조하여 보안 정책에 통합합니다.
예를 들어 타사 제공업체에 provider-a
이름으로 {ip1, ip2,
ip3....ip_N_}
의 IP 주소 목록이 있는 경우 provider-a
목록에 있는 모든 IP 주소를 허용하고 목록에 없는 IP 주소를 제외하는 보안 규칙을 만들 수 있습니다.
gcloud beta compute security-policies rules create 1000 \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredExpr('provider-a')" \ --action "allow"
커스텀 이름의 IP 주소 목록을 직접 만들 수 없습니다. 이 기능은 Google과 파트너 관계를 맺은 제3자 제공업체가 유지관리하는 명명된 IP 주소 목록에만 제공됩니다. 이러한 명명된 IP 주소 목록이 사용자의 요구사항을 충족하지 않는 경우, 요청이 시작된 IP 주소를 기준으로 규칙이 리소스에 대한 액세스를 허용하거나 거부하는 보안 정책을 만들 수 있습니다. 자세한 내용은 Google Cloud Armor 보안 정책 구성을 참조하세요.
명명된 IP 주소 목록을 사용하려면 Google Cloud Armor Enterprise를 구독하고 Cloud Armor Enterprise에 프로젝트를 등록해야 합니다. 자세한 내용은 명명된 IP 주소 목록의 사용 가능 여부를 참조하세요.
허용된 타사 제공업체의 트래픽만 허용
일반적인 사용 사례는 허용된 타사 파트너의 IP 주소가 포함된 허용 목록을 만들어 이 파트너로부터 들어오는 트래픽만 부하 분산기와 백엔드에 액세스할 수 있도록 하는 것입니다.
예를 들어 CDN 제공업체는 일정한 간격으로 원본 서버에서 콘텐츠를 가져와 자체 캐시에 배포해야 합니다. Google과 파트너십을 맺으면 CDN 제공업체와 Google 네트워크 에지가 직접 연결됩니다. Google Cloud의 CDN 사용자는 이러한 직접 연결을 사용하여 원본을 가져올 수 있습니다. 이 때 CDN 사용자는 특정 CDN 제공업체에서 들어오는 트래픽만 허용하는 보안 정책을 빌드할 수 있습니다.
이 예시에서 CDN 제공업체는 IP 주소 목록 23.235.32.0/20, 43.249.72.0/22, ⋯,
를 게시합니다. CDN 사용자는 이러한 IP 주소에서 들어오는 트래픽만 허용하는 보안 규칙을 구성합니다. 따라서 CDN 제공업체 액세스 포인트 두 개(23.235.32.10
및 43.249.72.10
)가 허용되며 트래픽이 허용됩니다. 승인되지 않은 액세스 포인트 198.51.100.1
의 트래픽은 차단됩니다.
사전 구성된 규칙을 사용하여 구성 및 관리 간소화
CDN 제공업체는 잘 알려져 있고 많은 CDN 사용자가 사용해야 하는 IP 주소를 종종 사용합니다. 이러한 목록은 시간이 지남에 따라 제공업체가 IP 주소를 추가, 삭제, 업데이트하므로 변경됩니다.
Google Cloud Armor는 매일 CDN 제공업체의 정보를 자동으로 동기화하므로 보안 정책 규칙에서 명명된 IP 주소 목록을 사용하면 IP 주소 구성 및 관리 프로세스가 간소화됩니다. 이렇게 하면 시간이 많이 소요되고 오류가 발생하기 쉬운 대규모 IP 주소 목록을 수동으로 유지보수하는 프로세스를 없앨 수 있습니다.
다음은 제공업체에서 들어오는 모든 트래픽을 허용하는 사전 구성된 규칙의 예시입니다.
evaluatePreconfiguredExpr('provider-a') => allow traffic
IP 주소 목록 제공업체
다음 표의 IP 주소 목록 제공업체는 Google Cloud Armor에서 지원됩니다. 이러한 제공업체는 Google과 파트너 관계를 맺은 CDN 제공업체입니다. 이러한 제공업체의 IP 주소 목록은 개별 공개 URL을 통해 게시됩니다.
이러한 제공업체는 IPv4 주소 목록과 IPv6 주소 목록을 별도로 제공합니다. Google Cloud Armor는 제공된 URL을 사용하여 목록을 가져오고 명명된 IP 주소 목록으로 변환합니다. 표에 나와 있는 이름으로 이러한 목록을 참조합니다.
예를 들어 다음 코드는 우선순위가 750인 보안 정책 POLICY_NAME
에 규칙을 만들어 Cloudflare의 명명된 IP 목록을 통합하고 해당 IP 주소의 액세스를 허용합니다.
gcloud beta compute security-policies rules create 750 \ --security-policy POLICY_NAME \ --expression "evaluatePreconfiguredExpr('sourceiplist-cloudflare')" \ --action "allow"
제공업체 | URL | IP 주소 목록 이름 |
---|---|---|
Fastly | https://api.fastly.com/public-ip-list |
sourceiplist-fastly |
Cloudflare |
|
sourceiplist-cloudflare |
Imperva |
Imperva의 목록에 액세스하려면
|
sourceiplist-imperva |
사전 구성된 명명된 IP 주소 목록을 나열하려면 이 gcloud CLI 명령어를 사용합니다.
gcloud compute security-policies list-preconfigured-expression-sets \ --filter="id:sourceiplist"
이는 다음을 반환합니다.
EXPRESSION_SET sourceiplist-fastly sourceiplist-cloudflare sourceiplist-imperva
IP 주소 목록 동기화
Google Cloud Armor는 올바른 형식의 변경사항이 감지된 경우에만 각 제공업체와 IP 주소 목록을 동기화합니다. Google Cloud Armor는 모든 목록의 IP 주소에 기본 문법 유효성 검사를 수행합니다.
명명된 IP 주소 목록의 사용 가능 여부
Google Cloud Armor Enterprise는 정식 버전으로 제공됩니다. 서드 파티의 명명된 IP 주소 목록 사용 가능 여부는 다음과 같습니다.
- Google Cloud Armor Enterprise 등급을 구독하는 경우 등록된 프로젝트에서 명명된 IP 주소 목록을 사용할 수 있는 라이선스가 부여됩니다. 명명된 IP 주소 목록에 규칙을 생성, 업데이트, 삭제할 수 있습니다.
- Google Cloud Armor Enterprise 등급 구독이 만료되거나 표준 등급으로 돌아가는 경우 명명된 IP 주소 목록으로 규칙을 추가하거나 수정할 수 없지만 기존 규칙을 삭제하고 규칙을 업데이트하여 명명된 IP 목록을 삭제할 수 있습니다.
- 이미 명명된 IP 주소 목록이 있는 규칙을 포함하며 Google Cloud Armor Enterprise에 등록하지 않은 프로젝트에서 명명된 IP 주소 목록으로 기존 규칙을 계속 사용, 업데이트, 삭제할 수 있습니다. 이러한 프로젝트에서는 명명된 IP 주소 목록을 포함하는 새 규칙을 만들 수 있습니다.