Sertifikatların idarə edilməsi və avtomatik yeniləmə ayarları
1. Mövcud sertifikatların yoxlanılması
certbot certificates
komandası
Sadədən başlayaq: serverinizdə hansı sertifikatların artıq quraşdırıldığını necə öyrənmək olar? Let's Encrypt hər kəsə əlverişli bir alət təqdim edir — certbot
. certbot certificates
komandası ilə mövcud sertifikatlar haqqında ətraflı məlumat əldə edə bilərsiniz.
sudo certbot certificates
Nəticədə siz belə bir şey görəcəksiniz:
Found the following certs:
Certificate Name: example.com
Domains: example.com www.example.com
Expiry Date: 2023-12-31 10:00:00+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem
Burada vacib detalları görə bilərsiniz:
- Sertifikatın adı.
- Sertifikat ilə əhatə olunan domenlər.
- Bitmə tarixi (ki, vaxtında yeniləməni edə biləsiniz).
- Sertifikat və şəxsi açar fayllarının yolu.
Faydalı tövsiyə:
Əgər siz vaxtında sertifikatların bitmə tarixini görməyi unudanlardansınızsa, bu komanda sizin yaxşı dostunuz olacaq. Axı kiməsə bitmiş sertifikatı olan proqramçı kimi qarğış edən istifadəçilərdən xəcalət çəkmək istəməzsiniz.
2. Sertifikatların avtomatik yenilənməsi
Let's Encrypt pərdəsinin arxasında
Let's Encrypt sertifikatları 90 gün ərzində qüvvədə olur, bu da təhlükəsizlik risklərini minimallaşdırmaq üçündür. Amma hər 3 aydan bir onları əl ilə yeniləmək heç də yaxşı fikir deyil. Şükür ki, avtomatlaşdırma üçün daxili bir komanda var:
sudo certbot renew
Bu proses bütün sertifikatları yoxlayır və müddəti yaxınlaşanları avtomatik yeniləyir.
Cron vasitəsilə avtomatik yeniləmənin qurulması
Cron
— Linux-da tapşırıqları planlaşdırmaq üçün daxili bir alətdir. O, əmrləri cədvəl üzrə işə salır və sertifikatların yenilənməsi üçün bizə lazım olan da məhz budur. Cron-un yeniləmə üçün necə qurulduğu aşağıda göstərilib:
Hazırkı istifadəçi üçün
Cron
redaktorunu açın:sudo crontab -e
Faylın sonuna aşağıdakı sətri əlavə edin:
0 0 * * * certbot renew --quiet
Bu əmr
certbot renew
-ni hər gecə yarısı işə salır.--quiet
flag-i artıq çıxışı susdurur, beləliklə yeniləmə səssizcə baş tutur və heç kəsi narahat etmir.Dəyişiklikləri yadda saxlayın və redaktordan çıxın.
İndi serveriniz sertifikatları avtomatik yeniləyəcək və onların müddətinin bitməsindən narahat olmayacaqsınız (ya da demək olar ki, olmayacaqsınız).
3. Sertifikatların əl ilə yenilənməsi
Bəzən avtomatlaşdırma bütün problemləri həll etmir və sertifikatları özünüz yeniləməli olursunuz. Məsələn, əgər siz sayt konfiqurasiyasına yeni bir domen əlavə etmisinizsə, yeni sertifikatı əl ilə tələb etməlisiniz. Burada köməyinizə certbot
çatır:
Komanda nümunəsi:
sudo certbot renew
Müəyyən domen üçün sertifikatın yenilənməsi
Əgər siz müəyyən bir domenlə bağlı sertifikatı yeniləmək istəyirsinizsə, bu formatdan istifadə olunur:
sudo certbot certonly --nginx -d example.com -d www.example.com
Burada:
--nginx
serverin konfiqurasiyasının avtomatik olaraq Nginx üçün tətbiq olunacağını göstərir. Apache üçün isə--apache
istifadə olunur.-d
flag-ı sertifikat tələb olunan domenləri sadalayır.
Komanda yerinə yetirildikdən sonra Certbot serverin konfiqurasiyasını yoxlayacaq, yeni sertifikat tələb edəcək və onu sazlayacaq.
4. Bildirişlər və monitorinq
Email bildirişləri
Certbot quraşdırılarkən sizdən email ünvanınızı istəmişdi. Əgər göstərmisinizsə, sertifikatın müddəti bitməsindən 20 gün əvvəl bildirişlər alacaqsınız. Əgər birdən email ünvanınızı göstərməmisinizsə və ya onu dəyişmək istəsəniz, bunu belə edə bilərsiniz:
sudo certbot register --update-registration --email newaddress@example.com
İndi heç bir vəziyyət sizi hazırlıqsız tutmayacaq. Yəni, demək olar ki.
Xaricdən yoxlama
Sertifikatların müddətini izləməkdə sizə kömək edə biləcək üçüncü tərəf xidmətlər mövcuddur. Məsələn, SSL Labs. Sadəcə saytın ünvanını daxil edin və xidmət onun sertifikatını, müddətini, etibarlılıq zəncirini və təhlükəsizlik səviyyəsini yoxlayacaq.
5. Lazımsız sertifikatların silinməsi
Bəzən köhnə sertifikatlar aktual olmur, məsələn, hər hansı bir domeni artıq idarə etmirsinizsə. Sistemi tullantılarla doldurmamaq üçün onları silmək daha yaxşıdır.
Silinmə komandası:
sudo certbot delete
Certbot mövcud sertifikatların siyahısını göstərəcək və hansını siləcəyinizi seçməyi təklif edəcək.
Faydalı məsləhət:
Sertifikatları silərkən diqqətli olun ki, işləyən bir saytı təsadüfən sıradan çıxarmayasınız. Həmişə yoxlayın ki, sertifikat artıq heç yerdə istifadə edilmir.
6. Nümunələr və səhvlərin debugging-i
Yeniləmədən sonra yoxlama
Hər hansı dəyişiklik və ya sertifikatların yenilənməsindən sonra həmişə yoxlayın ki, sayt düzgün işləyir. Bunu ən asan curl
ilə etməkdir:
curl -I https://example.com
Gözlənilən nəticə — kod HTTP/1.1 200 OK
.
Əgər nəsə düzgün getməyibsə, ilk növbədə log-lara baxın:
Nginx üçün:
sudo tail -f /var/log/nginx/error.log
Apache üçün:
sudo tail -f /var/log/apache2/error.log
Tez-tez baş verən səhv: "Too Many Requests"
Əgər çox tez-tez yeni sertifikatlar istəyirsinizsə, Let's Encrypt sizə "Too Many Requests" səhvi ilə girişi məhdudlaşdıra bilər. Belə hallarda Let's Encrypt-in test serverindən istifadə tövsiyə olunur:
sudo certbot certonly --test-cert --nginx -d example.com
Bu komanda real istifadə üçün yararlı olmayan test sertifikatı verir, amma konfiqurasiyanı yoxlamağa kömək edir.
7. Son addım: veb-serverin avtomatik yenidən işə salınması
Let's Encrypt sertifikat fayllarını yeniləyir, amma Nginx və ya Apache kimi veb-serverlər dəyişiklikləri yalnız onları yenidən işə saldıqda görür. Bu proses də avtomatlaşdırıla bilər. Cron qeydlərinizi yeniləyin:
0 0 * * * certbot renew --quiet && systemctl reload nginx
Və ya Apache üçün:
0 0 * * * certbot renew --quiet && systemctl reload apache2
İndi hər hansı bir sertifikat yeniləndikdən sonra dərhal serverə tətbiq ediləcək.
Bu mühazirədə məqsəd odur ki, siz gecələr rahat yata biləsiniz, çünki sertifikatlarınız avtomatik yenilənir, saytlarınız qorunur və sizə gecə saat üçdə "İstifadəçilər şikayət edirlər ki, sayt işləmir" deyə bossdan zəng gəlməyəcək. Sertifikatların idarə edilməsi real işdə, xüsusilə böyük veb-applications və ya DevOps mühəndisliyində işləməyi planlaşdırırsınızsa, vacib bir bacarıqdır.
GO TO FULL VERSION