1. Giriş
Merhaba! Cloud Armor önceden yapılandırılmış WAF kuralları codelab'ine hoş geldiniz.
Google Cloud Armor, Google'ın kurumsal uç ağ güvenliği çözümüdür. Bu çözüm, DDoS koruması, WAF kuralı zorunluluğu ve ölçekte uyarlanabilir yönetilebilirlik sağlar.
Cloud Armor, OWASP Top 10 web uygulaması güvenlik açıklarına karşı koruma sağlamak için önceden yapılandırılmış WAF kural kümelerini genişletti. Kural kümeleri, yerel dosya dahil etme (lfi), uzak dosya dahil etme (rfi), uzaktan kod yürütme (rce) gibi en yaygın web uygulaması güvenlik risklerinden bazılarına karşı koruma sağlamak için OWASP Modsecurity Core Rule Set sürüm 3.0.2'ye dayanmaktadır.
Bu codelab'de, Google Cloud Armor WAF kurallarını kullanarak yaygın güvenlik açıklarından bazılarını nasıl azaltacağınızı öğreneceksiniz.
Neler öğreneceksiniz?
- Bir hizmeti desteklemek için örnek grubu ve genel yük dengeleyici oluşturma
- LFI, RCE, tarayıcılar, protokol saldırıları ve oturum sabitlemeye karşı koruma sağlamak için önceden yapılandırılmış WAF kurallarıyla Cloud Armor güvenlik politikalarını yapılandırma
- Günlükleri inceleyerek Cloud Armor'ın bir saldırıyı hafiflettiğini doğrulama
Gerekenler
- Google Compute Engine hakkında temel bilgiler ( codelab)
- Temel ağ iletişimi ve TCP/IP bilgisi
- Temel düzeyde Unix/Linux komut satırı bilgisi
- Google Cloud'da Ağ İletişimi ile GCP'de ağ iletişimi turunu tamamlamış olmanız faydalıdır.
- (İsteğe bağlı) İş yüklerini SQL ekleme, IP tabanlı ve coğrafi tabanlı kurallarla korumayı öğrenmek için Cloudnet20 Cloud Armor laboratuvarını tamamlayın.
Codelab topolojisi ve kullanım alanı

Şekil 1: Cloud Armor WAF kuralları codelab topolojisi
OWASP Juice Shop uygulaması, OWASP İlk 10 güvenlik açığının her birini tasarım gereği içerdiğinden güvenlik eğitimi ve farkındalığı için faydalıdır. Saldırganlar, bu özelliği test amacıyla kullanabilir. Bu codelab'de, bazı uygulama saldırılarını göstermek ve ardından uygulamayı Cloud Armor WAF kurallarıyla korumak için bu aracı kullanacağız. Uygulamanın önünde, Cloud Armor güvenlik politikasının ve kurallarının uygulanacağı bir Google Cloud Load Balancer bulunur. Herkese açık internette sunulacağı için neredeyse her yerden erişilebilir ve Cloud Armor ile VPC güvenlik duvarı kuralları kullanılarak korunur.
2. Kurulum ve Gereksinimler
Yönlendirmesiz ortam kurulumu
- Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.



Proje kimliğini unutmayın. Bu kimlik, tüm Google Cloud projelerinde benzersiz bir addır (Yukarıdaki ad zaten alınmış olduğundan sizin için çalışmayacaktır). Bu codelab'in ilerleyen kısımlarında PROJECT_ID olarak adlandırılacaktır.
- Ardından, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.
Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırma ücreti alınmaması için kaynakları nasıl kapatacağınız konusunda size tavsiyelerde bulunan "Temizleme" bölümündeki talimatları uyguladığınızdan emin olun. Google Cloud'un yeni kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından yararlanabilir.
Cloud Shell'i başlatma
Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir. Ancak bu codelab'de, Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.
GCP Console'da sağ üstteki araç çubuğunda Cloud Shell simgesini tıklayın:

Ortamın temel hazırlığı ve bağlanması yalnızca birkaç dakikanızı alır. İşlem tamamlandığında aşağıdakine benzer bir sonuç görürsünüz:

Bu sanal makine, ihtiyaç duyacağınız tüm geliştirme araçlarını içerir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde güçlenir. Bu laboratuvardaki çalışmalarınızın tamamını yalnızca bir tarayıcı kullanarak yapabilirsiniz.
Başlamadan önce
Cloud Shell'de proje kimliğinizin ayarlandığından emin olun.
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] PROJECT_ID=[YOUR-PROJECT-NAME] echo $PROJECT_ID
API'leri etkinleştirme
Gerekli tüm hizmetleri etkinleştirin
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3. VPC ağını oluşturma
VPC ağı oluşturma
Cloud Shell'den
gcloud compute networks create ca-lab-vpc --subnet-mode custom
Çıkış
Created NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4 ca-lab-vpc CUSTOM REGIONAL
Alt ağ oluşturma
Cloud Shell'den
gcloud compute networks subnets create ca-lab-subnet \
--network ca-lab-vpc --range 10.0.0.0/24 --region us-central1
Çıkış
Created NAME REGION NETWORK RANGE ca-lab-subnet us-central1 ca-lab-vpc 10.0.0.0/24
VPC güvenlik duvarı kuralları oluşturma
VPC ve alt ağı oluşturduktan sonra birkaç güvenlik duvarı kuralı ayarlayacaksınız. İlk güvenlik duvarı kuralı, tüm IP'lerin test uygulamasının web sitesinin harici IP'sine 3000 numaralı bağlantı noktasından erişmesine izin vermek için kullanılır. İkinci güvenlik duvarı kuralı, yük dengeleyicilerin kaynak IP'sinden gelen durum denetimlerine izin vermek için kullanılır.
Cloud Shell'den
gcloud compute firewall-rules create allow-js-site --allow tcp:3000 --network ca-lab-vpc
Çıkış
Creating firewall...done. NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED allow-js-site ca-lab-vpc INGRESS 1000 tcp:3000 False
Google durum denetimi aralıklarından gelen durum denetimlerine izin vermek için güvenlik duvarı kuralları oluşturun.
Cloud Shell'den
gcloud compute firewall-rules create allow-health-check \
--network=ca-lab-vpc \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=allow-healthcheck \
--rules=tcp
Çıkış
Creating firewall...done. NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED allow-health-check ca-lab-vpc INGRESS 1000 tcp False
4. Test uygulamasını ayarlama
Bir sonraki adım, test uygulamasını (bu örnekte OWASP Juice Shop web sunucusu) oluşturmaktır.
Bilgi işlem örneği oluştururken, sunucuda uygun hizmetlerin bulunmasını sağlamak için bir container görüntüsü kullanıyoruz. Bu sunucu us-central1-c bölgesinde dağıtılacak ve durum denetimlerine izin veren bir ağ etiketine sahip olacaktır.
OWASP Juice Shop uygulamasını oluşturma
Güvenlik açığı olan uygulama olarak, iyi bilinen açık kaynaklı OWASP Juice Shop uygulamasını kullanın. Bu uygulamayı, web sitesi üzerinden OWASP güvenlik zorluklarını çözmek için de kullanabilirsiniz.
Cloud Shell'den
gcloud compute instances create-with-container owasp-juice-shop-app --container-image bkimminich/juice-shop \
--network ca-lab-vpc \
--subnet ca-lab-subnet \
--private-network-ip=10.0.0.3 \
--machine-type n1-standard-2 \
--zone us-central1-c \
--tags allow-healthcheck
Çıkış
NAME ZONE MACHINE_TYPE PREEMPTIBLE owasp-juice-shop-app us-central1-c n1-standard-2 INTERNAL_IP EXTERNAL_IP STATUS 10.0.0.3 <public IP> RUNNING
Cloud Load Balancer bileşenini ayarlama: örnek grubu
Yönetilmeyen örnek grubunu oluşturun.
Cloud Shell'den
gcloud compute instance-groups unmanaged create juice-shop-group \
--zone=us-central1-c
Çıkış
NAME LOCATION SCOPE NETWORK MANAGED INSTANCES juice-shop-group us-central1-c zone 0
Juice Shop GCE örneğini yönetilmeyen örnek grubuna ekleyin.
Cloud Shell'den
gcloud compute instance-groups unmanaged add-instances juice-shop-group \
--zone=us-central1-c \
--instances=owasp-juice-shop-app
Çıkış
Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].
Adlandırılmış bağlantı noktasını Juice Shop uygulamasının bağlantı noktası olarak ayarlayın.
Cloud Shell'den
gcloud compute instance-groups unmanaged set-named-ports \ juice-shop-group \ --named-ports=http:3000 \ --zone=us-central1-c
Çıkış
Updated [https://www.googleapis.com/compute/v1/projects/<project name>/zones/us-central1-c/instanceGroups/juice-shop-group].
Yönetilmeyen örnek grubunu oluşturduğunuza göre, bir sonraki adım durum denetimi, arka uç hizmeti, URL eşlemesi, hedef proxy ve yönlendirme kuralı oluşturmaktır.
Cloud Load Balancer bileşenini ayarlama: durum denetimi
Juice Shop hizmet bağlantı noktası için durum denetimi oluşturun.
Cloud Shell'den
gcloud compute health-checks create tcp tcp-port-3000 \
--port 3000
Çıkış
Created NAME PROTOCOL tcp-port-3000 TCP
Cloud Load Balancer bileşenini ayarlama: arka uç hizmeti
Arka uç hizmeti parametrelerini oluşturun.
Cloud Shell'den
gcloud compute backend-services create juice-shop-backend \
--protocol HTTP \
--port-name http \
--health-checks tcp-port-3000 \
--enable-logging \
--global
Çıkış
NAME BACKENDS PROTOCOL juice-shop-backend HTTP
Juice Shop örnek grubunu arka uç hizmetine ekleyin.
Cloud Shell'den
gcloud compute backend-services add-backend juice-shop-backend \
--instance-group=juice-shop-group \
--instance-group-zone=us-central1-c \
--global
Çıkış
Updated [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/backendServices/juice-shop-backend].
Cloud yük dengeleyici bileşenini ayarlama: URL eşlemesi
Arka uca gönderilecek URL eşlemesini oluşturun.
Cloud Shell'den
gcloud compute url-maps create juice-shop-loadbalancer \
--default-service juice-shop-backend
Çıkış
NAME DEFAULT_SERVICE juice-shop-loadbalancer backendServices/juice-shop-backend
Cloud yük dengeleyici bileşenini (hedef proxy) ayarlama
URL eşlemesinin önüne geçecek hedef proxy'yi oluşturun.
Cloud Shell'den
gcloud compute target-http-proxies create juice-shop-proxy \
--url-map juice-shop-loadbalancer
Çıkış
NAME URL_MAP juice-shop-proxy juice-shop-loadbalancer
Cloud Load Balancer bileşenini ayarlama: iletim kuralı
Yük dengeleyici için iletim kuralını oluşturun.
Cloud Shell'den
gcloud compute forwarding-rules create juice-shop-rule \
--global \
--target-http-proxy=juice-shop-proxy \
--ports=80
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/cythom-host1/global/forwardingRules/juice-shop-rule].
Juice Shop hizmetinin çevrimiçi olduğunu doğrulayın
Cloud Shell'den
PUBLIC_SVC_IP="$(gcloud compute forwarding-rules describe juice-shop-rule --global --format="value(IPAddress)")"
Cloud Shell'den
echo $PUBLIC_SVC_IP
Çıkış
<public VIP of service>
Devam etmeden önce birkaç dakika bekleyin. Aksi takdirde HTTP/1.1 404 Not Found yanıtı alabilirsiniz.
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP
Çıkış
HTTP/1.1 200 OK <...>
Ayrıca, tarayıcıya giderek Juice Shop'u görüntüleyebilirsiniz.

