Bu eğitimde, AWS’de (Amazon Web Services) SSL sertifikası kurulumunu öğreneceksiniz. AWS’de sertifikayı Apache veya Nginx’te yaptığınız gibi tek bir sunucuya kurmazsınız. Bunun yerine, sertifikayı bir sertifika deposuna bir kez içe aktarır, ardından TLS bağlantısını sizin için sonlandıran yönetilen bir hizmete (bir yük dengeleyici, CloudFront veya API Gateway) eklersiniz. Bu kılavuz, AWS Certificate Manager (ACM), eski IAM sertifika deposu ve Elastic Load Balancing (ELB) konularını kapsar.
Kurulumdan önce, bir Sertifika İmzalama Talebi (CSR) oluşturmanız ve onay için Sertifika Yetkilisine göndermeniz gerekir. Bu adımı henüz tamamlamadıysanız, bu eğitimin ilk bölümünden başlayın. SSL sertifika dosyalarınız zaten varsa, doğrudan aşağıdaki kurulum kılavuzuna geçin.
AWS’de CSR kodu nasıl oluşturulur
SSL sertifikası için başvururken atılması gereken önemli adımlardan biri, CSR kodunu SSL sağlayıcınıza, yani Sertifika Yetkilisine göndermektir. CSR, alan adınız ve kuruluşunuz hakkında kodlanmış bilgiler içerir. Bu kod bloğunu sağlamadan imzalı bir SSL sertifikası alamazsınız. İki seçeneğiniz var:
- CSR’yi otomatik olarak oluşturmak için CSR Oluşturucu aracımızı kullanın.
- CSR’yi manuel olarak oluşturun. En iyi seçenek, CSR’yi SSL sertifikanızın çalışacağı sunucuda oluşturmaktır. Platformunuza uygun eğitimi seçin:
Sadece bir yük dengeleyiciniz varsa ve komutu çalıştıracağınız bir kaynak web sunucunuz yoksa, CSR’nizi ve özel anahtarınızı OpenSSL aracıyla oluşturabilirsiniz:
openssl req -new -newkey rsa:2048 -nodes -keyout yoursite.key -out example.csr
Not: yoursite yerine güvenliğini sağlamak istediğiniz alan adını yazın. Bu komut aynı zamanda özel anahtarınızı (yoursite.key) de oluşturur; sertifikayı içe aktarmak için daha sonra ihtiyacınız olacağından bunu güvenli bir yerde saklayın.
Komutu çalıştırdıktan sonra, OpenSSL CSR’yi example.csr dosyasına yazar. Bu dosyayı açın ve —–BEGIN CERTIFICATE REQUEST—– ve —–END CERTIFICATE REQUEST—– satırları dahil olmak üzere tüm bloğu kopyalayın. Bu kodu SSL sertifikanızı etkinleştirirken yapıştıracaksınız.
Tüm sertifika dosyalarını hazırlayın
Kuruluma başlamadan önce, gerekli tüm sertifika dosyalarına sahip olduğunuzdan emin olun. Sertifika Yetkilisi, SSL sertifikanızı imzaladıktan sonra kurulum dosyalarını gelen kutunuza gönderir. İhtiyacınız olanlar şunlardır:
- Güvenliğini sağlamak istediğiniz alan adı için verilen birincil sertifika dosyanız.
- Sertifika Yetkilinizden gelen CA paketi (ara sertifika zinciri).
- Özel anahtarınız.
SSL sertifikanız ve CA paketi, CA’nın size gönderdiği ZIP arşivi içinde gelir. Özel anahtar, CSR kodunuzla birlikte oluşturduğunuz anahtardır; CSR’yi oluşturduğunuz aynı yerde kalır.
Kontrol edilmesi gereken son bir şey, dosyalarınızın biçimidir. ACM ve IAM yalnızca PEM kodlu dosyaları kabul eder, bu nedenle sertifikanızın, zincirinizin ve özel anahtarınızın PEM biçiminde olduğundan emin olun. PEM, birkaç dosya uzantısı taşıyabilen bir metin biçimidir (.pem, .key, .cer, .crt ve diğerleri); bir PEM dosyası —–BEGIN CERTIFICATE—– gibi bir satırla başlar. Özel anahtar şifrelenmemiş olmalıdır: ACM, bir şifre veya parola ile korunan bir anahtarı reddeder.
Dosyalarınızı PFX/PKCS#12 gibi başka bir biçimde aldıysanız, önce bunları PEM’e dönüştürün. Bunu OpenSSL komutlarıyla yapabilirsiniz. Dosyalarınız PEM biçiminde olduğunda, sertifikanızı kurmaya hazırsınız demektir.
AWS Certificate Manager’a (ACM) SSL sertifikası kurma
ACM, AWS yönetilen hizmetleri için sertifikaları saklamak için önerilen yerdir. Üçüncü taraf sertifikanızı konsol veya CLI üzerinden içe aktarabilirsiniz.
Seçenek A: ACM konsolunda içe aktarma
- AWS konsolunu açın ve Certificate Manager‘a gidin. Doğru Bölgede olduğunuzu onaylayın (sağ üst). Sertifikayı, onu kullanacak hizmetle aynı Bölgeye içe aktarın. CloudFront için US East (N. Virginia), us-east-1 kullanın.
- Import certificate seçeneğini seçin.
- Certificate body alanına, birincil sertifikanızı (—–BEGIN CERTIFICATE—– ile başlayan blok) yapıştırın.
- Certificate private key alanına, şifrelenmemiş özel anahtarınızı (—–BEGIN PRIVATE KEY—– veya —–BEGIN RSA PRIVATE KEY—– ile başlayan blok) yapıştırın.
- Certificate chain alanına, CA paketinizi (ara sertifikalar) yapıştırın.
- Next‘i seçin, gerekirse etiketler ekleyin, ardından Import‘u seçin.
Seçenek B: AWS CLI ile içe aktarma
Sertifikanızı ACM’ye yüklemek için aşağıdaki komutu çalıştırın. fileb:// önekine dikkat edin: bu, CLI’ye her dosyayı ham bayt olarak okumasını söyler, ki ACM’nin beklediği de budur.
aws acm import-certificate
--certificate fileb://example.crt
--private-key fileb://example.key
--certificate-chain fileb://example-bundle.crt
Not: her example dosya adını dosyanızın gerçek adıyla değiştirin. İçe aktarma başarılı olursa, CLI sertifikanın ARN (Amazon Kaynak Adı) değerini döndürür. Sertifikayı bir hizmete eklemek için bu tanımlayıcıya ihtiyacınız vardır. Sertifikanızı daha fazla yönetmek için ACM komutlarının tam listesine göz atabilirsiniz.
Önemli uyarılar:
- İçe aktarılan sertifikalar otomatik olarak yenilenmez. ACM yalnızca kendi verdiği sertifikaları otomatik olarak yeniler. İçe aktarılan bir sertifikanın süresinin dolmasını takip etmek ve süresi dolmadan önce yeni bir sertifikayı yeniden içe aktarmak sizin sorumluluğunuzdadır (AWS, süre dolmadan en az 24 saat önce bunu önerir). Aynı ACM sertifikasına yeniden içe aktarma, mevcut hizmet bağlantılarını korur, böylece yük dengeleyici veya dağıtım herhangi bir ek değişiklik yapmadan sertifikayı kullanmaya devam eder.
- Bölge önemlidir. Bir ACM sertifikası bölgeseldir. Onu kullanacak yük dengeleyici veya hizmetle aynı Bölgeye içe aktarın. CloudFront yalnızca us-east-1‘den gelen sertifikaları kabul eder.
AWS IAM’de (eski) SSL sertifikası kurma
IAM sertifika deposu daha eski bir yöntemdir ve AWS, yeni dağıtımlar için ACM’yi önerir. IAM’yi yalnızca bir hizmet veya Bölge ACM’yi desteklemediğinde ya da özellikle IAM deposuna ihtiyaç duyduğunuzda kullanın (örneğin, yolun /cloudfront/ ile başlaması gereken belirli CloudFront kurulumları). Sertifikayı IAM’ye şu şekilde yükleyin:
aws iam upload-server-certificate
--server-certificate-name certificate-name
--certificate-body file://example.crt
--certificate-chain file://example-bundle.crt
--private-key file://example.key
Değerleri aşağıda gösterildiği gibi değiştirin:
- –server-certificate-name: hatırlaması kolay özel bir ad, örneğin alan adınız. Yalnızca büyük ve küçük harf alfasayısal karakterler kullanın; boşluklara izin verilmez.
- –certificate-body: birincil SSL sertifikanızın dosya adı.
- –certificate-chain: CA paketinizin dosya adı.
- –private-key: özel anahtarınızın dosya adı.
Sertifika, özel anahtar ve zincir tümü PEM kodlu olmalıdır ve özel anahtar sertifikayla eşleşmelidir. Yükleme başarılı olursa, CLI sunucu sertifikası meta verilerini döndürür; bunlar yolunu, adını, ID’sini, ARN’sini, yükleme tarihini ve son kullanma tarihini içerir. SSL yönetimi ve sorun giderme hakkında daha fazla yardım için Amazon’un resmi kılavuzuna başvurun.
ELB’de (Elastic Load Balancing) sertifikayı ekleme
Sertifikayı ACM veya IAM’ye içe aktarmak henüz onu sunmaz. Sertifika, yalnızca ARN’sini bir hizmete eklediğinizde etkin hale gelir. Bu bölüm, sertifikayı zaten içe aktardığınızı ve mevcut bir yük dengeleyicide HTTPS dinleyicileri oluşturmak veya güncellemek istediğinizi varsayar. Sertifikanızın ARN’sine ve yük dengeleyicinizin adına veya ARN’sine ihtiyacınız olacaktır.
Klasik Yük Dengeleyici
Klasik Yük Dengeleyicide bir HTTPS dinleyicisi oluşturmak ve sertifikayı buna atamak için aşağıdaki komutu kullanın:
aws elb create-load-balancer-listeners
--load-balancer-name my-load-balancer
--listeners "Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=ARN"
ARN yerine ACM veya IAM’den alınan sertifikanızın ARN’sini yazın. Zaten bir HTTPS dinleyiciniz varsa ve sadece yeni bir sertifikayla değiştirmek istiyorsanız, şunu kullanın:
aws elb set-load-balancer-listener-ssl-certificate
--load-balancer-name my-load-balancer
--load-balancer-port 443
--ssl-certificate-id NewARN
NewARN yerine yeni sertifikanın ARN’sini yazın. İşte ELB komutlarının tam listesi ve Klasik Yük Dengeleyici için HTTPS dinleyicileri hakkında Amazon’un resmi kılavuzu.
Uygulama Yük Dengeleyicisi
Uygulama Yük Dengeleyicisinde bir HTTPS dinleyicisi oluşturmak için aşağıdaki komutu çalıştırın. Aşağıdaki –ssl-policy değeri, TLS 1.3 ve TLS 1.2’yi destekleyen bir güvenlik politikasını seçer:
aws elbv2 create-listener
--load-balancer-arn my-load-balancer-arn
--protocol HTTPS
--port 443
--certificates CertificateArn=my-certificate-arn
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06
--default-actions Type=forward,TargetGroupArn=my-target-group-arn
my-load-balancer-arn ve my-target-group-arn değerlerini şunu çalıştırarak bulabilirsiniz:
aws elbv2 describe-target-groups
Bu, hesabınızdaki ilgili yük dengeleyicileri ve hedef grupları gösterir. Mevcut bir HTTPS dinleyicisine yeni bir sertifika eklemek için şunu kullanın:
aws elbv2 modify-listener
--listener-arn my-https-listener-arn
--certificates CertificateArn=my-new-certificate-arn
my-https-listener-arn değerini şununla bulabilirsiniz:
aws elbv2 describe-listeners
--load-balancer-arn my-load-balancer-arn
Uygulama Yük Dengeleyicinizi daha fazla yönetmek için elbv2 komut referansına bakın.
SSL kurulumunuzu test edin
Alan adınızın HTTPS sürümüne göz atın ve kilit simgesinin bulunduğunu kontrol edin. Sertifika ayrıntılarını incelemek için üzerine tıklayın. Daha kapsamlı bir test için SSL Checker aracımızı kullanın: bu araç kurulumunuzu tarar ve anında bir rapor oluşturur. Sertifikayı komut satırından da doğrulayabilirsiniz:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Bu, yük dengeleyicinin sunduğu sertifikanın verenini ve geçerlilik tarihlerini yazdırır. Yeni bir sertifika içe aktardıysanız ancak hâlâ eskisini görüyorsanız, dinleyicinin yeni ARN’yi işaret ettiğini ve doğru Bölge ile uç noktayı test ettiğinizi doğrulayın.
Sıkça Sorulan Sorular
Onu tek bir sunucuya kurmazsınız. Sertifikayı AWS Certificate Manager’a (ACM) içe aktarırsınız, ardından ortaya çıkan ARN’yi TLS bağlantısını sonlandıran yönetilen bir hizmete eklersiniz; örneğin bir Uygulama veya Klasik Yük Dengeleyici, bir CloudFront dağıtımı veya bir API Gateway özel alanı.
Hayır. ACM yalnızca kendi verdiği sertifikaları otomatik olarak yeniler. İçe aktarılan üçüncü taraf bir sertifika, süresi dolmadan önce yeniden verilmeli ve yeniden içe aktarılmalıdır. Aynı ACM sertifikasına yeniden içe aktarma, hizmet bağlantılarını korur, böylece yük dengeleyici herhangi bir ek değişiklik yapmadan yenilenen sertifikayı sunmaya devam eder.
ACM kullanın. IAM sertifika deposu, AWS’nin esas olarak geriye dönük uyumluluk ve ACM’nin kapsamadığı durumlar için sakladığı eski bir yöntemdir. Yük dengeleyiciler ve CloudFront dahil olmak üzere çoğu kurulum için önerilen seçenek ACM’dir.
En yaygın neden, anahtarın şifrelenmiş olmasıdır. ACM yalnızca sertifikayla eşleşen, şifrelenmemiş, PEM kodlu bir özel anahtarı kabul eder. Önce parolayı kaldırın, ardından içe aktarın. Üç parçanın da (sertifika, zincir ve anahtar) PEM kodlu olduğundan emin olun.
Onu, kullanacak yük dengeleyici veya hizmetle aynı Bölgeye içe aktarın, çünkü ACM sertifikaları bölgeseldir. CloudFront istisnadır: yalnızca US East (N. Virginia), us-east-1‘e içe aktarılan sertifikaları kabul eder.
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


