1. Giriş
Google Cloud HTTP(S) yük dengeleme işlemi, Google'ın dünya çapındaki varlık noktalarında (POP) yer alan ağının ucunda dağıtılır. HTTP(S) yük dengeleyiciye yönlendirilen kullanıcı trafiği, kullanıcıya en yakın varlık noktasına girer, ardından Google'ın global ağı üzerinden yeterli kapasiteye sahip en yakın arka uca doğru yük dengelemesi yapılır.
Cloud Armor, Google'ın dağıtılmış hizmet reddi ve web uygulaması güvenlik duvarı (WAF) algılama sistemidir. Cloud Armor, Google Cloud HTTP yük dengeleyici ile sıkı bir şekilde bağlantılıdır ve Google Cloud müşterilerinin uygulamalarını internetten gelen saldırılara karşı korur. reCAPTCHA Enterprise, insanları ve botları birbirinden ayırmak için gelişmiş risk analizi tekniklerini kullanan mevcut reCAPTCHA API'si üzerine inşa edilmiş, sitenizi spam ve kötüye kullanımdan koruyan bir hizmettir. Cloud Armor Bot Management, reCAPTCHA Enterprise bot algılama ve puanlama özelliklerini, ağın kenarında Cloud Armor tarafından uygulanan yaptırımlarla entegre ederek uçtan uca bir çözüm sunar. Bu çözüm, aşağı akış uygulamalarını korur.
Bu laboratuvarda, aşağıdaki şemada gösterildiği gibi arka uca sahip bir HTTP yük dengeleyici yapılandıracaksınız. Ardından, reCAPTCHA oturum jetonu site anahtarını ayarlamayı ve web sitenize yerleştirmeyi öğreneceksiniz. Ayrıca, reCAPTCHA Enterprise manuel testine yönlendirmeyi ayarlamayı da öğreneceksiniz. Ardından, bot algılamanın uygulamanızı kötü amaçlı bot trafiğinden nasıl koruduğunu göstermek için bir Cloud Armor bot yönetimi politikası yapılandıracağız.

Neler öğreneceksiniz?
- Uygun durum denetimleriyle HTTP yük dengeleyiciyi ayarlama
- reCAPTCHA WAF testi sayfası site anahtarı oluşturma ve bunu Cloud Armor güvenlik politikasıyla ilişkilendirme
- reCAPTCHA oturum jetonu site anahtarı oluşturma ve web sayfalarınıza yükleme
- Cloud Armor bot yönetimi politikası oluşturma
- Bot yönetimi politikasının, yapılandırılan kurallara göre trafiği işlediğini doğrulama
Gerekenler
- Temel ağ iletişimi ve HTTP bilgisi
- Temel düzeyde Unix/Linux komut satırı bilgisi
2. Kurulum ve Gereksinimler
Yönlendirmesiz ortam kurulumu
- Google 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 adı, bu projenin katılımcıları için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizisidir ve istediğiniz zaman güncelleyebilirsiniz.
- Proje kimliği, tüm Google Cloud projelerinde benzersiz olmalı ve sabittir (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dizeyi otomatik olarak oluşturur. Genellikle bu dizenin ne olduğuyla ilgilenmezsiniz. Çoğu codelab'de proje kimliğine (genellikle
PROJECT_IDolarak tanımlanır) başvurmanız gerekir. Bu nedenle, beğenmezseniz başka bir rastgele kimlik oluşturabilir veya kendi kimliğinizi deneyip kullanılabilir olup olmadığını görebilirsiniz. Proje oluşturulduktan sonra bu değer "dondurulur". - Bazı API'lerin kullandığı üçüncü bir değer olan Proje Numarası da vardır. Bu üç değer hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
- Ardından, Cloud kaynaklarını/API'lerini 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ı kapatmak üzere codelab'in sonunda bulunan "temizleme" talimatlarını uygulayın. 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 gcloud services enable recaptchaenterprise.googleapis.com
3. Arka uçlara HTTP ve SSH trafiğine izin verecek şekilde güvenlik duvarı kurallarını yapılandırma
Google Cloud durum denetimlerinden ve yük dengeleyiciden arka uçlara giden HTTP trafiğine izin vermek için güvenlik duvarı kurallarını yapılandırın. Ayrıca, örneklerde SSH'ye izin vermek için bir güvenlik duvarı kuralı yapılandırın.
Projenizde oluşturulan varsayılan VPC ağı kullanılacaktır. Arka uçlara giden HTTP trafiğine izin vermek için bir güvenlik duvarı kuralı oluşturun. Durum denetimleri, yük dengeleyicinin hangi örneklerinin yeni bağlantılar alabileceğini belirler. Durum denetimi, HTTP yük dengeleme için 130.211.0.0/22 ve 35.191.0.0/16 aralığındaki adreslerden gelen yük dengeli örneklerinizde durum kontrolü yapar. VPC güvenlik duvarı kurallarınız bu bağlantılara izin vermelidir. Ayrıca, yük dengeleyiciler arka uçla aynı IP aralığında iletişim kurar.
- Cloud Console'da Gezinme menüsü (
) > VPC ağı > Güvenlik duvarı'na gidin.

