Pierwsze kroki z zaawansowanym wykrywaniem zagrożeń DNS Armor

1. Wstęp i omówienie

DNS Armor, oparta na technologii Infoblox, to w pełni zarządzana usługa, która zapewnia zabezpieczenia na poziomie DNS dla Twoich zbiorów zadań w Google Cloud. Zaawansowany detektor zagrożeń został zaprojektowany tak, aby wykrywać szkodliwą aktywność na najwcześniejszym etapie łańcucha ataku – w zapytaniu DNS – bez zwiększania złożoności operacyjnej ani obciążenia wydajności.

To ćwiczenie zawiera szczegółowe instrukcje konfigurowania i testowania usługi DNS Armor. Skonfigurujesz niezbędną infrastrukturę sieciową, utworzysz detektor zagrożeń, przetestujesz usługę, symulując zagrożenia DNS, a na koniec przeanalizujesz logi zagrożeń za pomocą eksploratora logów.

Co utworzysz

W tym ćwiczeniu w Codelabs utworzysz te zasoby:

  • 2 sieci VPC: network-anetwork-b
  • network-a będzie zawierać podsieci i maszyny wirtualne w regionach us-east4us-central1.
  • network-b będzie zawierać podsieć i maszynę wirtualną wyłącznie w us-east4.
  • Detektor zaawansowanych zagrożeń DNS Armor skonfigurowany do sprawdzania zapytań DNS.

75d6eeb807735645.png

Czego się nauczysz

  • jak udostępnić niezbędne zasoby sieciowe, w tym sieci VPC i maszyny wirtualne;
  • Jak wdrożyć zaawansowany detektor zagrożeń i wykluczyć określone sieci.
  • Jak zweryfikować konfigurację wykrywania zagrożeń za pomocą skryptu symulacji zagrożeń.
  • Jak analizować logi zagrożeń w eksploratorze logów.

Czego potrzebujesz

  • Projekt Google Cloud.
  • Dostęp do narzędzia wiersza poleceń gcloud.

2. Wymagania wstępne

W tej sekcji wykonasz te czynności:

  • Sprawdź, czy Twój projekt w chmurze Google spełnia wymagane ograniczenia zasad organizacji.
  • Sprawdź, czy Twoje konto użytkownika ma wymagane role i uprawnienia IAM.
  • Włącz interfejsy Google Cloud API niezbędne do tego ćwiczenia.
  • Przypisz do konta usługi Compute Engine rolę uprawnień roles/logging.viewer.

Ograniczenia zasad organizacji

Aby ukończyć to ćwiczenie w Codelabs, sprawdź ograniczenia zasad organizacji zastosowane w Twoim projekcie. Niektóre zasady mogą utrudniać udostępnianie niezbędnych zasobów. Na konfigurację tego laboratorium mogą mieć wpływ te ograniczenia:

  • constraints/gcp.resourceLocations: ogranicza regiony, w których możesz tworzyć zasoby. Ćwiczenia z programowania wymagają us-east4us-central1.
  • constraints/compute.vmExternalIpAccess: uniemożliwia tworzenie maszyn wirtualnych z publicznymi adresami IP, co może zakłócić konfigurację, jeśli nie będziesz postępować zgodnie z instrukcjami w samouczku dotyczącymi używania flagi --no-address .
  • constraints/compute.shieldedVm: wymusza tworzenie chronionych maszyn wirtualnych, których polecenia tworzenia maszyn wirtualnych w tym samouczku nie określają, co może powodować błąd.
  • constraints/gcp.restrictServiceUsage: ogranicza liczbę interfejsów Google Cloud API, które można włączyć, i może zablokować codelab, jeśli nie zezwala na compute.googleapis.com, networksecurity.googleapis.com, logging.googleapis.commonitoring.googleapis.com.

Role i uprawnienia

Aby ukończyć to ćwiczenie w Codelabs, sprawdź role i uprawnienia IAM przyznane Twojemu użytkownikowi. Aby ukończyć ten Codelab, musisz mieć te role i uprawnienia.

  • Administrator wykorzystania usług (roles/serviceusage.serviceUsageAdmin): aby włączyć wymagane Cloud APIs Google Cloud na potrzeby ćwiczenia.
  • Administrator sieci Compute (roles/compute.networkAdmin): umożliwia tworzenie sieci VPC, podsieci i Cloud NAT oraz zarządzanie nimi.
  • Administrator zabezpieczeń Compute (roles/compute.securityAdmin): do konfigurowania reguł zapory sieciowej dla dostępu SSH do maszyn wirtualnych.
  • Administrator instancji Compute (v1) (roles/compute.instanceAdmin.v1): umożliwia tworzenie maszyn wirtualnych wymaganych w laboratorium i zarządzanie nimi.
  • Użytkownik tunelu zabezpieczonego przez IAP (roles/iap.tunnelResourceAccessor): umożliwia łączenie się z maszynami wirtualnymi za pomocą SSH przez Identity-Aware Proxy (IAP).
  • Administrator zabezpieczeń sieci (roles/networksecurity.admin): może tworzyć detektor zagrożeń DNS Armor i nim zarządzać.
  • Wyświetlający logi (roles/logging.viewer): umożliwia wyświetlanie i analizowanie logów zagrożeń w Eksploratorze logów.

Interfejsy Google Cloud APIs

Sprawdź, czy w projekcie są włączone wymagane interfejsy API Google Cloud.

1. Włącz niezbędne interfejsy API, uruchamiając w Cloud Shell te gcloud polecenia.

gcloud services enable compute.googleapis.com \
networksecurity.googleapis.com \
logging.googleapis.com \
monitoring.googleapis.com

2. Sprawdź, czy interfejsy API są włączone, uruchamiając w Cloud Shell te poleceniagcloud.

gcloud services list --enabled

Konto usługi Compute Engine

Scenariusz testowania wymaga uprawnień do odczytywania logów zagrożeń z Cloud Logging. Skrypt będzie wykonywany na maszynie wirtualnej korzystającej z domyślnego konta usługi Compute Engine, dlatego do tego konta usługi musi być przypisana rola uprawnień roles/logging.viewer.

1. Ustaw zmienne środowiskowe, uruchamiając w Cloud Shell te polecenia:

export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --