CodeGym /Kurslar /Docker SELF /Sertifikatların idarə edilməsi və avtomatik yeniləmə ayar...

Sertifikatların idarə edilməsi və avtomatik yeniləmə ayarları

Docker SELF
Səviyyə , Dərs
Mövcuddur

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:

  1. Hazırkı istifadəçi üçün Cron redaktorunu açın:

    sudo crontab -e
    
  2. 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.

  3. 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.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION