Bu makalede, kurulum ve yapılandırma sürecini inceleyeceğiz Certbot bir Linux sunucusunda. Ayrıntılı olarak açıklayacağız Let's Encrypt SSL/TLS sertifikası nasıl alınır Alan adınız için. Ayrıca, bunu bir web sunucusuna (örneğin Nginx veya Apache) nasıl kuracağınızı ve web kaynağınızla sürekli güvenli bir bağlantı sağlamak için otomatik sertifika yenilemelerini nasıl ayarlayacağınızı da açıklayacağız.
Certbot otomatik edinim ve yenileme için tasarlanmış ücretsiz, açık kaynaklı bir araçtır. SSL/TLS sertifikaları. Sunucu ile istemci arasındaki bağlantıyı güvence altına almada ve verileri yetkisiz erişimden korumada önemli bir rol oynar. Certbot, bir SSL sertifikasının kurulum ve yenileme sürecini basitleştirir. Sertifika yalnızca güvenliği artırmakla kalmaz, aynı zamanda kullanıcıların web kaynağınıza olan güvenini de artırır ve böylece hem sitenin itibarını hem de arama motoru sıralamalarını iyileştirir.
Certbot'u Yükleme
Certbot çoğu dağıtımda varsayılan olarak bulunur, bu nedenle onu yüklemek için Debian / Ubuntu sistemlerde, sadece paket listesini güncellemeniz gerekir:
apt update
Daha sonra kurulum sürecini başlatın:
apt install certbot
Certbot, bir web sunucusu için sertifikanın kurulumunu ve yapılandırmasını kolaylaştıran eklentileri destekler. Bu eklentileri yüklemek için, karşılık gelen komutu kullanın:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
için yükleme işlemi katolik kardinal şapkası sistemler (örneğin RHEL, CentOS, Fötr şapka) biraz farklıdır. İlk olarak EPEL deposunu eklemeniz gerekir:
yum install epel-release
Daha sonra aracı kurun:
yum install certbot
Benzer şekilde, belirli bir web sunucusu için eklenti seçme seçeneği de mevcuttur:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Kurulumdan sonra hemen sertifika alma işlemine geçebilirsiniz.
SSL Sertifikası Edinme
Bu bölümde, belirli bir web sunucusundan bağımsız olarak bir sertifika edinme sürecini ele alacağız, ardından Nginx ve Apache için sertifika yükleme sürecini açıklayacağız. Ancak, öncelikle programın sözdizimini ve işlevselliğini anlamak önemlidir. Aşağıdaki gibi görünür:
certbot command option -d domain
Ana komutlar şunlardır:
certbot certonly - Sertifikayı alır ancak yüklemez.certbot certificates - Bu komut yüklü tüm sertifikaların listesini görüntüler.certbot renew - Mevcut sertifikayı genişletir.certbot revoke - Mevcut sertifikayı iptal eder.certbot delete - Mevcut sertifikayı siler.
En sık kullanılan seçenekler şunlardır:
--nginx - Alan adı doğrulaması için Nginx yapılandırma scriptlerini kullanır.--apache - Alan adı doğrulaması için Apache yapılandırma betiklerini kullanır.-d - Sertifikanın talep edildiği alan adlarının listesi.--standalone - Alan adı doğrulaması için bağımsız modu kullanır.--manual - Manuel alan adı doğrulaması gerçekleştirir.
Bu, en sık kullanılan komut ve seçeneklerin yalnızca bir örneğidir. Program yeteneklerinin tam listesini yardım bölümünden öğrenebilirsiniz:
certbot –help
Şimdi sertifikayı almaya geçiyoruz. Örnek olarak, bir sertifika alacağız sanal sunucu yourusername.pserver.space gibi ücretsiz üçüncü seviye alan adı için
Öncelikle şu komutu girmeniz gerekiyor:
certbot certonly
Yanıt olarak, yardımcı program sizden alan adı sahipliğini doğrulamak için bir yöntem seçmenizi isteyecektir:
İlk seçenek yapılandırılmış bir web sunucunuz yoksa veya mevcut bir sunucuda değişiklik yapmak istemiyorsanız kullanışlıdır. Bu yöntem, alan adınıza ilişkin hakkınızı doğrulamak için geçici bir web sunucusu oluşturur. Basit ve hızlı bir kurulum için idealdir. Bu yöntemi seçerken, 80 numaralı portu boş tutmak önemlidir.
İkinci seçenek, halihazırda çalışan bir web sunucunuz varsa ve bunu etki alanına ilişkin hakkı doğrulamak için kullanmak istiyorsanız tercih edilir. Certbot, sunucunuzdaki bir klasöre özel dosyalar yerleştirir ve bunlar daha sonra sertifika merkezi tarafından kontrol edilir.
İlk seçeneği seçip next'e tıklıyoruz. Bu aşamada şunları yapmanız gerekecek:
- Bir e-posta adresi girin;
- Hizmet şartlarını kabul edin;
- Şirket ve ortakları adına e-posta almayı kabul edin veya reddedin;
- Sertifikanın verildiği alan adını belirtin.
Certbot aracıyla sertifika verme işlemini tamamladıktan sonra, verilen sertifikanın ve hesabınıza ait verilerin saklandığı dizine giden yolu gösterecektir:
Geriye sadece aldığınız sertifikayı istediğiniz servise bağlamanız kalıyor.
Nginx veya Apache için Sertifikanın Kurulumu
Bu bölüm, belirli temel koşulların karşılandığını varsayar:
- Zaten bir web sunucusu, Nginx veya Apache, kurdunuz ve yapılandırdınız. Sertifikayı edinmeyi planladığınız alan adı üzerinden internetten erişilebilir olmalıdır;
- Aracın kurulumu sırasında, uygun komutu kullanarak Nginx veya Apache için bir eklenti de kurdunuz;
- Güvenlik duvarı 80 ve 443 numaralı bağlantı noktalarında bağlantılara izin verir. Bu bağlantı noktaları bağlantılara kapatılırsa, hizmet gelen bağlantılar için kullanılamaz hale gelir. Güvenlik duvarı çalışması hakkında daha fazla ayrıntı için bunu şu makalede ele aldık: Linux'ta güvenlik duvarı kurulumu.
Tüm koşullar karşılandığında, doğrudan sertifika verme işlemine geçebilirsiniz. Örnek olarak Nginx kullanan bir sunucuda SSL sertifikası alma sürecini ele alacağız. Ancak, bir Apache web sunucusu kullanıyorsanız, süreç tamamen aynıdır.
Sertifikayı almak için şu komutu girmeniz gerekiyor:
certbot --nginx # for Nginx
certbot --apache # for Apache
Araç buna karşılık sizden şunları isteyecektir: bir e-posta adresi, Let's Encrypt hizmetinin kullanım şartlarına onay ve hizmet ve ortakları adına e-posta gönderme izni.
Bunun ardından, sertifikanın verildiği alan adını belirtmeniz gerekecektir. Certbot, sertifikada belirtilmişse alan adını otomatik olarak belirleyebilir. sunucu adı için alan nginx yapılandırma veya Sunucu adı ve SunucuAlias için Apache. Belirtilmemişse, program sizi bilgilendirecek ve alan adını manuel olarak girmenizi isteyecektir. Daha sonra, yardımcı program HTTP'den HTTPS protokolüne isteklerin yönlendirilmesini etkinleştirip etkinleştirmeyeceğinizi soracaktır. Otomatik yönlendirmeyi ayarlamak için, ikinci seçeneği seçmelisiniz:
Bir süre sonra Certbot, belirtilen alan için sertifikanın başarıyla edinildiğini size bildirecektir. Bu noktadan sonra, gelen tüm bağlantılar 80 numaralı porttan 443 numaralı porta yönlendirilecektir. Araç, tüm sertifika verilerini ve Let's Encrypt hesap ayrıntılarını bulabileceğiniz dizinleri gösterecektir:
Mesajda ayrıca elde edilen sertifikanın geçerlilik süresi ve tüm aktif sertifikaların yönetimi için önemli seçenekler belirtilecektir:
- kesinlikle. Bu seçenek, otomatik web sunucusu yapılandırması olmadan sertifikayı almak veya güncellemek için kullanılır. Certbot yalnızca sertifikayı talep edecek veya güncelleyecek ancak sunucu yapılandırmasında herhangi bir otomatik değişiklik yapmayacaktır. Daha önce, bir web sunucusuna bağlı olmadan sertifika almak için bu seçeneği kullandık.
- yenilemek Certbot aracılığıyla edinilen ve geçerlilik süresi içinde olan tüm sertifikaların otomatik yenilenmesi için kullanılır. Program tüm sertifikaları kontrol edecek ve bunlardan herhangi biri 30 gün veya daha kısa bir süre içinde sona ererse otomatik olarak yenilenecektir.
Talimatların devamında, kullanıcı müdahalesi olmadan her üç ayda bir sertifikaların otomatik yenilenmesinin nasıl ayarlanacağını ele alacağız.
Certbot'ta Otomatik Sertifika Yenileme
Debian/Ubuntu için
Bu işletim sistemlerini kullanırken, Certbot otomatik olarak yüklenen sertifikaların otomatik yenilenmesi için görev listesine bir betik ekler. Betiğin işlevselliğini aşağıdaki komutla kontrol edebilirsiniz:
systemctl status certbot.timer
Yanıt, hizmetin durumunu ve yapılandırma dosyasını içeren dizini görüntüler. Bunu herhangi bir metin düzenleyicisini kullanarak açabilirsiniz. Linux'taki metin düzenleyicileri konusunda deneyiminiz yoksa, kendinizi şu şekilde tanıtmanızı öneririz: genel bakışımız en popüler çözümlerden biri. Bu durumda nano kullanacağız:
nano /lib/systemd/system/certbot.timer
Tüm önemli parametreler vurgulanmıştır:
- Sefer saatlerine bakıldığında, seferlerin günde iki kez 00:00 ve 12:00 saatlerinde yapılacağı belirtiliyor;
- İkinci bir değer, zamanlayıcının başlangıcına eklenecek saniye cinsinden rastgele bir gecikmeyi gösterir. Bu durumda, 43,200 saniyedir (12 saat), bu da fırlatmayı daha rastgele hale getirir ve yükü dağıtır;
- Bu parametre, zamanlayıcının sistem kapatılırken çalıştırılması gerekiyorsa, başlatma sırasında hemen etkinleştirilmesini sağlar.
Ayrıca şu komutla sertifika yenilemenin zorunlu kontrolünü de çalıştırabilirsiniz:
certbot renew --dry-run
Bu komutu kullanarak sertifikalar güncellenmeyecektir. Bunun yerine araç, süresi dolduğunda bir sertifika almaya benzer eylemler gerçekleştirecektir. Bu şekilde, hizmetin otomatik yenilemeyle ilgili işlevselliğini sağlayabilirsiniz.
CentOS, Fedora ve diğerleri için
Red Hat ailesi sistemlerinde otomatik güncellemeleri etkinleştirme süreci biraz farklıdır. Debian/Ubuntu'nun aksine, CentOS ve diğer sistemler için zamanlayıcıya manuel olarak bir görev eklemeniz gerekir. Bunun için, cron aracı:
crontab -e
Daha sonra açılan dosyaya aşağıdaki satırı ekleyin:
0 12 * * * /usr/bin/certbot renew --quiet
Komutun temel argümanlarını inceleyelim:
- Çalıştırma zamanı. Bu durumda komut her gün saat 12:00'de otomatik olarak çalışacaktır;
- Certbot kullanarak SSL/TLS sertifikalarını yenileme komutu;
- The --sessizlik bayrak çıktıyı bastırır, işlemi daha gizli hale getirir ve sistem günlüklerinde veya ekranda daha az müdahaleci olmasını sağlar.
Komutu ekledikten sonra dosyadaki değişiklikleri kaydetmeniz gerekiyor.
Debian/Ubuntu'da olduğu gibi, sertifika yenilemelerinin zorunlu kontrolünü de başlatabilirsiniz:
certbot renew --dry-run
Komutun başarıyla yürütülmesinin sonucu aşağıdaki gibi gözükecektir:
Sonuç
Certbot'u bir Linux sunucusuna kurma ve yapılandırmanın kapsamlı sürecini inceledik. Sağlanan talimatları izleyerek Let's Encrypt'tan bir SSL/TLS sertifikasını başarıyla alabilir, web sunucunuza kurabilir ve web kaynağınıza sürekli koruma ve artan güveni sağlamak için otomatik yenilemeyi yapılandırabilirsiniz. Certbot ile kullanıcılar için güvenilir ve emniyetli bir ortam kolayca oluşturabilirsiniz.