bg-tutorials

Google Cloud Platform’a SSL Sertifikası Nasıl Yüklenir

Bu eğitimde, Certificate Manager kullanarak Google Cloud Platform’a nasıl SSL sertifikası kurulacağını anlatıyoruz. Ayrıca Google Cloud için CSR (Certificate Signing Request) oluşturmayı ve sertifikayı bir HTTPS yük dengeleyicisine (load balancer) nasıl dağıtacağınızı da öğreneceksiniz.

Google Cloud Platform’da CSR Kodu Oluşturma

CSR kodu olmadan SSL sertifikası sipariş edemezsiniz. CSR, Certificate Signing Request’in kısaltmasıdır ve başvuru sahibinin bilgilerini içeren şifrelenmiş bir metin bloğudur. Sertifika Yetkilisi (Certificate Authority), sertifikayı vermeden önce domaininizi ve kurumunuzu doğrulamak için CSR’yi kullanır.

Google Cloud’da sizin için otomatik olarak CSR oluşturan yerleşik bir form bulunmaz, dolayısıyla CSR’yi ve özel anahtarını kendi makinenizde OpenSSL ile oluşturursunuz. İki seçeneğiniz vardır:

Özel anahtarı güvenli bir şekilde saklayın. Sertifikayı Certificate Manager’a yüklerken buna tekrar ihtiyacınız olacak. Siparişiniz sırasında CSR’yi Sertifika Yetkilisi’ne gönderin ve sertifika verildiğinde aşağıdaki kurulum adımlarıyla devam edin.

Google Cloud Platform’a SSL Sertifikası Kurma

Google Cloud’da, üçüncü taraf (kendi tarafınızdan sağlanan) bir sertifika self-managed certificate (kendi yönettiğiniz sertifika) olarak adlandırılır. Bu sertifikayı Certificate Manager’a yükler, ardından bir HTTPS yük dengeleyicisine dağıtırsınız. Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Sertifika Yetkilisi’nden aldığınız imzalı sertifika dosyaları.
  • CSR ile birlikte oluşturduğunuz özel anahtar.
  • Google Cloud Console’a ve gcloud CLI’ye erişim.
  • Domaininize hizmet veren mevcut bir HTTPS yük dengeleyicisi (bir hedef HTTPS proxy’si içeren harici bir Uygulama Yük Dengeleyicisi). Sertifika bu yük dengeleyiciye eklenir.

Adım 1: Sertifika Dosyalarınızı Hazırlayın

Sertifika Yetkilisi talebinizi onayladıktan sonra size bir ZIP arşivi e-postayla gönderir. Bunu açın ve şunları arayın:

  • yourdomain.crt, sunucu sertifikanız.
  • yourdomain.ca-bundle, ara sertifikalar.
  • yourdomain.key, CSR ile birlikte oluşturduğunuz özel anahtar.

Adım 2: Sertifikayı ve Zinciri Birleştirin

Certificate Manager, önce sunucu sertifikanızı, ardından bu sıraya uygun olarak ara sertifikaları içeren tek bir PEM dosyası bekler. Dosyalarınızın saklandığı klasörde bir terminal açın ve şunu çalıştırın:

cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt

Bu işlem, sertifikanızı ve ara zinciri doğru sırayla içeren bir PEM formatlı dosya oluşturur. Sertifika dosyası —–BEGIN CERTIFICATE—– ile başlamalı ve —–END CERTIFICATE—– ile bitmelidir.

Şimdi özel anahtarı kontrol edin. Certificate Manager’ın gereksinimleri şunlardır:

  • PEM formatlı ve şifrelenmemiş (parola korumasız) olmalıdır.
  • PKCS#8 biçiminde olmalıdır, yani —–BEGIN RSA PRIVATE KEY—– değil, —–BEGIN PRIVATE KEY—– ile başlamalıdır.
  • RSA (2048, 3072 veya 4096 bit) veya ECDSA (P-256 veya P-384) olmalıdır.

