1. Giriş
Merhaba! Cloud Armor'ın önceden yapılandırılmış WAF kuralları codelab'ine hoş geldiniz.
Google Cloud Armor; geniş ölçekte DDoS koruması, WAF kural yaptırımı ve uyarlanabilirlik özellikleri sunan, Google'ın kurumsal uç ağ güvenliği çözümüdür.
Cloud Armor, OWASP İlk 10 web uygulaması güvenlik açıklarına karşı etkilerini azaltmak amacıyla önceden yapılandırılmış WAF kural gruplarını genişletmiştir. Kural kümeleri, yerel dosya ekleme (lfi), uzaktan dosya dahil etme (rfi), uzaktan kod yürütme (rce) gibi en yaygın web uygulaması güvenlik risklerinin bazılarına karşı koruma sağlamak için OWASP Modsecurity core kural grubu sürüm 3.0.2'yi temel alır.
Bu codelab'de, Google Cloud Armor WAF kurallarını kullanarak yaygın güvenlik açıklarından bazılarını azaltmayı öğ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 düzeltmeye 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'ın günlükleri gözlemleyerek saldırıları hafiflettiğini doğrulama.
Gerekenler
- Temel Google Compute Engine bilgisi ( codelab)
- Temel ağ iletişimi ve TCP/IP bilgisi
- Temel Unix/Linux komut satırı bilgisi
- Google Cloud'da Ağ İletişimi ile GCP'de ağ iletişimi turuna katılın.
- (İsteğe bağlı) İş yüklerini SQL yerleştirme, IP ve coğrafi konum 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ı, tasarım gereği OWASP İlk 10 güvenlik açığının her birinin örneğini içerdiğinden güvenlik eğitimi ve farkındalığı için yararlıdır. Saldırganlar, test amacıyla bundan yararlanabilir. Bu codelab'de, bazı uygulama saldırılarını göstermek için bu koddan yararlanacağız. Ardından, uygulamayı Cloud Armor WAF kurallarıyla koruyacağız. Uygulama, Cloud Armor güvenlik politikasının ve kurallarının uygulanacağı bir Google Cloud Yük Dengeleyici tarafından önlenir. Herkese açık internette sunulacak ve böylece neredeyse her yerden ulaşılabilecek ve Cloud Armor ile VPC güvenlik duvarı kurallarıyla korunacak.
2. Kurulum ve Gereksinimler
Kendi hızınızda ortam kurulumu
- Cloud Console'da oturum açıp 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.
Tüm Google Cloud projelerinde benzersiz bir ad olan proje kimliğini unutmayın (yukarıdaki ad zaten alınmış ve size uygun olmayacaktır!). Bu kod laboratuvarın ilerleyen bölümlerinde PROJECT_ID
olarak adlandırılacaktır.
- Sonraki adımda, Google Cloud kaynaklarını kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.
Bu codelab'i çalıştırmanın maliyeti, yüksek değildir. "Temizleme" bölümündeki talimatları izlediğinizden emin olun. bölümünde, bu eğiticinin dışında faturalandırmayla karşılaşmamanız için kaynakları nasıl kapatacağınız konusunda tavsiyelerde bulunuyoruz. Yeni Google Cloud kullanıcıları, 300 ABD doları değerindeki ücretsiz denemeden yararlanabilir.
Cloud Shell'i başlatma
Google Cloud dizüstü bilgisayarınızdan uzaktan çalıştırılabilse de 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 yer alan Cloud Shell simgesini tıklayın:
Ortamı sağlamak ve bağlamak yalnızca birkaç dakika sürer. Tamamlandığında şuna benzer bir sonuç görmeniz gerekir:
İhtiyacınız olan tüm geliştirme araçlarını bu sanal makinede bulabilirsiniz. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışarak ağ performansını ve kimlik doğrulamasını büyük ölçüde iyileştirir. Bu laboratuvardaki tüm çalışmalarınızı yalnızca bir tarayıcıyla 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, 3000 numaralı bağlantı noktası üzerinde test uygulamasının web sitesinin harici IP'sine erişmesine izin vermek için kullanılır. İkinci güvenlik duvarı kuralı, yük dengeleyicilerin kaynak IP'sinden 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 durum denetimlerine izin vermek için donanım yazılımı 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
Sonraki adım, test uygulamasını (bu örnekte OWASP Meyve/Sebze ve İçecek Mağazası) web sunucusunu oluşturmaktır.
Compute örneğini oluştururken, sunucunun uygun hizmetlere sahip olduğundan emin olmak için bir container görüntüsü kullanırız. Bu sunucu us-central1-c'de dağıtılacak ve durum denetimlerine izin veren bir ağ etiketine sahip olacak.
OWASP Juice Shop uygulamasını oluşturma
Güvenlik açığı içeren uygulama olarak hizmet vermek için, iyi bilinen OWASP Meyve/Sebze Suyu Dükkanı uygulamasını kullanın. Bu uygulamayı, web siteleri üzerinden OWASP güvenlik sorgulamaları gerçekleştirmek 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 yük dengeleyici 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ı Meyve Suyu Mağazası uygulamasınınkine 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 iletim kuralı oluşturmaktır.
Cloud yük dengeleyici bileşenini ayarlama: durum denetimi
Meyve Suyu Dükkanı hizmet bağlantı noktası için durum denetimini 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 yük dengeleyici bileşenini ayarlama: arka uç hizmeti
Arka uç hizmet 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].
Chrome 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
Chrome yük dengeleyici bileşeni: hedef proxy'yi ayarlayın
URL eşlemesinin önüne geçmek için 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 yük dengeleyici bileşenini ayarlama: iletim kuralı
Yük dengeleyici için iletim kuralı 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].
Meyve Suyu Dükkanı hizmetinin online olduğunu doğrulama
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 Bulunamadı yanıtı alabilirsiniz.
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP
Çıkış
HTTP/1.1 200 OK <...>
Meyve Suyu Dükkanı'nı görüntülemek için tarayıcıya da gidebilirsiniz!
Artık Meyve/Sebze Suyu Dükkanı ile ilgili güvenlik açıklarını ve Cloud Armor WAF kural gruplarıyla bu güvenlik açıklarına karşı nasıl korunacağımızı keşfetmeye hazırız.
5. Bilinen güvenlik açıklarını gösterin
Zamandan tasarruf etmek için, Cloud Armor WAF kurallarının toplu adımlar halinde yayılmasından önceki ve sonraki durumları göstereceğiz.
LFI güvenlik açığını gözlemleme: path traversal
Yerel Dosya Dahil Etme, hassas verileri potansiyel olarak açığa çıkarmak için istekteki giriş doğrulaması eksikliğini kötüye kullanarak sunucuda mevcut olan dosyaları gözlemleme işlemidir. Aşağıda, bir yol geçişinin mümkün olduğu basitçe 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, yol geçişinin de çalıştığını unutmayın:
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 işletim sistemi komutlarını yürütmesine olanak tanıyan çeşitli UNIX ve Windows komut yerleştirme senaryoları içerir. Aşağıda, iletilen basit bir ls komutu 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 çıkışı gözlemlemek için curl bayraklarını kaldırabilirsiniz.
Tanınan bir tarayıcının erişimini izleme
Hem ticari hem de açık kaynaklı uygulamaları, güvenlik açıklarına karşı tarama da dahil olmak üzere çeşitli amaçlarla tarar. Bu araçlar, iyi bilinen User-Agent ve diğer Üstbilgileri kullanır. Gözlem curl'ün bilinen bir User-Agent Üstbilgisi ile çalıştığını unutmayın:
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP -H "User-Agent: blackwidow"
Çıkış
HTTP/1.1 200 OK <...>
Protokol saldırısı izleme: HTTP bölme
Bazı web uygulamaları, yanıtlardaki üstbilgileri oluşturmak için kullanıcının girdilerini kullanır. Uygulama, girişi düzgün bir şekilde filtrelemezse bir saldırgan, giriş parametresini %0d%0a dizisiyle (farklı satırları ayırmak için kullanılan CRLF dizisi) zehirleyebilir. Bu durumda yanıt, onu ayrıştıran herhangi bir şey (örneğin, bir ara proxy sunucusu) tarafından iki yanıt olarak yorumlanabilir ve bunu takip eden isteklerde yanlış içerik sunma olasılığı vardır. Giriş parametresine %0d%0a dizisini ekleyin. Bu işlem, yanıltıcı bir sayfa sunulmasına yol açabilir.
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 sabitlemesini gözlemle
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ımlayın
Ö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ı varsayılan kuralını güncelleme
Varsayılan kural önceliğinin 2147483647 sayısal bir değere sahip 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 işlem reddiyle yapılandırıldığından IP'nizden erişime izin vermemiz gerekir. Lütfen herkese açık IP'nizi (curl, ipmonkey, whatismyip vb.) bulun.
Cloud Shell'den:
MY_IP=$(curl ifconfig.me)
IP'nizden erişim izni vermek için ilk kuralı ekleyin (IPINIZI 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"
Güvenlik politikasını LFI saldırılarını engelleyecek şekilde güncelleme
Yerel dosya dahil etme işlemleri için yol geçişini engelleyen 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üncelleyin
OWASP ModSecurity Core Rule Set'e göre, rce'yi arayan, komut yerleştirme dahil 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ı, güvenlik tarayıcılarını engelleyecek şekilde güncelleme
İyi bilinen güvenlik tarayıcılarını, HTTP istemcilerini ve web tarayıcılarını komut dosyası çalıştırmayı engellemek için OWASP ModSecurity Core Rule Set'i uygulayın.
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
Güvenlik politikasını protokol saldırılarını engelleyecek şekilde güncelleme
OWASP ModSecurity Core Rule Set'e göre Satır Dönüşü (CR) %0d ve Linefeed (LF) %0a karakterlerini ve diğer protokol saldırısı türlerini (ör. HTTP İstek Kaçaklığı) 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
Güvenlik politikasını oturum düzeltmeyi engellemek için güncelleme
OWASP ModSecurity Core Rule Set'e göre şu 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 yayılması biraz zaman alabilir (ancak 10 dakikadan fazla değil). Yeterli süre geçtiğinden emin olduktan sonra, sonraki adımda Cloud Armor WAF kurallarının zorunlu kılındığı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özlemleyin
LFI güvenlik açığının azaltıldığını onaylama
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/?a=../
Çıkış
HTTP/1.1 403 Forbidden <...>
RCE saldırısının hafifletildiğini onaylama
Cloud Shell'den
curl -Ii http://$PUBLIC_SVC_IP/ftp?doc=/bin/ls
Çıkış
HTTP/1.1 403 Forbidden <..>
İyi bilinen tarayıcı algılamasını onaylayın
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 hafifletildiğini onaylama
OWASP ModSecurity Core Rule Set sürüm 3.0.2 uyarınca protokol saldırısı,
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 düzeltme denemelerinin engellendiğini doğrulama
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ı İnceleyin
Güvenlik politikasını oluşturduğumuza göre şimdi tam olarak hangi kuralların yapılandırıldığına bakalım.
Kurallar önceliğe göre değerlendirilir: Önce düşük sayılar değerlendirilir ve tetiklendikten sonra daha yüksek öncelik değerlerine sahip kurallar işlenmeye devam etmez.
- Öncelik 9000 - LFI'ı engelle (yerel dosya dahil etme)
- Öncelik 9001 - RCE'yi engelle (uzaktan kod yürütme/komut yerleştirme)
- Öncelik 9002 - Engelleme Tarayıcıları Algılandı
- Öncelik 9003 - HTTP bölme ve HTTP kaçakçılığı gibi Protokol Saldırılarını Engelle
- Öncelik 9004 - Oturum Düzeltme Saldırılarını Engelleme
- Öncelik 10000 - IP'nizin Web Sitesine erişmesine izin verin
- Varsayılan Öncelikli - Reddet.
*"IP'nize izin verin" seçeneğine dikkat edin. kuralı, siteye erişim izni vermek için en yüksek öncelik sayısına göre yapılandırılır ancak herhangi bir saldırıyı engeller.
9. Cloud Armor güvenlik politikası günlüklerini inceleme
Cloud Armor Console sayfasında güvenlik politikasının ayrıntılarını görüntüleyebilir, ardından Logs
sekmesini ve ardından View policy logs
bağlantısını tıklayarak Cloud Logging sayfasına gidebilirsiniz. İlgili güvenlik politikasına göre otomatik olarak filtrelenir (ör. resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(block-with-modsec-crs)
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 önceden yapılandırılmış ifade kimliklerini (veya imza kimliğini) gözlemlemek için günlük ayrıntılarını genişletin. Aşağıdaki ekran görüntüleri, bu codelab'de yapılandırılan zorunlu güvenlik politikaları için günlüklerin örneklerini göstermektedir.
LFI günlüğü
RCE günlüğü
Tarayıcı algılama günlüğü
Protokol saldırı günlüğü
Oturum sabitleme günlüğü
10. Laboratuvar Temizliği
Laboratuvarı tamamladığınıza göre artık kaynakları temizleyin.
Cloud Armor güvenlik politikasını, Yük Dengeleyici'yi, ö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ı silindiğinde ilişkili kurallar otomatik olarak silinir.
gcloud -q compute security-policies delete block-with-modsec-crs
Yük dengeleyici kaynaklarını silme
Silinecek bu Yük Dengeleyici kaynakları; iletim kuralı, target-http-proxies, url-maps, arka uç, durum denetimleri ve örnek grubudur.
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!
Tebrikler! Cloud Armor'ın önceden yapılandırılmış WAF kuralları codelab'ini tamamladınız.
İşlediklerimiz
- Örnek grubu ve global Cloud yük dengeleyici oluşturma
- lfi, rce, tarayıcılar, protokol saldırıları ve oturum düzeltmeye 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'ın, günlükler aracılığıyla ilk 10 OWASP saldırısından bazılarını hafiflettiğini doğrulama
Sonraki adımlar
- Cloud Armor Önceden Yapılandırılmış WAF kurallarıyla uygulamanızı OWASP'a göre ilk 10 güvenlik açığına karşı koruyun
- Hassaslık düzeylerine göre kurallarda ince ayar yapın
- Daha ayrıntılı güvenlik uygulaması için özel kurallar dil referansını kullanın.