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-ainetwork-b network-abędzie zawierać podsieci i maszyny wirtualne w regionachus-east4ius-central1.network-bbędzie zawierać podsieć i maszynę wirtualną wyłącznie wus-east4.- Detektor zaawansowanych zagrożeń DNS Armor skonfigurowany do sprawdzania zapytań DNS.

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-east4ius-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 nacompute.googleapis.com,networksecurity.googleapis.com,logging.googleapis.comimonitoring.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 --