- Mevcut ICMP, internal (dahili), RDP ve SSH güvenlik duvarı kurallarını görürsünüz.Her Google Cloud projesi default (varsayılan) ağ ve bu güvenlik duvarı kurallarıyla başlar.
- Güvenlik Duvarı Kuralı Oluştur'u tıklayın.
- Aşağıdaki değerleri ayarlayın ve diğer tüm değerleri varsayılan haliyle bırakın:
Özellik | Değer (değeri yazın veya belirtilen seçeneği belirleyin) |
Name (Ad) | default-allow-health-check |
Network (Ağ) | default |
Targets (Hedefler) | Specified target tags (Belirtilen hedef etiketler) |
Hedef etiketler | allow-health-check |
Kaynak filtresi | IP Aralıkları |
Kaynak IP aralıkları | 130.211.0.0/22, 35.191.0.0/16 |
Protokoller ve bağlantı noktaları | Protokolleri ve bağlantı noktalarını belirtin, ardından TCP'yi işaretleyin. Bağlantı noktası numarası olarak 80 yazın. |
- Oluştur'u tıklayın.
Alternatif olarak, gcloud komut satırını kullanıyorsanız. Komut aşağıda verilmiştir:
gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check
- Benzer şekilde, örneklere SSH uygulamaya izin vermek için bir güvenlik duvarı kuralı oluşturun:
gcloud compute firewall-rules create allow-ssh --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0 --target-tags=allow-health-check
4. Örnek şablonlarını yapılandırma ve yönetilen örnek grupları oluşturma
Yönetilen örnek grupları, aynı örnekleri içeren bir grup oluşturmak için örnek şablonlarını kullanır. HTTP yük dengeleyicinin arka ucunu oluşturmak için bunları kullanın.
Örnek şablonlarını yapılandırma
Örnek şablonları, sanal makine örnekleri ve yönetilen örnek grupları oluşturmak için kullanabileceğiniz kaynaklardır. Bu şablonlar makine türünü, önyükleme diski görüntüsünü, alt ağı, etiketleri ve diğer örnek özelliklerini tanımlar. Aşağıda belirtildiği gibi bir örnek şablonu oluşturun.
- Cloud Console'da Gezinme menüsü (
) > Compute Engine > Örnek şablonları'na gidip Örnek şablonu oluştur'u tıklayın. - Name (Ad) için lb-backend-template yazın.
- Seri için N1'i seçin.
- Ağ iletişimi, Diskler, Güvenlik, Yönetim , Tek Kiracılı'yı tıklayın.

- Yönetim bölümüne gidin ve aşağıdaki komut dosyasını Başlangıç komut dosyası alanına ekleyin.
#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" sudo echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html
- Networking (Ağ iletişimi) sekmesini tıklayın ve ağ etiketlerini ekleyin: allow-health-check
- Şu değerleri ayarlayın ve diğer tüm değerleri varsayılan ayarlarında bırakın:
Özellik | Değer (değeri yazın veya belirtilen seçeneği belirleyin) |
Ağ (Ağ Arayüzleri altında) | varsayılan |
Alt ağ (Ağ arayüzleri altında) | default (us-east1) |
Ağ etiketleri | allow-health-check |
- Oluştur'u tıklayın.
- Örnek şablonunun oluşturulmasını bekleyin.
Yönetilen örnek grubunu oluşturma
- Compute Engine sayfasında, soldaki menüden Instance groups'u (Örnek grupları) tıklayın.

