Let's Encrypt: Haydi Şifreleyelim

3
butch

Malumunuz, Let's Encrypt'in hayatımıza girmesiyle birlikte, güvenli site kurma maliyetlerinde, daha da önemlisi sertifika yönetme süreçlerinde ciddi bir rahatlama yaşadık. Aşağıdaki notlar GNU/Linux üzerinde Nginx ile rekor bir sürede SSL sertifikası almaya yöneliktir. Digital Ocean topluluğu tarafından hazırlanmış daha detaylı bir belgeyi bu adreste bulabilirsiniz.

SSL sertifikası üretme sürecinin bazı adımlarında sistemde root yetkileri ile hareket etmeniz gerekir. Yetki artırımı gerektiği not edilen noktalardaki komutları root kullanıcısı olarak veya sudo vasıtasıyla root yetkilerini alarak çalıştırmanız gerekmektedir.

Sertifika oluşturma

Uygun gördüğünüz bir konuma (tercihen kullanıcınızın ev dizinine) EFF'nin Let's Encrypt sertifikası üretmemizi sağlayan istemcisini klonlayarak işe başlayalım.

git clone https://github.com/certbot/certbot.git

Sırasıyla, certbot klasörüne girelim, istemcimizi çalıştırabilmek için gerekli izinleri verelim ve adresim.com için sertifika oluşturalım.

cd certbot

chmod +x certbot-auto

#root yetkisi ile çalıştırılmalı
./certbot-auto certonly --webroot -w /web/sitenizin/root/dizini -d adresim.com -d www.adresim.com

Bu aşamada sizden e-posta adresiniz ve kullanım şartlarını onaylamanız istenecek. Sorunla karşılaşmadıysanız sertifika oluşturma işlemini tamamlamış bulunuyorsunuz.

Nginx ayarları

Bir sonraki adım, Nginx ayarları. Bunun için Nginx sunucunuzun ayarlarına aşağıdaki örneği uyarlamanız ve Nginx'i tekrar başlamanız yeterli.

server {
    listen 443 default_server ssl;
    server_name www.adresim.com adresim.com;

    ssl_certificate /etc/letsencrypt/live/adresim.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/adresim.com/privkey.pem;
}

Sertifika yenileme

Let's Encrypt sertifikaları, 3 ay gibi kısa bir yaşam süresine sahip olduğu için bunun bitimine yakın bir zamanda yenilenmeleri gerekiyor. Tahmin edebileceğiniz gibi bu işlem de çok basit.

./certbot-auto renew

Bu işlemi her 3 ayda bir yapmak yerine, bir cron görevi tanımlamak çok doğru bir karar olacaktır (Örnek 2 ayda bir çalışıyor). Bunun için aşağıdaki gibi bir tanım yeterli. Bu işlemin ardından Nginx tekrar başlatılacağı için bunu root olarak yapmak gerekiyor.

0 0 1 */2 * /home/kullanici/certbot/certbot-auto renew && service nginx reload

Not: Bu rehber Ubuntu 16.04 üzerinde denenmiştir ancak tahmin ediyoruz ki diğer dağıtımlara/sürümlere de kolayca uygulanabilir.

Katkıları için @tongucyumruk'a teşekkürler.

Görüşler

0
conan

emresaglam.com'un sertifika yenilemesini anlatmışsın :D

Bunları bir kaç hafta önce apache için yapmış birisi olarak çok mutlu mesut yaşıyorum.

0
Cylon

Peki kilit simgesinin yanında firma adımızında görünmesini istersek ekstra hangi ayarları yapmalıyız?

0
tongucyumruk

TL;DR Let's Encrypt ile bunu yapmanız mümkün değil

Bahsettiğiniz özelliğin adı SSL-EV (EV = Extended Validation, Genişletilmiş Doğrulama). Kısaca ne olduğunu açıklayayım.

SSL teknolojisi size bağlandığınız web sitesinin gerçekten yazdığınız adresteki web sitesi olduğunu doğrulama imkanı sunar. SSL sayesinde, tarayıcınızın adres satırına https://fazlamesai.net yazdığınız zaman bağlandığınız siteinin gerçekten fazlamesai.net olduğunu doğrulayabilir, gönül rahatlığıyla parolanızı yazabilirsiniz. Peki diyelim ben sizin parolanızı ele geçirmek isteyen kötü niyetli biriyim, bu SSL korumasını nasıl aşabilirim? Tabi ki insani zaaflardan faydalanarak.