Artık Juice Shop güvenlik açıklarını ve Cloud Armor WAF kural kümeleriyle bunlara karşı nasıl korunacağımızı incelemeye hazırız.
5. Bilinen güvenlik açıklarını gösterme
Zamandan tasarruf etmek için Cloud Armor WAF kuralları yayılmadan önceki ve sonraki durumları özetlenmiş adımlarla göstereceğiz.
LFI güvenlik açığını gözlemleme: dosya yolu manipülasyonu
Yerel dosya dahil etme, hassas verileri açığa çıkarma ihtimali olan istekte giriş doğrulama eksikliğinden yararlanarak sunucuda bulunan dosyaları gözlemleme işlemidir. Aşağıda, yalnızca bir dosya yolu manipülasyonunun mümkün olduğu gösterilmektedir. Tarayıcınızda veya curl ile uygulama tarafından sunulan mevcut bir yolu gözlemleyin.
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/ftp
Çıkış
HTTP/1.1 200 OK <...>
Ayrıca dosya yolu manipülasyonunun da çalıştığını gözlemleyin:
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/ftp/../
Çıkış
HTTP/1.1 200 OK <...>
RCE güvenlik açığını gözlemleme
Uzaktan kod yürütme, saldırganların genellikle ayrıcalıklı kullanıcılarla sınırlı olan OS komutlarını yürütmesine olanak tanıyan çeşitli UNIX ve Windows komut yerleştirme senaryolarını içerir. Aşağıda, iletilen basit bir ls komutunun yürütülmesi gösterilmektedir.
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls
Çıkış
HTTP/1.1 200 OK <...>
Tam çıktıyı görmek için curl işaretlerini kaldırabilirsiniz.
Tanınmış bir tarayıcının erişimini gözlemleme
Güvenlik açığı taraması da dahil olmak üzere çeşitli amaçlar için hem ticari hem de açık kaynaklı tarama uygulamaları. Bu araçlar, iyi bilinen kullanıcı aracısı ve diğer başlıkları kullanır. curl'ün iyi bilinen bir kullanıcı aracısı başlığıyla çalıştığını gözlemleyin:
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"
Çıkış
HTTP/1.1 200 OK <...>
Protokol saldırısını gözlemleme: HTTP bölme
Bazı web uygulamaları, yanıtlardaki üst bilgileri oluşturmak için kullanıcıdan alınan girişleri kullanır. Uygulama girişi düzgün şekilde filtrelemezse saldırgan, giriş parametresini %0d%0a dizisiyle (farklı satırları ayırmak için kullanılan CRLF dizisi) bozabilir. Bu durumda yanıt, ayrıştıran her şey (ör. aracı proxy sunucusu) tarafından iki yanıt olarak yorumlanabilir ve sonraki isteklerde yanlış içerik sunulabilir. Giriş parametresine %0d%0a dizisini eklemek yanıltıcı bir sayfanın yayınlanmasına neden olabilir.
Cloud Shell'den
curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"
Çıkış
HTTP/1.1 200 OK <...>
Oturum sabitleme işlemini gözlemleme
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP -H session_id=X
Çıkış
HTTP/1.1 200 OK <...>
6. Cloud Armor WAF kurallarını tanımlama
Önceden yapılandırılmış WAF kurallarını listeleyin:
Cloud Shell'den
gcloud compute security-policies list-preconfigured-expression-sets
Çıkış
EXPRESSION_SET
Sqli-canary
RULE_ID
owasp-crs-v030001-id942110-sqli
owasp-crs-v030001-id942120-sqli
<...>
Cloud Armor güvenlik politikasını oluşturma
Cloud Shell'den:
gcloud compute security-policies create block-with-modsec-crs \
--description "Block with OWASP ModSecurity CRS"
Güvenlik politikasının varsayılan kuralını güncelleme
Varsayılan kural önceliğinin sayısal değerinin 2147483647 olduğunu unutmayın.
Cloud Shell'den:
gcloud compute security-policies rules update 2147483647 \
--security-policy block-with-modsec-crs \
--action "deny-403"
Varsayılan kural, "deny" (reddet) işlemiyle yapılandırıldığından IP adresinizden erişime izin vermemiz gerekir. Lütfen herkese açık IP'nizi bulun (curl, ipmonkey, whatismyip vb.).
Cloud Shell'den:
MY_IP=$(curl ifconfig.me)
IP'nizden erişime izin vermek için ilk kuralı ekleyin (IP'NİZİ AŞAĞIYA EKLEYİN)
Cloud Shell'den:
gcloud compute security-policies rules create 10000 \
--security-policy block-with-modsec-crs \
--description "allow traffic from my IP" \
--src-ip-ranges "$MY_IP/32" \
--action "allow"
LFI saldırılarını engellemek için güvenlik politikasını güncelleyin
Yerel dosya eklemeleri için dosya yolu manipülasyonunu önleyen OWASP ModSecurity Core Rule Set'i uygulayın.
Cloud Shell'den:
gcloud compute security-policies rules create 9000 \
--security-policy block-with-modsec-crs \
--description "block local file inclusion" \
--expression "evaluatePreconfiguredExpr('lfi-stable')" \
--action deny-403
Güvenlik politikasını, uzaktan kod yürütmeyi (rce) engelleyecek şekilde güncelleme
OWASP ModSecurity Core Rule Set'e göre, komut ekleme dahil olmak üzere RCE'yi arayan kuralları uygulayın. Tipik işletim sistemi komutları algılanır ve engellenir.
Cloud Shell'den:
gcloud compute security-policies rules create 9001 \
--security-policy block-with-modsec-crs \
--description "block rce attacks" \
--expression "evaluatePreconfiguredExpr('rce-stable')" \
--action deny-403
Güvenlik tarayıcılarını engellemek için güvenlik politikasını güncelleme
OWASP ModSecurity Core Rule Set'i uygulayarak iyi bilinen güvenlik tarayıcılarını, HTTP istemcilerini ve web tarayıcılarını engelleyin.
Cloud Shell'den:
gcloud compute security-policies rules create 9002 \
--security-policy block-with-modsec-crs \
--description "block scanners" \
--expression "evaluatePreconfiguredExpr('scannerdetection-stable')" \
--action deny-403
Protokol saldırılarını engellemek için güvenlik politikasını güncelleyin
OWASP ModSecurity Core Rule Set'e göre, satır başı (CR) %0d ve satır sonu (LF) %0a karakterlerinin yanı sıra HTTP istek kaçakçılığı gibi diğer protokol saldırılarını arayan kurallar uygulayın.
Cloud Shell'den:
gcloud compute security-policies rules create 9003 \
--security-policy block-with-modsec-crs \
--description "block protocol attacks" \
--expression "evaluatePreconfiguredExpr('protocolattack-stable')" \
--action deny-403
Oturum sabitlemeyi engellemek için güvenlik politikasını güncelleme
OWASP ModSecurity Core Rule Set'e göre aşağıdaki kuralları uygulayın:
Cloud Shell'den:
gcloud compute security-policies rules create 9004 \
--security-policy block-with-modsec-crs \
--description "block session fixation attacks" \
--expression "evaluatePreconfiguredExpr('sessionfixation-stable')" \
--action deny-403
Güvenlik politikasını arka uç hizmetine ekleme
Cloud Shell'den:
gcloud compute backend-services update juice-shop-backend \
--security-policy block-with-modsec-crs \
--global
Kuralların dağıtılması biraz zaman alabilir (ancak 10 dakikadan fazla sürmez). Yeterli zamanın geçtiğinden emin olduktan sonra, bir sonraki adımda Cloud Armor WAF kuralı uygulamasını onaylamak için daha önce gösterilen güvenlik açıklarını test edin.
7. OWASP ModSecurity Core Rule Set ile Cloud Armor korumasını gözlemleme
LFI güvenlik açığının giderildiğini onaylayın
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/?a=../
Çıkış
HTTP/1.1 403 Forbidden <...>
RCE saldırısının azaltıldığını onaylayın
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls
Çıkış
HTTP/1.1 403 Forbidden <..>
Bilinen tarayıcı algılamasını onaylama
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"
Çıkış
HTTP/1.1 403 Forbidden <..>
Protokol saldırısının azaltıldığını onaylama
OWASP ModSecurity Core Rule Set ver.3.0.2'ye göre protokol saldırısı şu şekilde azaltılır:
Cloud Shell'den
curl -Ii "http://$PUBLIC_SVC_IP/index.html?foo=advanced%0d%0aContent-Length:%200%0d%0a%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/html%0d%0aContent-Length:%2035%0d%0a%0d%0a<html>Sorry,%20System%20Down</html>"
Çıkış
HTTP/1.1 403 Forbidden <..>
Oturum sabitleme girişimlerinin engellendiğini doğrulayın
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/?session_id=a
Çıkış
HTTP/1.1 403 Forbidden <..>
8. Cloud Armor güvenlik kurallarını inceleme
Güvenlik politikasını oluşturduğumuza göre, hangi kuralların yapılandırıldığına yakından bakalım.