- Create instance group'u (Örnek grubu oluştur) tıklayın. Yeni yönetilen örnek grubu (durum bilgisiz) seçeneğini belirleyin.
- Aşağıdaki değerleri ayarlayın, diğer tüm değerleri varsayılan haliyle bırakın:
Özellik | Değer (değeri yazın veya belirtilen seçeneği belirleyin) |
Ad | lb-backend-example |
Konum | Tek alt bölge |
Bölge | us-east1 |
Alt Bölge | us-east1-b |
Örnek şablonu | lb-backend-template |
Otomatik ölçeklendirme | Otomatik ölçeklendirme yapma |
Örnek sayısı | 1 |
- Oluştur'u tıklayın.
Örnek grubuna adlandırılmış bir bağlantı noktası ekleme
Örnek grubunuz için bir HTTP hizmeti tanımlayın ve bağlantı noktası adını ilgili bağlantı noktasıyla eşleyin. Yük dengeleme hizmeti, trafiği adlandırılmış bağlantı noktasına yönlendirir.
gcloud compute instance-groups set-named-ports lb-backend-example \
--named-ports http:80 \
--zone us-east1-b
5. HTTP yük dengeleyiciyi yapılandırma
HTTP yük dengeleyiciyi, trafiği arka ucunuza (lb-backend-example:) gönderecek şekilde yapılandırın.
Yapılandırmayı başlatma
- Cloud Console'da Gezinme menüsü (
) > �Network Services (Ağ Hizmetleri) > �Load balancing'i (Yük dengeleme), ardından �Create load balancer'ı (Yük dengeleyici oluştur) tıklayın. - HTTP(S) Yük Dengeleme bölümünde Yapılandırmayı başlat'ı tıklayın.

- İnternetten sanal makinelerime, Klasik HTTP(S) yük dengeleyici'yi seçip Devam'ı tıklayın.
- Ad'ı http-lb olarak ayarlayın.
Arka ucu yapılandırma
Arka uç hizmetleri, gelen trafiği bir veya daha fazla ekli arka uca yönlendirir. Her arka uç, bir örnek grubundan ve ek sunum kapasitesi meta verisinden oluşur.
- Backend configuration'ı (Arka uç yapılandırması) tıklayın.
- Backend services & backend buckets (Arka uç hizmetleri ve arka uç paketleri) için Create a backend service'i (Arka uç hizmeti oluştur) tıklayın.
- Aşağıdaki değerleri ayarlayın ve diğer tüm değerleri varsayılan haliyle bırakın:
Özellik | Değer (belirtilen seçeneği belirleyin) |
Name (Ad) | http-backend |
Protokol | HTTP |
Adlandırılmış bağlantı noktası | htp |
Örnek grubu | lb-backend-example |
Bağlantı noktası numaraları | 80 |
- Bitti'yi tıklayın.
- Arka uç ekle'yi tıklayın.
- Durum Denetimi için Durum denetimi oluştur'u seçin.

- Aşağıdaki değerleri ayarlayın, diğer tüm değerleri varsayılan haliyle bırakın:
Özellik | Değer (belirtilen seçeneği belirleyin) |
Name (Ad) | http-health-check |
Protocol (Protokol) | TCP |
Port (Bağlantı noktası) | 80 |

- Kaydet'i tıklayın.
- Enable Logging (Günlük kaydını etkinleştir) kutusunu işaretleyin.
- Örnek hızını 1 olarak ayarlayın:

- Arka uç hizmetini oluşturmak için Create'i (Oluştur) tıklayın.

Ön ucu yapılandırma
Ana makine ve yol kuralları, trafiğinizin nasıl yönlendirileceğini belirler. Örneğin, video trafiğini bir arka uca, statik trafiği ise başka bir arka uca yönlendirebilirsiniz. Ancak bu laboratuvarda ana makine ve yol kurallarını yapılandırmayacaksınız.
- Frontend configuration'ı (Ön uç yapılandırması) tıklayın.
- Aşağıdakileri ayarlayın ve diğer tüm değerleri varsayılan haliyle bırakın:
Özellik | Değer (değeri yazın veya belirtilen seçeneği belirleyin) |
Protocol (Protokol) | HTTP |
IP version (IP sürümü) | IPv4 |
IP address (IP adresi) | Ephemeral (Geçici) |
Port (Bağlantı noktası) | 80 |
- Bitti'yi tıklayın.
HTTP Yük Dengeleyiciyi inceleme ve oluşturma
- İnceleme ve sonlandırma'yı tıklayın.