Anahtarınız —–BEGIN RSA PRIVATE KEY—– (PKCS#1) ile başlıyorsa, Certificate Manager’ın kabul ettiği PKCS#8 biçimine dönüştürün:

openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key

Aşağıdaki yükleme adımlarında elde ettiğiniz yourdomain_pkcs8.key dosyasını kullanın. Anahtarınız parola korumalıysa, bu komut sizden parolayı ister ve şifrelenmemiş bir kopya oluşturur.

Adım 3: Sertifikayı Certificate Manager’a Yükleyin

Kendi yönettiğiniz sertifikayı Console üzerinden veya gcloud ile yükleyebilirsiniz. Hangisini tercih ederseniz edin, sonuç aynı Certificate Manager kaynağı olur.

Seçenek A, Google Cloud Console:

  1. Google Cloud Console‘a giriş yapın ve projenizi seçin.
  2. Network Security alanındaki Security bölümünün altından Certificate Manager‘ı açın, ardından Certificates sekmesini seçin.
  3. Add Certificate seçeneğini seçin.
  4. Sertifikaya bir ad verin, ardından Certificate type için Create self-managed certificate seçeneğini seçin.
  5. Location için, genel (global) bir yük dengeleyici için Scope olarak Default seçeneği ile Global‘ı seçin, ya da bölgesel bir yük dengeleyici için Regional‘ı ve bölgenizi seçin.
  6. Sertifika olarak fullchain.crt dosyasını, özel anahtar olarak da PKCS#8 özel anahtarınızı yükleyin, ardından Create seçeneğini seçin.

Seçenek B, gcloud CLI: aynı sertifikayı tek bir komutla oluşturun. MY_CERT yerine kendi seçtiğiniz bir adı yazın:

gcloud certificate-manager certificates create MY_CERT 
  --certificate-file=fullchain.crt 
  --private-key-file=yourdomain_pkcs8.key

Her iki durumda da sertifika artık Certificate Manager’da bulunur, ancak henüz herhangi bir trafiğe bağlı değildir. Bir sonraki adım bunu dağıtır.

Adım 4: Sertifikayı Yük Dengeleyicinize Dağıtın

Certificate Manager, bir sertifikayı certificate map (sertifika haritası) aracılığıyla dağıtır. Bir harita oluşturur, bir hostname’i sertifikanıza yönlendiren bir giriş eklersiniz, ardından haritayı yük dengeleyicinizin hedef HTTPS proxy’sine eklersiniz. Bu komutları gcloud ile çalıştırın.

Bir sertifika haritası oluşturun:

gcloud certificate-manager maps create MY_MAP

Hostname’iniz için bir harita girişi ekleyin. MY_CERT yerine yüklediğiniz sertifika adını, yourdomain.com yerine de güvenliğini sağlamak istediğiniz domaini yazın:

gcloud certificate-manager maps entries create my-entry 
  --map=MY_MAP 
  --certificates=MY_CERT 
  --hostname=yourdomain.com

Haritayı mevcut hedef HTTPS proxy’nize ekleyin. MY_PROXY yerine yük dengeleyicinizin önünde bulunan proxy’nin adını yazın:

gcloud compute target-https-proxies update MY_PROXY 
  --certificate-map=MY_MAP 
  --global

Yük dengeleyiciniz bölgeselse --global bayrağını kaldırın ve --region=YOUR_REGION ekleyin. Yük dengeleyici artık bu hostname’e gelen HTTPS trafiği için sertifikanızı sunar. Sertifika değişikliklerinin yük dengeleyici genelinde yayılması birkaç dakika sürebilir.

SSL Kurulumunuzu Test Edin

Sertifikayı dağıttıktan sonra, yük dengeleyicinin sertifikayı doğru şekilde sunduğunu ve zincirin tam olduğunu doğrulayın. OpenSSL yüklü herhangi bir makineden domaininize bağlanın ve döndürdüğü sertifikayı okuyun:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates

Bu komut, şu anda kullanılan sertifikanın verenini (issuer), konusunu (subject) ve geçerlilik tarihlerini yazdırır. Sertifika ve yapılandırması hakkında zincir ve protokol kontrolleri dahil ayrıntılı bir rapor almak için domaininizi SSL Checker aracımızdan geçirin veya siteyi bir tarayıcıda açıp kilit simgesini kontrol edin.

Sıkça Sorulan Sorular

CSR’yi doğrudan Google Cloud’da oluşturabilir miyim?

Hayır. Google Cloud’da, kendi yönettiğiniz bir sertifika için CSR veya özel anahtar oluşturan bir console formu bulunmaz. CSR’yi ve anahtarı kendi makinenizde OpenSSL ile (veya CSR Generator aracımızla) oluşturur, sertifikayı sipariş eder, ardından verilen sertifikayı ve özel anahtarı Certificate Manager’a yüklersiniz.

Self-managed ve Google-managed sertifika arasındaki fark nedir?

Self-managed (kendi yönettiğiniz) sertifika, bir Sertifika Yetkilisi’nden temin ettiğiniz ve kendiniz yüklediğiniz bir sertifikadır ve yenilenmesinden siz sorumlusunuzdur. Google-managed (Google tarafından yönetilen) sertifika ise Google tarafından otomatik olarak sağlanır ve yenilenir. Bu eğitim, SSL Dragon’dan satın alınan ücretli bir sertifika için kullanacağınız yol olan self-managed sertifikaları ele almaktadır.

Certificate Manager özel anahtarımı neden reddediyor?

En yaygın neden anahtar formatıdır. Certificate Manager, —–BEGIN PRIVATE KEY—– ile başlayan şifrelenmemiş bir PKCS#8 anahtarı gerektirir. Anahtarınız —–BEGIN RSA PRIVATE KEY—– ile başlıyorsa veya parola korumalıysa, bunu openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key komutuyla dönüştürün ve dönüştürülmüş dosyayı yükleyin.

Sertifikayı yükledim ama site hala “güvenli değil” gösteriyor. Neden?

Bir sertifikayı Certificate Manager’a yüklemek onu yalnızca depolar. Onu dağıtmadığınız sürece trafiğe hizmet vermez. Bir sertifika haritası oluşturun, hostname’iniz için bir harita girişi ekleyin ve haritayı yük dengeleyicinizin hedef HTTPS proxy’sine ekleyin (Adım 4). Harita eklenene kadar, yük dengeleyici sertifikanızı sunmaz.

Sertifika dosyası hangi sırada olmalıdır?

Sunucu (leaf) sertifikanız önce, ardından ara sertifikalar tek bir PEM dosyasında yer alır. cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt komutu bu sırayı oluşturur. Eksik veya sıralaması yanlış bir zincir, tarayıcıların ve SSL denetleyicilerinin eksik bir sertifika yolu bildirmesinin sık görülen bir nedenidir.

Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!

Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.