Kurallar önceliğe göre değerlendirilir: Daha küçük numaralı kurallar önce değerlendirilir ve tetiklendikten sonra, daha yüksek öncelik değerlerine sahip kurallar için işlem devam etmez.
- 9000 önceliği: LFI'yi (yerel dosya dahil etme) engelleme
- Öncelik 9001 - RCE'yi (uzaktan kod yürütme/komut yerleştirme) engelleme
- Öncelik 9002 - Blok Tarayıcılar Algılandı
- 9003 önceliği: HTTP bölme ve HTTP kaçakçılığı gibi protokol saldırılarını engelleme
- Öncelik 9004 - Oturum Sabitleme Saldırılarını Engelleme
- Öncelik 10000: IP'nizin web sitesine erişmesine izin verin
- Öncelik Varsayılanı - Reddet.
*Siteye erişime izin vermek için "IP'nize izin ver" kuralının en yüksek öncelik numarasıyla yapılandırıldığına ancak saldırıları engellediğine dikkat edin.
9. Cloud Armor güvenlik politikası günlüklerini gözlemleme
Cloud Armor Console sayfasında güvenlik politikasının ayrıntılarını görüntüleyebilir ve Cloud Logging sayfasına yönlendirilmek için Logs sekmesini, ardından View policy logs bağlantısını tıklayabilirsiniz. İlgili güvenlik politikasına (ör. resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs)) göre otomatik olarak filtreleme yapar. 403 hata yanıtı kodlarını inceleyin ve zorunlu kılınan güvenlik politikasının adını, eşleşen alan değerini ve daha aşağıda önceden yapılandırılmış ifade kimliklerini (veya imza kimliğini) incelemek için günlük ayrıntılarını genişletin. Aşağıdaki ekran görüntülerinde, bu codelab'de yapılandırılan zorunlu güvenlik politikalarının günlüklerine ilişkin örnekler gösterilmektedir.
LFI günlüğü

