Sunucuya Let’s Encrypt SSL Sertifika Yükleme

By

Merhaba, daha önce panel üzerinden sitelerimize nasıl ssl sertifika yüklediğimizden bahsetmiştik,  şimdi de Centos 7 bir sunucuda kurulu olan apache üzerinde koşan vhostumuza Let’s Encrypt yardımı ile SSL sertifikası tanımlayacağız, yapılanmaya geçmeden SSL kısaca ne olduğuna ve faydalarına değinelim.

SSL Sertifikası Nedir

SSL’in anlamı  Secure Socket Layer’dır. Türkçe meali ise Güvenli Giriş Katmanı anlamına gelir. SSL kişisel gizlilik ve güvenilirlik sağlar, network üzrinden veri transferi aşamasında aktarılan verinin bütünlüğünü sağlayarak sunucu ve istemci arasında şifreli olarak iletişim sağlayan, Netscape tarafından oluşturulan bir güvenlik protokolüdür,

  • SSL/TLS teknolojisinde amaç, kişisel veri, ödeme veya giriş detayları gibi hassas bilgileri güvenli şekilde aktarmaktır.
  • Sunucuya bağlantınızın şifrelenmemiş olduğu sade metin transferine alternatiftir ve saldırganların bağlantıya sızarak verilerinizi çalmayı zorlaştırır.
  • Webmasterlar tarafından websiteleri güvende tutmak ve insanların ödemelerini sağlıklı şekilde yapabilmeleri için kullanılan SSL/TLS sertifikalarıyla çoğu insan tarafından tanınmaktadır.
  • Bir websitesinin bu sertifikayı kullanıp kullanmadığını, adres çubuğundaki URL adresinin hemen yanında bulunan yeşil kilit ikonundan anlayabilirsiniz.
  • Google SEO açısından daha yukarlara çıkmanızı sağlar.



SSL Yapılanma

Örnek domainimiz bektas.tk sitemize https protokolü üzerinden erişmeye çalışalım.

Gördüğünüz gibi sitemiz için güvenli değil diyor,

Örnek vhost dosyamızın conf bilgileri

/etc/httpd/conf.d/bektas.tk.conf

VirtualHost *:80>
ServerName www.bektas.tk
DocumentRoot /var/www/html/bektas/www
ServerAlias bektas.tk
ErrorLog /var/www/html/bektas/error.log
CustomLog /var/www/html/bektas/requests.log combined
</VirtualHost>

<VirtualHost *:443>
ServerName www.bektas.tk
DocumentRoot /var/www/html/bektas/www
ServerAlias bektas.tk
ErrorLog /var/www/html/bektas/error.log
CustomLog /var/www/html/bektas/requests.log combined
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
</VirtualHost>

Şimdi sunucumuza önce elep-release paketini kuralım kurulu değilse

yum install epel-release -y

Epel-Release paketi kurduktan sonra SSL sertifikasını tanımlamaya geçebiliriz artık,

yum --enablerepo=epel -y install certbot

Cerbot paketimizi kurduk, şimdi domainimizi tanımlayalım, domaini tanımlarken dikkat etmeniz gereken kaç adet subdomaininiz yada cname varsa tanımlamanız lazım, örneğin ben hem bektas.tk hemde www.bektas.tk için ssl sertifikası yükleyeceğiz. önce bektas.tk domainimize ssl sertifikamızı yükleyelim.



Sertifikamızı oluşturalım,

certbot certonly --webroot -w /var/www/html/bektas/www -d bektas.tk

İlk başta mail adresi istenecek, ardından sözleşmeyi kabul edin ve en son Y ve N diye çıkan kısımda da Y diyerek geçelim, biraz beklettikten sonra bize sertifika yollarını verecektir.

Benim sertikaların sunucudaki yeri

/etc/letsencrypt/live/bektas.tk/fullchain.pem
/etc/letsencrypt/live/bektas.tk/privkey.pem

Şimdi bunları vhost dosyamızı açıp sertifikaları tanımlayalım.

 nano /etc/httpd/conf.d/bektas.tk.conf

Dosyamızı kaydedip httpd resetleyelim

systemctl restart httpd

Sitemizi https protokolü ile kontrol edelim

Resimde görüldüğü gibi sitemize ssl sertifikasını tanımladık ve web sitemizde güvenli bir site olarak görünüyor. Şimdi www.bektas.tk domainini de ekleyelim.

certbot certonly --webroot -w /var/www/html/bektas/www -d bektas.tk

Çıkan uyarıya E diyerek onaylayım ve httpd restart ettikten sonra da www.bektas.tk domainine ssl sertifikası üzerinden erişebiliriz artık.

Bu sertifika süresi 3 ay, biz 3 ayda bir yenilememiz gerekiyor, 3 ayda bir yenilemek için aşağıdaki komutu girmeniz ve ardından httpd resart etmeniz yeter

certbot renew

systemctl restart httpd




Sürekli yenilemek yerine 3 ayda bir yenileyecek bir cron oluşturacağız.

Örnek Cron oluşturmak için komut satırına aşağıdaki komutu yazalım,

crontab -e

vi editör kullanıyorsanız klavyeden insert tuşuna basarak editleme kısmına geliniz aşağıdaki görevleri tanımlayalım,

0 0 * */3 * certbot renew
0 0 * */3 * systemctl restart httpd

Gerekli görevleri girdikten sonra ESC tuşuna basıp :wq yazarak görevi kaydedelim.

Aşağıdaki komutu girerek cronda bulunan görevleri listeleyelim

crontab -l

İşlemlerimiz bu kadar. İşinize yaraması umuduyla.

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

You may also like

Hot News