Pythontr

husonet | Tarih: 19.04.2017

Bedava SSL, SSL Nedir?

Ücretsiz SSL sertifikası kurulumu.

SSL Nedir?


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.


Bedava SSL Kurulumu


Nginx servisini durduralım.


/etc/init.d/nginx stop

Github üzerinden kurulum yapmamız için gereken paketleri indirelim.
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

let’s encrypt SSL Sertifikası oluşturulması


./letsencrypt-auto certonly --standalone -d pythontr.com -d www.pythontr.com

Nginix SSL Yapılandırması


cd /etc/letsencrypt/live/pythontr.com/
vim /etc/nginx/sites-available/pythontr.conf
# https://www.pythontr.com
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# https://www.pythontr.com
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.



Wildcart olarak oluşturmak
/etc/init.d/nginx stop;
certbot certonly --agree-tos --email info@pythontr.com --manual --preferred-challenges=dns -d *.pythontr.com --server https://acme-v02.api.letsencrypt.org/directory;
/etc/init.d/nginx start;

.............
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for pythontr.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.pythontr.com with the following value:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [19/1814]
Please deploy a DNS TXT record under the name
_acme-challenge.pythontr.com with the following value:

Djb_jV8jhlX4xxxxxxxxxxxxxxxxxxxx

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/pythontr.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/pythontr.com/privkey.pem
Your cert will expire on 2021-10-10. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"

vim /etc/bind/zones/pythontr.com.db
_acme-challenge.pythontr.com. IN TXT     Djb_jV8jhlX4xxxxxxxxxxxxxxxxxxxx

İlgili Konular
Csr Dosya Oluşturma
Apache SSL Kurulum
Problem with the ssl ca cert

Not: Kurulum aşamasında herhangi bir hata ile karşılaşırsanız yorumlara yazınız.