Virtualmin üzerindeki bir domaine SSL sertifikası nasıl yüklenir?

SSL ve Virtualmin

SSLhttps URLs üzerinden web sitelerine erişildiğinde,  web sitelerinden gönderilen veya alınan verileri gözetlemeler ve değiştirmelere karşı koruyan bir şifreleme protokolüdür. Buna ek olarak, tarayıcıların doğru web sunucusuna bağlandıklarından emin olmasını sağlar.  Ayrıca ağ trafiğinin bir saldırgan tarafından yakalamasını engeller.

SSL protokolünün kritik bileşeni sertifikadır. Web sunucuları kendi domainlerinin sahipliğini kanıtlamak için sertifakları kullanırlar. Bunlar genellikle Certificate Authorities(CAs) (Sertifika Onaylayıcı Kurum) tarafından, bir sertifika isteğinin sunulması takibinde istek sahibinin domain sahipiliğinin doğrulanmasıyla verilir. public-key (Genel-anahtar) şifreleme mucizesi sayesinde, tarayıcılar bir web sunucusu tarafından sunulan sertifikanın aslında bilinen bir CAs(Sertifika Onaylayıcı) tarafından imzalanmış olduğunu kontrol edebilir.

Eğer müşteriler veya kullanıcılar tarafından ziyaret edilecek bir SSL web sitesi kurmak istiyorsanız geçerli bir sertifika edinmeniz önemlidir. Gerçi Virtualmin hiçbir maliyeti olmayan ve hemen oluşturulabilir self-signed bir sertifika kullanmanızı sağlayacak olsa da, Web sitenize erişen kullanıcılar tarayıcılarında bir uyarı mesajı (Bir Sertifika yetkili firması tarafından onaylanmadığının uyarısı) göreceğinden bu pek kullanışlı değildir. Web sunucunuza erişen bir saldırgan için  bu bir gerçek güvence olmayacaktır.

Ancak, CA(Sertifika Onaylayıcı) tarafından imzalanan bir sertifika elde etmek için çok az zaman ve para gereklidir.

Sanal Bir Sunucu için SSL Etkilinleştirme (Enabling SSL For a Virtual Server)

Bir SSL web sitesi, ilk oluşturulurken ya da daha sonra Edit Virtual Server sayfasını kullanarak  bir sanal sunucu için etkinleştirilebilir.

 

Sanal bir IP Adresi Eklemek (Adding a Virtual IP Address)

Çoğu durumda, her SSL web sitesi başka bir SSL kullananan domain ile paylaşılmayan kendi IP adresini ister. Bu, isim-tabanlı web sanal hosting ile çakışan SSL protokolünün yapısından dolayıdır. Aşağıda belirtildiği gibi bazı istisnalar da vardır.

SSLli etkin bir sanal sunucu oluştururken, yeni IP adresini aşağıdaki gibi belirtin:

  1. Create Virtual Server sayfasındaki IP address and forwarding bölümünü açın.
  2. Network interface bölümünde, Virtual with IP yi seçin ve metin kutusuna boşluksuz olarak IP adresini girin.
  3. IP sisteminizde zaten varsa, Already active kutusunu işaretleyin.

İlk SSL web sitesinizi oluştururken bu gerekli değildir. Varsayılan paylaşılan IP adresini kullanabilirsiniz.

Virtualmin ve SSL

 

SSL Özelliğini Etkinleştirme (Enabling the SSL Feature)

Aslında yeni bir SSL web sitesini sanal sunucuda oluştumak için, Setup SSL website too? kutucuğunu işağretlemelisiniz. Bu kutucuk (yukarıdaki resimdede görüldüğü gibi)  Enabled features altındadır.

Yeni sanal sunucunuz için diğer tüm ayrıntıları doldurun ve oluşturma işleminin başlaması için Create Server a tıklayın. Ancak Virtualmin herhangi bir hata tespittiğinde (örneğin aynı IP kullanan başka SSL web sitesi gibi), bir hata mesajı görüntüleyecektir.

