Sertifikalar ve HTTPS
cpleks, Let's Encrypt'ten ücretsiz sertifika alır, kurar ve süresi dolmadan yeniler. Satın aldığınız bir sertifikayı da yükleyebilir, bir sertifikayı birden fazla site arasında paylaşabilir ve ziyaretçilerin HTTPS'e yönlendirilip yönlendirilmeyeceğine karar verebilirsiniz. Bunların hepsi bir sitenin Security (Güvenlik) sekmesindedir.
Sertifika istemeden önce
Let's Encrypt, adın size ait olduğunu siteden düz HTTP üzerinden bir dosya alarak kanıtlar. Bu yüzden sitenin adı zaten bu sunucuyu göstermeli ve 80 numaralı port, makinenin önündeki güvenlik duvarları da dahil olmak üzere, internetten erişilebilir olmalıdır. Çok erken isterseniz deneme başarısız olur ve her başarısız deneme bir sonrakinin daha uzun beklemesine yol açar.
Yeni bir kurulum sertifikaları Let's Encrypt STAGING (deneme) hizmetinden alır. Deneme sertifikaları gerçekleri gibi kurulur ve yenilenir, ama hiçbir tarayıcı onlara güvenmez: ziyaretçiler tam sayfa bir uyarı görür. Bu varsayılan, DNS'iniz henüz ayarlanırken gerçek hizmetin haftalık sınırlarını korur; panel bunu sertifikanın üzerinde de söyler (STAGING · NOT TRUSTED). Sitelerinizin adları gerçekten bu sunucuya çözümlendiğinde SSH üzerinden üretime (production) geçin:
sudo touch /etc/cplex/acme/production-enabled
sudo chmod 0600 /etc/cplex/acme/production-enabled
Ardından her sitenin Security sekmesindeki sertifika düğmesine bir kez basın. Geçiş site başınadır: kimsenin yeniden sertifika istemediği bir site deneme hizmetinden yenilenmeye devam eder. O dosyayı bilerek yalnızca root oluşturabilir; böylece panelden ya da ağdan erişilebilen hiçbir şey üretimi açamaz.
Sertifika alma
- Siteyi ve Security sekmesini açın.
- İlk istekten önce NOT STARTED yazan Certificates kartında
Get a free certificate from Let's Encrypt düğmesine basın. Kart, sertifikanın
kapsayacağı her alan adını listeler: sitenin kendi adı, takma adları ve web postası kuruluysa
sitenin adının altındaki
webmail.adı. - İstek sertifika otoritesindeyken kart IN PROGRESS gösterir. Genellikle bir dakikadan kısa sürer ve sayfa kendiliğinden güncellenir.
- Sertifika geldiğinde kart onu kimin verdiğini, hangi adları kapsadığını ve ne zaman sona ereceğini UP TO DATE etiketiyle gösterir.
Bir deneme başarısız olursa kart nedenini sade bir dille söyler; örneğin sertifika otoritesinin kanıt dosyasını alamadığını (ad buraya çözümlenmiyor ya da 80 numaralı port kapalı), bu adlar için otoritenin haftalık sınırının dolduğunu ya da bu sunucunun otoriteye ulaşamadığını. Başarısız bir denemeden sonra hiçbir şey kurulmaz ve site sunduğu şeyi sunmaya devam eder.
Yenileme
Yenileme otomatiktir. Arka planda çalışan bir hizmet her sertifikayı düzenli olarak denetler ve süresi yaklaşanları yeniler; kimsenin bir şeye basması gerekmez. Kart, yenileme penceresinde RENEWAL DUE olur ve sonra yeniden UP TO DATE'e döner.
Sites ekranındaki Certificates bölümü önce ilgilenilmesi gerekenleri listeler: NOT RENEWING işaretli bir sertifika hâlâ geçerlidir ama onu değiştirme denemelerinin hepsi başarısız olmaktadır; bu, süresinin dolduğu güne kadar sorunsuz görünür. Show all HTTPS altındaki her siteyi listeler; Open sizi o sitenin Security sekmesine götürür.
Kendi sertifikanızı yükleme
- Security sekmesinde Upload düğmesine basın.
- Certificate file (sertifikanız ve ardından varsa ara sertifikalar, PEM biçiminde) ile Private key file (özel anahtar dosyası) alanlarını seçin. Sertifika, formun listelediği ve sitenin yanıt verdiği her adı kapsamalıdır; bir adı eksik olan sertifika yarım kurulmaz, reddedilir.
- Sunulmasını istediğiniz sertifika buysa Stop cplex renewing this site's certificate kutusunu işaretli bırakın. İşareti kaldırırsanız cpleks, süresi yaklaştığında onu ücretsiz bir Let's Encrypt sertifikasıyla değiştirir.
- Install this certificate düğmesine basın.
Özel anahtar bu sunucuda, yalnızca root'un okuyabileceği biçimde saklanır. Panelin veritabanına yazılmaz ve makineden hiç çıkmaz. Otomatik sertifikalar kapalıyken yüklenen bir sertifikayı hiçbir şey değiştirmez: yenisini süresi dolmadan yükleyin; Certificates listesi size hatırlatır.
Birden fazla site için tek sertifika
Which certificate this site serves altında bir site kendi sertifikasını
sunabilir ya da aynı paketteki başka bir sitenin sertifikasını ödünç alabilir. Cover every
subdomain açıldığında site *.example.com için de sertifika ister; böylece her
alt alan adı kendi sertifikasını almak yerine bu tek joker (wildcard) sertifikayı ödünç alabilir.
Joker sertifika bir dosyayla değil bir DNS kaydıyla kanıtlandığı için yalnızca DNS'ini bu sunucunun
yanıtladığı alan adlarında sunulur (DNS).
Ziyaretçiler nasıl gelir
- How visitors reach this site kartında, kapalıyken HTTP AND
HTTPS yazan bir anahtar vardır. Açıldığında yönlendirir: düz
http://adresini yazan herkes güvenli adrese gönderilir. Site henüz sertifika almadan açılırsa bekler (WAITING FOR A CERTIFICATE) ve sertifika gelince kendiliğinden çalışmaya başlar. - Tell browsers to remember (HSTS), tarayıcıların düz HTTP'yi seçtiğiniz süre boyunca reddetmesini sağlar: bir saat, bir gün ya da bir yıl. Kart bunun, başlığı zaten almış ziyaretçiler için geri alınamayacağını söyler; site henüz sertifika almamışsa bunu açmanın sitenin tutamayacağı bir söz vermek olacağını belirtir ve bir şey gönderilmeden önce Tell browsers to remember? diye sorar.
Bir siteyi ya da klasörü parolayla koruma
Aynı sekmede Password protection bölümü vardır. Ask for a password düğmesine basın, The whole site (tüm site; bir deneme kopyası için kullanışlıdır) ya da One directory (tek klasör) seçin, istemi yazın ve bir kullanıcı adı ile en az 8 karakterlik bir parola içeren bir hesap ekleyin. Let's Encrypt'in sertifikayı denetlemek için kullandığı adres hiçbir zaman korunmaz; böylece yenileme çalışmaya devam eder.
Panelin kendi sertifikası
8443 numaralı porttaki panel, kurulumun ürettiği kendinden imzalı sertifikayı kullanır. Onu değiştirmek, kurulumun yazdırdığı komutlarla SSH üzerinden yapılır:
install -o cplex -g cplex -m 0644 fullchain.pem /etc/cplex/tls/cert.pem
install -o cplex -g cplex -m 0600 privkey.pem /etc/cplex/tls/key.pem
systemctl restart cplex-api