- Arka uç hizmetleri ve Ön uç'u inceleyin.
- Oluştur'u tıklayın.
- Yük dengeleyicinin oluşturulmasını bekleyin.
- Yük dengeleyicinin adını (http-lb) tıklayın.
- Sonraki görev için yük dengeleyicinin IPv4 adresini not edin. Bu adres [LB_IP_v4] olarak anılacaktır.
6. HTTP yük dengeleyiciyi test etme
Arka uçlarınız için HTTP yük dengeleyici oluşturduğunuza göre trafiğin arka uç hizmetine yönlendirildiğini doğrulayın. HTTP yük dengeleyiciye IPv4 erişimini test etmek için tarayıcınızda yeni bir sekme açıp http://[LB_IP_v4] adresine gidin. [LB_IP_v4] ifadesinin yerine yük dengeleyicinin IPv4 adresini yazmayı unutmayın.
7. reCAPTCHA oturum jetonu ve sorgu sayfası site anahtarı oluşturma ve dağıtma
WAF ve Google Cloud Armor entegrasyonu için reCAPTCHA Enterprise aşağıdaki özellikleri sunar: reCAPTCHA doğrulama sayfası, reCAPTCHA işlem jetonları ve reCAPTCHA oturum jetonları. Bu kod laboratuvarında, reCAPTCHA oturum jetonu site anahtarını ve reCAPTCHA WAF test sayfası sitesini uygulayacağız.
reCAPTCHA oturum jetonu ve WAF doğrulama sayfası site anahtarı oluşturma
Oturum jetonu site anahtarı ve sorgu sayfası site anahtarı oluşturmadan önce, başlangıçtaki "API'yi etkinleştirme" bölümünde belirtildiği gibi reCAPTCHA Enterprise API'yi etkinleştirdiğinizden emin olun.
reCAPTCHA JavaScript, değerlendirmeden sonra son kullanıcının tarayıcısında çerez olarak bir reCAPTCHA oturum jetonu ayarlar. Son kullanıcının tarayıcısı, reCAPTCHA JavaScript'i etkin kaldığı sürece çerezi ekler ve yeniler.
- reCAPTCHA oturum jetonu site anahtarını oluşturun ve anahtar için WAF özelliğini etkinleştirin. Cloud Armor entegrasyonunu etkinleştirmek için WAF hizmetini Cloud Armor olarak da ayarlayacağız.
gcloud recaptcha keys create --display-name=test-key-name \ --web --allow-all-domains --integration-type=score --testing-score=0.5 \ --waf-feature=session-token --waf-service=ca
- Yukarıdaki komutun çıktısı, oluşturulan anahtarı verir. Bir sonraki adımda web sitenize ekleyeceğimiz için bu kodu not edin.
- reCAPTCHA WAF test sayfası site anahtarını oluşturun ve anahtar için WAF özelliğini etkinleştirin. Gelen istekleri reCAPTCHA Enterprise'a yönlendirerek her isteğin sahtekarlık amaçlı veya meşru olup olmadığını belirlemek için reCAPTCHA doğrulama sayfası özelliğini kullanabilirsiniz. Daha sonra manuel sorguyu etkinleştirmek için bu anahtarı Cloud Armor güvenlik politikasıyla ilişkilendireceğiz. Bu anahtara sonraki adımlarda CHALLENGE-PAGE-KEY olarak atıfta bulunacağız.
gcloud recaptcha keys create --display-name=challenge-page-key \ --web --allow-all-domains --integration-type=INVISIBLE \ --waf-feature=challenge-page --waf-service=ca
- Gezinme menüsü (
) > Güvenlik > reCAPTCHA Enterprise'a gidin. Oluşturduğunuz anahtarları Kurumsal Anahtarlar bölümünde görürsünüz.

reCAPTCHA oturum jetonu site anahtarını uygulama
- Gezinme menüsü (
) > Compute Engine > Sanal Makine Örnekleri'ne gidin. Örnek grubunuzda sanal makineyi bulun ve sanal makineye SSH uygulayın.