Eğer sizi fazlamesai.net gibi görünen ama fazlamesai.net olmayan bir siteye yönlendirmek istersem, size parolanızı değiştirmenizi söyleyen bir mail yollayabilirim. Mail'deki linke tıkladığınızda karşınıza fazlamesai.net giriş sayfası gelir. Tabi ki siz aklıbaşında bir insan olarak önce SSL kilidinin orada olup olmadığını kontrol edip, SSL işaretinin yeşil ışıltısını gördükten sonra güven içinde parolanızı yazarsınız. O noktada gözünüzden kaçan detay ise adres satırında https://fazlamesai.net değil https://fazlamesaí.net yazıyor olduğudur. IDN (Internationalized Domain Names - alan adlarında Unicode karakterlerinin kullanılmasına izin veren yer yer başa bela bir teknoloji) teknolojisi sayesinde ben fazlamesai.net'e çok benzeyen fakat fazlamesai.net olmayan bu alan adını kendi adıma kaydedip bu tip saldırılarda kullanabilirim.

SSL-EV teknolojisi işte burada devreye giriyor. Bir SSL-EV sertifikası teknolojik anlamda sıradan bir SSL sertifikasından hiçbir farkı olmayan bir sertifika tipi. Diğer SSL sertifikaları ile EV sertifikalar arasındaki fark ise EV sertifikalarının gerçek kurumsal kimlik bilgisinin doğrulamasını içeriyor olması. Örneğin fazlamesai.net'e girdiğiniz zaman adres satırında FAZLAMESAİ İNŞAAT TURİZM SANAYİ A.Ş. yazmasını istiyorsak bunun için sadece fazlamesai.net domainine sahip olmamız yetmiyor, EV doğrulaması için gerekli bütün belgeleri de SSL sertifikamızı aldığımız kuruma iletmemiz gerekiyor. SSL sertifika sağalayıcısı bütün bu belgeleri doğrulayıp başvuran kurumun gerçekten iddia edilen kurum olduğundan emin olduktan sonra SSL-EV sertifikasını onaylıyor.

Takdir edersiniz ki bu süreç oldukça meşakkatli ve insan emeği yoğun bir süreç olduğu için Let's Encrypt gibi otomatize ve ucuz çözümlerle EV sertifikası almak pek mümkün olmuyor.

0
Cylon

Oldukça net açıklamışsınız, teşekkürler.

Görüş belirtmek için giriş yapın...

İlgili Yazılar

Endersys LPI'nin Türkiye temsilciliğini aldı

anonim

Endersys Danısmanlık ve Yazılım Ltd. Şti., Linux sertifikasyonu konusunda dünyaca ünlü LPI (Linux Professional Institute) ile yaptığı görüşmeler neticesinde LPI Türkiye temsilciğini almıştır.

Gömülü Sistemler için bir Linux Dağıtımı Geliştirme Semineri

caglar_onur

Linux Kullanıcıları Derneği, 27 Mayıs 2004 Perşembe günü İstanbul'da bir seminer düzenliyor. IBM İstanbul Linux Merkezi'nin ev sahipliği yapacağı seminerde, özel amaçlar için geliştirilen gömülü sistemler üzerinde çalışacak bir Linux dağıtımının nasıl geliştirileceği, tasarım prensipleri ve dikkat edilmesi gereken noktalar üzerinde durulacaktır. Ayrıca seminer, gömülü sistemler haricinde kişisel bilgisayarında kendi özel Linux dağıtımını geliştirmek isteyenler için de faydalı olacaktır.

Türkçe ile *NIX'i Barıştırmak

misafir

Diyelim ki, yazıcıdan türkçe bir metin çıkartmanız gerekiyor. Ama yeni kurulmuş bir BSD konsolundasınız; ya da KDE çalışıtırıyorsunuz ama türkçe klavyeniz yok. Ne yapabilirsiniz? Bu yazıda sadece geleneksel *nix araçları kullanarak neler yapabileceğinizi anlatmaya çalışacağım.

PostgreSQL Veritabanı Sunucusu Semineri

caglar_onur

Linux Kullanıcıları Derneği, 24 Haziran 2004 Perşembe günü IBM İstanbul Linux Merkezi'nde bir seminer düzenliyor. Seminerde, dünyanın en gelişmiş açık kaynak kodlu veritabanı sunucusu olan PostgreSQL tanıtılacak ve gelişmiş özellikleri anlatılacaktır. Ayrıca, PostgreSQL ile kurumsal çözümlerin nasıl yapılacağı ve PL/pgSQL SQL Yordamsal Dili'nin özelliklerinden de bahsedilecektir.

Mandrake 9.2 ISOları hazır!

ckaptan

Mandrake 9.2 ISOları 13.11 itibarı ile nihayet hazır! Bazı LG CD-ROM sürücülerinde kurulum esnasında yaşanan sorunların giderilmesine ait çalışmalardan dolayı uzayan public ISO'lar artık kullanıma açıldı...
Daha nice sürümlere!