RCE günlüğü

Tarayıcı algılama günlüğü

Protokol saldırısı günlüğü

Oturum sabitleme günlüğü

10. Lab Cleanup
Laboratuvarı tamamladığınıza göre kaynakları temizleyin.
Cloud Armor güvenlik politikasını, yük dengeleyiciyi, örnekleri, güvenlik duvarı kurallarını ve VPC ağını silmek için bu komutları çalıştırın.
Cloud Armor güvenlik politikasını arka uç hizmetinden kaldırma
gcloud -q compute backend-services update juice-shop-backend --security-policy "" --global
Cloud Armor güvenlik politikasını silme
Güvenlik politikasının silinmesi, ilişkili kuralların da otomatik olarak silinmesine neden olur.
gcloud -q compute security-policies delete block-with-modsec-crs
Yük dengeleyici kaynaklarını silme
Silinecek bu yük dengeleyici kaynakları arasında yönlendirme kuralı, hedef-http-proxy'ler, URL haritaları, arka uç, durum denetimleri ve örnek grubu yer alır.
gcloud -q compute forwarding-rules delete juice-shop-rule --global
gcloud -q compute target-http-proxies delete juice-shop-proxy
gcloud -q compute url-maps delete juice-shop-loadbalancer
gcloud -q compute backend-services delete juice-shop-backend \
--global
gcloud -q compute health-checks delete tcp-port-3000
gcloud -q compute instance-groups unmanaged delete juice-shop-group --zone=us-central1-c
Örneği silme
gcloud -q compute instances delete owasp-juice-shop-app --zone us-central1-c
Güvenlik duvarı kurallarını, alt ağı ve VPC'yi silme
gcloud -q compute firewall-rules delete allow-health-check gcloud -q compute firewall-rules delete allow-js-site gcloud -q compute networks subnets delete ca-lab-subnet --region us-central1 gcloud -q compute networks delete ca-lab-vpc
11. Tebrikler!
Cloud Armor önceden yapılandırılmış WAF kuralları codelab'ini tamamladığınız için tebrik ederiz.
İşlediğimiz konular
- Örnek grubu ve global Cloud Load Balancer'ı ayarlama
- LFI, RCE, tarayıcılar, protokol saldırıları ve oturum sabitlemeye karşı koruma sağlamak için önceden yapılandırılmış WAF kurallarıyla Cloud Armor güvenlik politikalarını yapılandırma
- Cloud Armor'un, OWASP'a göre en sık karşılaşılan 10 saldırıdan bazılarını günlükler aracılığıyla nasıl azalttığını doğrulama
Sonraki adımlar
- Cloud Armor önceden yapılandırılmış WAF kuralları ile uygulamanızı OWASP'a göre en sık karşılaşılan 10 güvenlik açığına karşı koruma
- Hassasiyet düzeylerine göre kuralları hassaslaştırma
- Daha spesifik güvenlik uygulaması için özel kurallar dil referansını kullanın.