- Web sunucusu kök dizinine gidin ve kullanıcıyı kök olarak değiştirin:
@lb-backend-example-4wmn:~$ cd /var/www/html/ @lb-backend-example-4wmn:/var/www/html$ sudo su
- İndex.html açılış sayfasını güncelleyin ve reCAPTCHA oturum jetonu site anahtarını yerleştirin. Oturum jetonu site anahtarı, açılış sayfanızın head bölümünde aşağıdaki gibi ayarlanır:
<script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script>
index.html dosyasını aşağıda belirtildiği gibi güncellemeden önce jetonu değiştirmeyi unutmayın:
root@lb-backend-example-4wmn:/var/www/html# echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script></head><body><h1>Main Page</h1><p><a href="/good-score.html">Visit allowed link</a></p><p><a href="/bad-score.html">Visit blocked link</a></p><p><a href="/median-score.html">Visit redirect link</a></p></body></html>' > index.html
- Bot yönetimi politikalarını test etmek için üç örnek sayfa daha oluşturun:
- good-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Congrats! You have a good score!!</h1></body></html>' > good-score.html
- bad-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Sorry, You have a bad score!</h1></body></html>' > bad-score.html
- median-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>You have a median score that we need a second verification.</h1></body></html>' > median-score.html
- Web sayfalarını tarayıcınızda açarak tüm web sayfalarına erişebildiğinizi doğrulayın. [LB_IP_v4] ifadesinin yerine yük dengeleyicinin IPv4 adresini yazmayı unutmayın.
- http://[LB_IP_v4]/index.html adresini açın. Sayfanın sağ alt köşesinde "reCAPTCHA ile korunuyor" ifadesini gördüğünüzde reCAPTCHA uygulamasının çalıştığını doğrulayabilirsiniz.

- Bağlantıların her birini tıklayın.

- Tüm sayfalara erişebildiğinizi doğrulayın.

8. Bot Yönetimi için Cloud Armor güvenlik politikası kuralları oluşturma
Bu bölümde, reCAPTCHA puanına göre istekleri izin verme, reddetme ve yönlendirme için Cloud Armor bot yönetimi kurallarını kullanacaksınız. Oturum jetonu site anahtarını oluştururken test puanını 0, 5 olarak ayarladığınızı unutmayın.
- Cloud Shell'de(Cloud Shell'i kullanmayla ilgili talimatlar için "Kurulum ve Gereksinimler" bölümündeki "Cloud Shell'i başlatma" başlıklı makaleye bakın) gcloud aracılığıyla güvenlik politikası oluşturun:
gcloud compute security-policies create recaptcha-policy \
--description "policy for bot management"
- İnsan ve otomatik istemciler arasında ayrım yapmak için reCAPTCHA Enterprise manuel sorgusunu kullanmak üzere manuel sorgu için oluşturduğumuz reCAPTCHA WAF sorgu site anahtarını güvenlik politikasıyla ilişkilendirin. "CHALLENGE-PAGE-KEY"yi oluşturduğumuz anahtarla değiştirin:
gcloud compute security-policies update recaptcha-policy \ --recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
- URL yolu good-score.html ile eşleşiyorsa ve puanı 0,4'ten yüksekse trafiğe izin vermek için bir bot yönetimi kuralı ekleyin.
gcloud compute security-policies rules create 2000 \
--security-policy recaptcha-policy\
--expression "request.path.matches('good-score.html') && token.recaptcha_session.score > 0.4"\
--action allow
- URL yolu bad-score.html ile eşleşiyorsa ve puanı 0,6'dan düşükse trafiği reddetmek için bir bot yönetimi kuralı ekleyin.
gcloud compute security-policies rules create 3000 \
--security-policy recaptcha-policy\
--expression "request.path.matches('bad-score.html') && token.recaptcha_session.score < 0.6"\
--action "deny-403"
- URL yolu median-score.html ile eşleşiyorsa ve puanı 0,5'e eşitse trafiği Google reCAPTCHA'ya yönlendirmek için bir bot yönetimi kuralı ekleyin.
gcloud compute security-policies rules create 1000 \
--security-policy recaptcha-policy\
--expression "request.path.matches('median-score.html') && token.recaptcha_session.score == 0.5"\
--action redirect \
--redirect-type google-recaptcha
- Güvenlik politikasını http-backend arka uç hizmetine ekleyin:
gcloud compute backend-services update http-backend \
--security-policy recaptcha-policy –-global
- Console'da Gezinme menüsü > Ağ Güvenliği > Cloud Armor'a gidin.
- recaptcha-policy dosyasını tıklayın. Politikanız aşağıdaki gibi olmalıdır:

9. Cloud Armor ile Bot Yönetimi'ni doğrulama
- Bir tarayıcı açıp http://[LB_IP_v4]/index.html URL'sini girin. "Ziyaret izni bağlantısı"na gidin. İlerlemeye devam edebilirsiniz.

- Yeni bir oturum oluşturmak için gizli modda yeni bir pencere açın. http://[LB_IP_v4]/index.html URL'sini girin ve "Engellenen bağlantıyı ziyaret et"e gidin. HTTP 403 hatası almanız gerekir:

