Secure Sockets Layer'ın kısaltması olan SSL, bir web sunucusu ve bir tarayıcı arasında şifrelenmiş bir bağlantı kurmak için kullanılan standart güvenlik teknolojisidir. Bu bağlantı, web sunucusu ve tarayıcılar arasında iletilen tüm verilerin güvenli bir şekilde iletilmesini sağlar. SSL bir güvenlik standardıdır ve milyonlarca web sitesi tarafından kullanılmaktadır. Ayrıca bankalar tarafında kredi kartı işlemleri gibi parasal işlemler için aranan bir şarttır.
SSL bağlantısı kurabilmek için bir web sunucusu bir SSL Sertifikası gerektirir. Web sunucunuzda SSL'yi etkinleştirmeyi seçerseniz, web sitenizin ve şirketinizin kimliğiyle ilgili bir takım soruları tamamlamanız istenir. Web sunucunuz iki şifreleme anahtarı oluşturur - Bunlar Private Key ve Public Key.
Public key'in gizli olması gerekmez ve bir Sertifika İmzalama İsteği (CSR) içine yerleştirilir . Daha sonra bu csr dosyasını SSL sertifikası temin edeceğiniz firmaya göndermelisiniz. SSL Sertifikası başvuru işlemi sırasında, Sertifika Yetkilisi, ayrıntılarınızı doğrulayacak ve ayrıntılarınızı içeren ve SSL'yi kullanmanıza izin veren bir SSL Sertifikası yayınlayacaktır. Web sunucunuz, verilen SSL Sertifikası'nı Private Key ile eşleştirecek. Böylece web sunucunuz web sitesi ile müşterinizin web tarayıcısı arasında şifrelenmiş bir bağlantı kurabilir.
SSL Sertifikaları kimlik bilgileri taşıyan bütün web siteleri için kullanılması kullanıcı güvenliği açısından oldukça önemlidir ve google bu konuyu önemsemektedir.
Nginx servisini durduralım.
/etc/init.d/nginx stop
git clone [url]https://github.com/letsencrypt/letsencrypt[/url] cd letsencrypt
./letsencrypt-auto certonly --standalone -d pythontr.com -d www.pythontr.com
cd /etc/letsencrypt/live/pythontr.com/ vim /etc/nginx/sites-available/pythontr.conf # [url]https://www.pythontr.com[/url] server { listen 178.63.3.153:443 ssl http2; # listen [::]:80 default_server ipv6only=on; ## listen for ipv6 ssl on; ssl_certificate /etc/letsencrypt/live/pythontr.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/pythontr.com/privkey.pem; ssl_session_timeout 1d; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-C# [url]https://www.pythontr.com[/url] server { listen 178.63.3.153:443 ssl http2; # listen [::]:80 default_server ipv6only=on; ## listen for ipv6 ssl on; ssl_certificate /etc/letsencrypt/live/pythontr.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/pythontr.com/privkey.pem; ssl_session_timeout 1d; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; ssl_prefer_server_ciphers on; ssl_trusted_certificate /etc/letsencrypt/live/pythontr.com/chain.pem; BC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA"; ssl_prefer_server_ciphers on; ssl_trusted_certificate /etc/letsencrypt/live/pythontr.com/chain.pem; .....
Genellikle bir SSL Sertifikası alan adınızı, şirket adınızı, adresinizi, şehrinizi, eyaletinizi ve ülkenizi içerecektir. Sertifikanın son kullanma tarihini ve Sertifika'nın verilmesinden sorumlu Sertifika Yetkilisinin ayrıntılarını da içerecektir. Bir tarayıcı güvenli bir siteye bağlandığında, sitenin SSL Sertifikasını alacak ve taramanın geçerliliğini sürdüremediğini kontrol edebilecek, tarayıcının güvendiği bir Sertifika Yetkilisi tarafından verildiği ve gönderildiği web sitesi tarafından kullanıldığını kontrol edilebilecktir. Bu kontrollerden herhangi birinde başarısız olursa, tarayıcı son kullanıcıya, sitenin SSL tarafından güvence altına alınmadığını bildiren bir uyarı görüntüleyecektir.
Not: Kurulum aşamasında herhangi bir hata ile karşılaşırsanız yorumlara yazınız.
Yorumlar