SSL kurulum işleminin bir parçası olarak, self-signed sertifika domain için oluşturulacaktır. Tarayıcınızda https://domaininiz.com/ adresinize eriştiğinizde, self-signed sertifika hakkında bir uyarı görüntülencektir. Bu bir Sertifika Onaylayıcısı (CA) tarafından sertifikanızın imzalanmadığı uyarısıdır. Eğer bir kez bu uyarıyı geçerseniz, web sitesi içeriği normal olarak görünecektir.

 

Sertifika İsteme (Requesting a Certificate)

Eğer SSL websiteniz sadece dahili veya kişisel ağda kullanım için değilse, gerçek bir SSL sertifikası (CA Sertifika Onaylayıcı) almak iyi bir fikirdir. Bu çoğu Virtualmin içinde yapılabilen iki aşamalı bir süreçtir.

CSR Oluşturmak (Generating a CSR)

Bir Certificate Signing Request veya CSR, CA  tarafından doğrulanması istenen şirketiniz ve domaininiz hakkında bilgi içerir. Virtalmin ile CSR oluşturmak için şu adımları takip edin:

  1. Sol menüden bir sertifikalanacak SSL web sitesi domaini seçin.
  2. Server Configuration bölümünü açın ve Manage SSL Certificate üzerine tıklayın.
  3. Signing Request sekmesine gidin ve ordaki formu doldurunuz. Server name web sitenize erişirken kullanılacak hostname URLsi olmalıdır. Bu şu şekilde olabilir. example.com, www.example.com ve hatta  * .example.com  şeklindeki durumlar sizin CA sertifikanız wildcard destekli ise olabilir.
  4. Generate CSR Nowdüğmesini tıklatın.

Virtualmin ve SSL

Bu işlem sonucunda sunucunuzda .key ve .csr uzantılı iki dosya oluşturulacaktir

Eğer yukarıdaki şekildeki gibi Manage SSL Certificate menüsünü bulamadıysanız, Edit Virtual Server menüsünden aşağıdaki gibi SSL website enabled? kutucuğunu işağretleyip yukardaki adımları uygulamalısınız.

Virtualmin ve SSL

 

Virtualmin ve SSL

Generate CSR Now düğmesini tıkladığınızda, CSR (Certifica Singing Request) ve SLL private key oluşturulacaktır. CSR  sadece —--BEGIN CERTIFICATE REQUEST—--ile başlayan bir metin bloğudur, ve CA (Seritifa Onaylayıcı)ya CA'nın istediği şekilde göndermeniz gerekmektedir.

Bu noktadan sonra sakın yeni bir CSR (Certifica Singing Request) oluşturmayın, bu pivate keyinizin değişmesi anlamına gelir. Apache tarafından kullanılacak key ve Sertifika uyuşmalıdır.

Eğer daha önce oluşturulmuş bir key varsa Virtualmin güvenlik için yeni CSRye ait keyi .newkey dosyasında tutcaktır. Doğru keyi kullanmayı unutmayın...

 

Bir Sertifika Yükleme (İnstalling a Certificate)

Herşey yolundaysa aşağıdaki gibi bir içeriği olan zip dosyası Sertifika sağlayıcınızdan almış olmanız lazım.

Virtualmin ve SSL

CA (Sertifika Onaylayıcı) isteğinizi onayladıktan sonra Onaylanmış Sertifkanızı onlardan alacaksınız.

Onaylı bir —--BEGIN CERTIFICATE—-- şekilde başlayan ve bir kaç satır sonra bas-64 kodlu bir data dosyasıdır. Yeni sertifikayı kullanmak için şunları takip edin:
  1. Manage SSL Certificate sayfasına gidin ve Apply Signed Certificate sekmesine tıklayın.
  2. Signed SSL certificate kutusuna sertifikayı yapıştırın.
  3. Matching private key kutusu önceki bölümde oluşturulan keyi(anahtarı) içerdiğinden emin olun. Eğer bir şeyi yanlış yapmadıysanız, Virtualmin otomatik olarak bunu gösterecektir.
  4. Install Now düğmesini tıklatın.

Virtualmin ve SSL

Virtualmin ve SSL