- Yeni bir oturum oluşturmak için gizli modda yeni bir pencere açın. http://[LB_IP_v4]/index.html URL'sini girin ve "Yönlendirme bağlantısını ziyaret et"e gidin. Google reCAPTCHA'ya yönlendirme ve manuel soru sayfasını aşağıdaki gibi görmeniz gerekir:

Cloud Armor günlüklerini doğrulama
Bot yönetiminin beklendiği gibi çalıştığını doğrulamak için güvenlik politikası günlüklerini inceleyin.
- Konsol'da Gezinme menüsü > Ağ Güvenliği > Cloud Armor'a gidin.
- recaptcha-policy. dosyasını tıklayın.
- Logs'u (Günlükler) tıklayın.

- View policy logs'u (Politika günlüklerini görüntüle) tıklayın.
- Aşağıda MQL(izleme sorgu dili) sorgusu verilmiştir. Bu sorguyu kopyalayıp sorgu düzenleyiciye yapıştırabilirsiniz:
resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(recaptcha-policy)
- Şimdi Run Query'yi (Sorgu Çalıştır) tıklayın.
- Sorgu sonuçlarında, isteğin http://[LB_IP_v4]/good-score.html için olduğu bir günlük girişi bulun. jsonPayload'u genişletin.enforcedSecurityPolicy'yi genişletin.

- Aynı işlemi http://[LB_IP_v4]/bad-score.html ve http://[LB_IP_v4]/median-score.html için de tekrarlayın.


configuredAction'ın recaptcha-policy adıyla ALLOW, DENY veya GOOGLE_RECAPTCHA olarak ayarlandığını göreceksiniz.
Tebrikler! Cloud Armor ile Bot Yönetimi laboratuvarını tamamladınız.
©2020 Google LLC Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.
10. Laboratuvar temizliği
- Network Security >> Cloud Armor >> %POLICY NAME%'e (Ağ Güvenliği >> Cloud Armor >> %POLICY NAME%) gidin ve sil'i seçin.

- Networking >> Network services >> Load Balancing'e (Ağ iletişimi >> Ağ hizmetleri >> Yük dengeleme) gidin. Oluşturduğunuz yük dengeleyiciyi seçin ve sil'i tıklayın.

Silinecek ek kaynaklar olarak arka uç hizmetini ve durum denetimini seçin:

- Gezinme menüsü (
) > Compute Engine > Örnek Grupları'na gidin. Yönetilen örnek grubunu seçin ve sil'i tıklayın:

Metin kutusuna "delete" (sil) yazarak silme işlemini onaylayın.
Yönetilen örnek grubunun silinmesini bekleyin. Bu işlem, gruptaki örneği de siler. Şablonları yalnızca örnek grubu silindikten sonra silebilirsiniz.
- Sol taraftaki bölmeden Örnek şablonları'na gidin**.** Örnek şablonu seçin ve sil'i tıklayın.
- Gezinme menüsü (
) > VPC ağı > Güvenlik duvarı'na gidin. default-allow-health-check ve allow-ssh kurallarını seçip Sil'i tıklayın. - Gezinme menüsü (
) > Güvenlik > reCAPTCHA Enterprise'a gidin. Oluşturduğumuz anahtarları seçip silin. Metin kutusuna "DELETE" yazarak silme işlemini onaylayın.

11. Tebrikler!
Cloud Armor ile bot yönetimini başarıyla uyguladınız. Bir HTTP yük dengeleyici yapılandırdınız. Ardından, bir web sayfasında reCAPTCHA oturum jetonu site anahtarı oluşturup uyguladınız. Ayrıca, zorluk sayfası site anahtarı oluşturmayı da öğrendiniz. Cloud Armor bot yönetimi politikası oluşturup kurallara göre istekleri nasıl işlediğini doğruladınız. Trafiğe neden izin verildiğini, trafiğin neden engellendiğini veya yönlendirildiğini tespit etmek için güvenlik politikası günlüklerini incelediniz.
İşlediğimiz konular
- Örnek şablonlarını ayarlama ve yönetilen örnek grupları oluşturma
- HTTP yük dengeleyiciyi ayarlama
- Cloud Armor bot yönetimi politikası oluşturma
- reCAPTCHA oturum jetonu site anahtarı oluşturma ve uygulama
- reCAPTCHA doğrulama sayfası site anahtarı oluşturma ve uygulama
- Bot Yönetimi Politikası'nın amaçlandığı gibi çalıştığını doğrulama
Sonraki adımlar
- reCAPTCHA işlem jetonlarını ayarlamayı deneyin.