Bu yazıda quraşdırma və konfiqurasiya prosesini araşdıracağıq Certbot Linux serverində. Biz ətraflı izah edəcəyik Let's Encrypt SSL/TLS sertifikatını necə əldə etmək olar domeniniz üçün. Biz həmçinin onu veb serverə (məsələn, Nginx və ya Apache) necə quraşdırmağı və veb resursunuzla davamlı təhlükəsiz əlaqəni təmin etmək üçün avtomatik sertifikat yeniləmələrini necə qurmağı təsvir edəcəyik.
Certbot avtomatik əldə etmək və yeniləmək üçün nəzərdə tutulmuş pulsuz, açıq mənbəli alətdir SSL/TLS sertifikatları. O, server və müştəri arasında əlaqənin təmin edilməsində, verilənlərin icazəsiz girişdən qorunmasında mühüm rol oynayır. Certbot SSL sertifikatının quraşdırılması və yenilənməsi prosesini asanlaşdırır. Sertifikat təkcə təhlükəsizliyi gücləndirmir, həm də istifadəçinin veb resursunuza inamını artırır və bununla da həm saytın reputasiyasını, həm də axtarış sistemlərinin reytinqini yaxşılaşdırır.
Certbot quraşdırılması
Certbot, onu quraşdırmaq üçün defolt olaraq əksər paylamalara daxildir Debian / Ubuntu sistemlər üçün yalnız paket siyahısını yeniləməlisiniz:
apt update
Sonra quraşdırma prosesini başladın:
apt install certbot
Certbot veb server üçün sertifikatın qurulmasını və konfiqurasiyasını asanlaşdıran plaginləri dəstəkləyir. Bu plaginləri quraşdırmaq üçün müvafiq əmrdən istifadə edin:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Üçün quraşdırma prosesi Red Hat sistemləri (məsələn RHEL, CentOS, Fedora) bir qədər fərqlidir. Əvvəlcə EPEL deposunu əlavə etməlisiniz:
yum install epel-release
Sonra aləti quraşdırın:
yum install certbot
Eynilə, müəyyən bir veb server üçün plagin seçmək üçün bir seçim var:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Quraşdırıldıqdan sonra dərhal sertifikat əldə etməyə davam edə bilərsiniz.
SSL Sertifikatının əldə edilməsi
Bu bölmədə biz Nginx və Apache üçün sertifikatın quraşdırılması prosesini təsvir etməklə, konkret veb serverdən asılı olmayaraq sertifikat əldə etmə prosesini müzakirə edəcəyik. Bununla belə, əvvəlcə proqramın sintaksisini və funksionallığını başa düşmək vacibdir. Aşağıdakı kimi görünür:
certbot command option -d domain
Əsas əmrlərə aşağıdakılar daxildir:
certbot certonly - Sertifikatı alır, lakin onu quraşdırmır.certbot certificates - Bu əmr bütün quraşdırılmış sertifikatların siyahısını göstərir.certbot renew - Mövcud sertifikatın müddətini uzadır.certbot revoke - Mövcud sertifikatı ləğv edir.certbot delete - Mövcud sertifikatı silir.
Ən çox istifadə edilən variantlar bunlardır:
--nginx - Domen yoxlanışı üçün Nginx konfiqurasiya skriptlərindən istifadə edir.--apache - Domen yoxlaması üçün Apache konfiqurasiya skriptlərindən istifadə edir.-d - Sertifikat tələb olunan domenlərin siyahısı.--standalone - Domen yoxlaması üçün müstəqil rejimdən istifadə edir.--manual - Domen yoxlamasını əl ilə həyata keçirir.
Bu, ən çox istifadə edilən əmr və seçimlərin yalnız bir nümunəsidir. Proqram imkanlarının tam siyahısı ilə yardım bölməsində tanış ola bilərsiniz:
certbot –help
İndi sertifikatı əldə etməyə davam edirik. Nümunə olaraq, biz bir sertifikat alacağıq virtual server username.pserver.space kimi pulsuz üçüncü səviyyəli domen üçün
Əvvəlcə əmri daxil etməlisiniz:
certbot certonly
Cavab olaraq, yardım proqramı domen sahibliyini yoxlamaq üçün bir üsul seçməyinizi xahiş edəcək:
Konfiqurasiya edilmiş veb serveriniz yoxdursa və ya mövcud serverə dəyişiklik etmək istəmirsinizsə, birinci seçim əlverişlidir. Bu üsul domen hüququnuzu təsdiqləmək üçün müvəqqəti veb server yaradır. Sadə və sürətli quraşdırma üçün idealdır. Bu metodu seçərkən 80 nömrəli portu boş saxlamaq vacibdir.
Əgər siz artıq fəaliyyət göstərən veb serveriniz varsa və domen hüququnu yoxlamaq üçün ondan istifadə etmək istəyirsinizsə, ikinci seçimə üstünlük verilir. Certbot xüsusi faylları serverinizdəki qovluğa yerləşdirir, sonra sertifikatlaşdırma mərkəzi tərəfindən yoxlanılır.
Birinci seçimi seçirik və növbəti düyməsini klikləyirik. Bu mərhələdə sizə lazım olacaq:
- E-poçt ünvanını daxil edin;
- Xidmət şərtləri ilə razılaşın;
- Şirkət və onun tərəfdaşları adından e-poçtları qəbul etmək və ya qəbul etməkdən imtina etmək;
- Sertifikatın verildiyi domen adını göstərin.
Certbot aləti ilə sertifikatın verilməsi prosesini tamamladıqdan sonra o, verilmiş sertifikatın və hesabınız üçün məlumatların saxlandığı qovluğa gedən yolu göstərəcək:
Əldə edilmiş sertifikatı tələb olunan xidmətlə əlaqələndirməyiniz qalır.
Nginx və ya Apache üçün Sertifikatın quraşdırılması
Bu bölmə müəyyən əsas şərtlərin yerinə yetirildiyini güman edir:
- Siz artıq Nginx və ya Apache veb serverini quraşdırmısınız və konfiqurasiya etmisiniz. Sertifikat almaq niyyətində olduğunuz domen adı vasitəsilə internetdən daxil olmaq mümkün olmalıdır;
- Alətin quraşdırılması zamanı siz müvafiq əmrdən istifadə edərək Nginx və ya Apache üçün plagin quraşdırmısınız;
- Firewall 80 və 443 nömrəli portlarda əlaqə yaratmağa imkan verir. Əgər bu portlar bağlantılar üçün bağlıdırsa, xidmət gələn bağlantılar üçün əlçatan olmayacaq. Firewall əməliyyatı haqqında daha ətraflı məlumat üçün bu barədə məqalədə müzakirə etdik Linux-da firewall qurmaq.
Bütün şərtlər yerinə yetirildikdən sonra siz birbaşa sertifikatın verilməsinə davam edə bilərsiniz. Nginx-dən istifadə edərək serverdə SSL sertifikatının əldə edilməsi prosesini nümunə kimi nəzərdən keçirəcəyik. Ancaq Apache veb serverindən istifadə edirsinizsə, proses tamamilə eynidir.
Sertifikat almaq üçün əmri daxil etməlisiniz:
certbot --nginx # for Nginx
certbot --apache # for Apache
Cavab olaraq, alət tələb edəcək: e-poçt ünvanı, Let's Encrypt xidmətinin istifadə şərtlərinə razılıq və xidmət və onun tərəfdaşları adından e-poçt göndərmək icazəsi.
Bundan sonra sertifikatın verildiyi domen adını göstərməlisiniz. Certbot domeni avtomatik olaraq müəyyən edə bilər server_name üçün sahə Nginx konfiqurasiya və ya Server adı və ServerAliases üçün Apache. Göstərilməyibsə, proqram sizi xəbərdar edəcək və domen adını əl ilə daxil etməyinizi xahiş edəcək. Sonra, yardım proqramı HTTP-dən HTTPS protokoluna sorğuların yönləndirilməsinin aktiv olub-olmamasını soruşacaq. Avtomatik yönləndirməni qurmaq üçün ikinci seçimi seçməlisiniz:
Bir müddət sonra Certbot sizə göstərilən domen üçün sertifikatın müvəffəqiyyətlə alınması barədə məlumat verəcəkdir. Bu andan etibarən bütün daxil olan bağlantılar 80-ci portdan 443-ə yönləndiriləcək. Alət bütün sertifikat məlumatlarını və Hesabı Şifrələyək təfərrüatlarını tapa biləcəyiniz qovluqları göstərəcək:
Mesaj həmçinin əldə edilmiş sertifikatın etibarlılıq müddətini və bütün aktiv sertifikatları idarə etmək üçün vacib seçimləri göstərəcəkdir:
- mütləq. Bu seçim avtomatik veb server konfiqurasiyası olmadan sertifikatı əldə etmək və ya yeniləmək üçün istifadə olunur. Certbot yalnız sertifikat tələb edəcək və ya yeniləyəcək, lakin server konfiqurasiyasında heç bir avtomatik dəyişiklik etməyəcək. Əvvəllər biz bu seçimdən veb serverə qoşulmadan sertifikat əldə etmək üçün istifadə edirdik.
- təzələmək Certbot vasitəsilə əldə edilmiş və etibarlılıq müddətində olan bütün sertifikatların avtomatik yenilənməsi üçün istifadə olunur. Proqram bütün sertifikatları yoxlayacaq və onlardan hər hansı birinin müddəti 30 gün və ya daha az müddətdə başa çatarsa, o, avtomatik olaraq yenilənəcək.
Sonrakı təlimatlarda, hər üç ayda bir istifadəçinin müdaxiləsi olmadan sertifikatların avtomatik yenilənməsinin necə qurulacağını müzakirə edəcəyik.
Certbot-da Sertifikatın Avtomatik Yenilənməsi
Debian/Ubuntu üçün
Bu əməliyyat sistemlərindən istifadə edərkən Certbot quraşdırılmış sertifikatların avtomatik yenilənməsi üçün tapşırıqlar siyahısına avtomatik olaraq skript əlavə edir. Skriptin funksionallığını aşağıdakı əmrlə yoxlaya bilərsiniz:
systemctl status certbot.timer
Cavab xidmətin vəziyyətini, həmçinin konfiqurasiya faylını ehtiva edən qovluğu göstərəcək. Bunu istənilən mətn redaktorundan istifadə edərək aça bilərsiniz. Əgər Linux-da mətn redaktorları ilə təcrübəniz yoxdursa, sizə tanış olmağı məsləhət görürük ümumi baxışımız ən məşhur həllərdən. Bu halda biz nanodan istifadə edəcəyik:
nano /lib/systemd/system/certbot.timer
Bütün vacib parametrlər vurğulanır:
- Cədvəldə göstərilir ki, xidmət gündə iki dəfə saat 00:00 və 12:00-da fəaliyyət göstərəcək;
- İkinci dəyər taymerin başlanğıcına əlavə olunacaq saniyələrlə təsadüfi gecikməni göstərir. Bu halda, 43,200 saniyə (12 saat) təşkil edir, bu da işə salınmanı daha təsadüfi edir və yükü yayır;
- Bu parametr təmin edir ki, əgər taymer sistemin bağlanması zamanı yerinə yetirilməli idisə, o, işə salındıqdan dərhal sonra işə salınacaq.
Siz həmçinin əmrlə sertifikatın yenilənməsinin məcburi yoxlanışını həyata keçirə bilərsiniz:
certbot renew --dry-run
Bu əmrdən istifadə etməklə sertifikatlar yenilənməyəcək. Əvəzində alət müddəti bitdikdən sonra sertifikat əldə etməyə bənzər hərəkətlər edəcək. Beləliklə, siz avtomatik yeniləmə ilə bağlı xidmətin funksionallığını təmin edə bilərsiniz.
CentOS, Fedora və başqaları üçün
Red Hat ailə sistemlərində avtomatik yeniləmələrin aktivləşdirilməsi prosesi bir qədər fərqlidir. Debian/Ubuntu-dan fərqli olaraq, CentOS və digər sistemlər üçün planlayıcıya tapşırıqları əl ilə əlavə etməlisiniz. Bunun üçün istifadə edəcəyik cron alət:
crontab -e
Sonra açılan faylda aşağıdakı sətri əlavə edin:
0 12 * * * /usr/bin/certbot renew --quiet
Komandanın əsas arqumentlərini parçalayaq:
- İcra vaxtı. Bu halda, komanda avtomatik olaraq hər gün saat 12:00-da işləyəcək;
- Certbot istifadə edərək SSL/TLS sertifikatlarını yeniləmək əmri;
- The --sakit bayraq çıxışı dayandıraraq prosesi daha gizli və sistem qeydlərində və ya ekranda daha az müdaxilə edir.
Əmri əlavə etdikdən sonra faylda dəyişiklikləri saxlamalısınız.
Debian/Ubuntu ilə olduğu kimi, siz də sertifikat yeniləmələrinin məcburi yoxlanışına başlaya bilərsiniz:
certbot renew --dry-run
Əmrin uğurlu icrasının nəticəsi aşağıdakı kimi görünür:
Nəticə
Biz Linux serverində Certbot-un quraşdırılması və konfiqurasiyasının hərtərəfli prosesini araşdırdıq. Təqdim olunan təlimatlara əməl etməklə siz Let's Encrypt-dən uğurla SSL/TLS sertifikatı əldə edə, onu veb serverinizdə quraşdıra və veb resursunuza davamlı qorunma və artan inamı təmin etmək üçün avtomatik yenilənməni konfiqurasiya edə bilərsiniz. Certbot ilə siz asanlıqla istifadəçilər üçün etibarlı və təhlükəsiz mühit yarada bilərsiniz.