Şimdi websitenize bir tarayıcı ile https://domain.com adresinden erişmeyi deneyin, ve SSL sertifikasının geçerli olarak tanımlandığından emin olun.

SSL Kontrolü

https://sslanalyzer.comodoca.com/ adresteki SSL kontrolü ile kontrol ettiğinizde SSL'inizin güvenli olmadığına dair ek bir uyarı alabilirsiniz.

Virtualmin ve SSL

Trusted by Microsoft? and Trusted by Mozilla? kısımlarında No uyarısını görebilirsiniz.

Bazı Browserlar ve SSL Kontrolü Güvenli Değil Diyecek

Bunun sebebi  bir kök sertifika ve Intermediate sertifakanın sunucunuzda olmamasıdır Çok az web sunucusu sertifika işlevi için bu kök sertifikaya ihtiyaç duyar, ama bu dosyada sertifika verme işlevi içerisinde mail ile yollanır.

'Intermediate' (Aracı) Certificate Nedir?

Gerçek bir güvenlik ve tarayıcı doğrulaması için, tüm SSL sertifikası yüklemeleri bir ara paket(Intermediate) içermelidir.

Ara sertifika sitenizin (sunucu) sertifikası ve bir kök sertifikası arasında olan bir sertifikadır, ya da sertifikalardır.
Ara sertifika veya sertifikalar, tarayıcı tarafından güvenilen bir kök sertifika zincirini tamamlar.

Bir Ara sertifika (intermediate) kullanmak demek, yükleme işleminde güvenilen kök zincirlemesine sitenizin sertifikasını etkinleştirmek için ek bir adımı tamamlamak ve birisi web sitesini ziyaret ettiğinde tarayıcıda güvenlik hatası göstermek anlamına gelir.

Sertifika yüklendikten sonra, normalde tarayıcınızın adres çubuğuna sertifika simgesine tıklayarak erişilen sertifika bilgilerini (Tarayıcınızda https üzerine tıkaldığınızda Daha fazla ayrıntı için tıklayın yazan bölümde ve ara sertifika zincirini görmelisiniz edebilir) görmelisiniz.

Intermediate (Ara) sertifikaları bir asıl Setifika ve bir kök sertifikası arasında dururlar. Kök sertifikası ve Sertifika Yetkilisi (CA) arasındaki  bir "Güven Zinciri"ni tamamlamaya yardımcı olurlar.

There are two types of certificate authorities (CAs), root CAs and intermediate CAs. In order for a certificate to be trusted, and often for a secure connection to be established at all, that certificate must have been issued by a CA that is included in the trusted store of the device that is connecting.

If the certificate was not issued by a trusted CA, the connecting device (e.g., a web browser) will then check to see if the certificate of the issuing CA was issued by a trusted CA, and so on until either a trusted CA is found (at which point a trusted, secure connection will be established) or no trusted CA can be found (at which point the device will usually display an error).

Intermediate certificates sit between an end entity certificate and a root certificate. They help complete a “Chain of Trust” from your certificate back to GlobalSign’s root certificate. 

Customers installing a GlobalSign SSL certificate must install the appropriate intermediate certificate onto their web servers. This installation is only necessary once. After installation, all browsers, applications, and mobiles that recognize GlobalSign will trust GlobalSign SSL certificates. If customers do not install the appropriate intermediate certificate then browsers, applications, and mobiles will not be able to recognize GlobalSign SSL certificates as being trusted. The intermediate certificates do not need to be installed by visitors to your web site.

Intermediate (Aracı) Sertifikanın yapılışı:

Size gelen SSL sertifikanız şu formatta olacaktır. “www_example_com.zip” Bu zip dosyasını açtığınızda şu şekilde bir dosya yapısı göreceksiniz.

Virtualmin ve SSL

Şimdi CA (Certificate Authority) Intermediate Certificates birleşik(bundle)  dosyasını oluşturmalısınız.

  Aşağıdaki komutla birleşik kök sertifika dosyanız ca-bundle uzantısı ile hazır.

cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > Birlesik.ca-bundle

Bu dosya 3 CA(Sertifika Yetkilisi) içeren doğru sıralanmış Bundle.ca-paket adında ara sertifikaları yaratacaktır. Her CA sertifikası temelde tarayıcı ara sertifikası ile genel certifika ile doğrulama işlemi yapar.

Virtualmin ve SSL

İntermediate Sertifikasının Virtulamin'e Yüklenişi

Bir önceki basamakta yaptığınız bundle dosyanızı burada seçerek Save Certificate bölümüne tıklıyoruz.

Virtualmin ve SSL

ve Sonuçta şöyle bir ekran görmeliyiz.

Virtualmin ve SSL

 

Artık düzgün bir SSL bağlantınız var demektir.

SSL ve Paylaşımlı IP Adresleri (SSL and Shared IP Addresses)

Virtualmin 3.64 versiyonundan sonra, birden fazla SSL website aynı IP adresslerini payalaşabilirler. Bu IP adreslerini elde etmek çok zor olduğunda çok kullanışlı olabilir. Fakat bir çok aynı SSL protokol sınırlandırmaları hala geçerlidir.

Eski Virtualmin sürümleri var olan websitelerinde aynı IP üzerindeki sanal sunular için SSL etkinleştirmeyi denediğinizde bir hata mesajı verebilir. Yeni sürümler kontrol etmek yerine eğer mevcut site için sertifika yeni domainide kapsayabiyorsa  SSL kurulum işlemi için izin verecektir. Değilse "SSL Sertificası hatası oluştu" şeklinde bir uyarı mesajı görüntelenecektir. Fakat eğer isterseniz past'a tıklayabilirsiniz.

Virtualmin bir çok virtual serverin (sanal sunucu) aynı sertifikayı paylaştığını belirlerse, Manage SSL Certificate sayfası sadece ilk sunucu için kullanılabilir olacaktır. Ve tüm değişiklikler -örneğin yeni sertifika oluşturmak gibi- sertifikayı paylaşan tüm domainlere uygulanacaktır.

Joker Sertifikalar (Wildcard Certificates)

Bir wildcad (joker) setifika ana domain altındaki herhangi bir alt domainle eşleşebilir. Örneğin *.domain.com. Tarayıclar eğer bu sertifika www.domain.com, office.domain.com vb. gibi alt domainler içinde kullanılmasından dolayı hata mesajı vermeyecektir. Bunun anlamı tüm bu virtual server (sanal sunucu) websiteleri aynı IP adresini paylaşıyor demektir.

Wildcard sertifikaları Virtualmin ile kullanmak çok basit -tüm ihtiyacınız  CSR oluşturulurken Server name kısmına şu şekide *.domain.com bir giriş yapmak. Birkez sertifika yüklendiğinde, virtual serverlar üzerinde aynı IP adresine sahip alt domainler oluşturduğunuzda her hangi bir uyarı almayacaksınız.

UCC Sertifikaları (UCC Certificates)

Unified Communications Certificates (UCC) (Tümleşik İletişim Sertifikaları) sıradan sertifaklar gibidirler, fakat birden falza domain ismini geçerli kabul ederler. Bu aynı sertifikanın aynı IP addressini kullanan birden fazla websitesinde kullanılmasına izin verir. Örneğin domain.com, domain.net ve domain2.org gibi. Dahili bir şekilde, bu ek alan adları sertifikanın SubjectAltName alanında saklanır.

Virtualminde UCC certificate İsteği çok kolaydır - sadece CSRyi oluştururken tüm ek domain isimlerini Alternate hostnames alanına girin. Kayıtcınızın (CA) UCC isteklerini bildiğinden ve işleyebileceğinden emin olun, bu işlem nispeten yenidir.

Birkez UCC certificate yüklenirse, asıl domain adresi üzerinde aynı IP adresindeki ek domain isimleri için SSL virtual serverlar(sana sunucular) oluşturabilirsiniz. 

UCC sertifikaları ile bir kez tutulması demek değildir ki tüm web tarayıcıları bu ek domain isimlerini tanıyacak. Örneğin wget komutu ceritifika uyumsuzluğunu mesaj olarak döndürecektir.