ამ სტატიაში ჩვენ განვიხილავთ Certbot-ის Linux სერვერზე ინსტალაციისა და კონფიგურაციის პროცესს . დეტალურად ავხსნით, თუ როგორ მიიღოთ Let's Encrypt SSL/TLS სერტიფიკატი თქვენი დომენისთვის. ასევე აღვწერთ, თუ როგორ დააინსტალიროთ ის ვებ სერვერზე (მაგალითად, Nginx ან Apache) და დააყენოთ სერტიფიკატების ავტომატური განახლება, რათა უზრუნველყოთ თქვენს ვებ რესურსთან უწყვეტი უსაფრთხო კავშირი.
Certbot არის უფასო, ღია კოდის ინსტრუმენტი, რომელიც შექმნილია SSL/TLS სერტიფიკატების ავტომატური მიღებისა და განახლებისთვის . ის გადამწყვეტ როლს ასრულებს სერვერსა და კლიენტს შორის კავშირის უზრუნველყოფაში, მონაცემების არაავტორიზებული წვდომისგან დაცვაში. Certbot ამარტივებს SSL სერტიფიკატის ინსტალაციისა და განახლების პროცესს. სერტიფიკატი არა მხოლოდ აძლიერებს უსაფრთხოებას, არამედ ზრდის მომხმარებლის ნდობას თქვენი ვებ რესურსის მიმართ, რითაც აუმჯობესებს როგორც საიტის რეპუტაციას, ასევე მის რეიტინგს საძიებო სისტემებში.
Certbot-ის ინსტალაცია
Certbot სტანდარტულად შედის დისტრიბუციების უმეტესობაში, ამიტომ Debian/Ubuntu სისტემებზე მისი ინსტალაციისთვის, თქვენ მხოლოდ პაკეტების სიის განახლება გჭირდებათ:
apt update
შემდეგ დაიწყეთ ინსტალაციის პროცესი:
apt install certbot
Certbot მხარს უჭერს დანამატებს, რომლებიც ხელს უწყობენ სერთიფიკატის დაყენებას და კონფიგურაციას ვებ სერვერისთვის. ამ დანამატების დასაყენებლად გამოიყენეთ შესაბამისი ბრძანება:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Red Hat სისტემების (როგორიცაა RHEL , CentOS , Fedora ) ინსტალაციის პროცესი ოდნავ განსხვავებულია. თავდაპირველად, თქვენ უნდა დაამატოთ EPEL რეპოზიტორი:
yum install epel-release
შემდეგ დააინსტალირეთ ინსტრუმენტი:
yum install certbot
ანალოგიურად, არსებობს კონკრეტული ვებ სერვერისთვის მოდულის არჩევის ვარიანტი:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
ინსტალაციის შემდეგ, შეგიძლიათ დაუყოვნებლივ გააგრძელოთ სერთიფიკატის მიღება.
SSL სერთიფიკატის მიღება
ამ განყოფილებაში განვიხილავთ სერტიფიკატის მიღების პროცესს კონკრეტული ვებ სერვერისგან დამოუკიდებლად, რასაც მოჰყვება Nginx-ისა და Apache-სთვის სერთიფიკატის დაყენების პროცესის აღწერა. თუმცა, პირველ რიგში აუცილებელია პროგრამის სინტაქსისა და ფუნქციონირების გაგება. გამოდის შემდეგნაირად:
certbot command option -d domain
ძირითადი ბრძანებები მოიცავს:
certbot certonly - იღებს სერთიფიკატს, მაგრამ არ აყენებს მას.certbot certificates - ეს ბრძანება აჩვენებს ყველა დაინსტალირებული სერთიფიკატის ჩამონათვალს.certbot renew - აგრძელებს არსებულ სერტიფიკატს.certbot revoke - აუქმებს არსებულ სერტიფიკატს.certbot delete - შლის არსებულ სერთიფიკატს.
ყველაზე ხშირად გამოყენებული ვარიანტებია:
--nginx - იყენებს Nginx კონფიგურაციის სკრიპტებს დომენის გადამოწმებისთვის.--apache - იყენებს Apache-ს კონფიგურაციის სკრიპტებს დომენის გადამოწმებისთვის.-d - დომენების სია, რომლებისთვისაც მოითხოვება სერტიფიკატი.--standalone - იყენებს დამოუკიდებელ რეჟიმს დომენის გადამოწმებისთვის.--manual - ახორციელებს დომენის ხელით გადამოწმებას.
ეს მხოლოდ ყველაზე ხშირი ბრძანებებისა და ვარიანტების მაგალითია. შეგიძლიათ გაეცნოთ პროგრამის შესაძლებლობების სრულ ჩამონათვალს დახმარების განყოფილებაში:
certbot –help
ახლა ჩვენ ვაგრძელებთ სერტიფიკატის მიღებას. მაგალითად, ჩვენ მივიღებთ სერტიფიკატს ვირტუალური სერვერისთვის უფასო მესამე დონის დომენისთვის, როგორიცაა yourusername.pserver.space.
პირველ რიგში, თქვენ უნდა შეიყვანოთ ბრძანება:
certbot certonly
საპასუხოდ, პროგრამა მოგთხოვთ აირჩიოთ მეთოდი დომენის საკუთრების დასადასტურებლად:
პირველი ვარიანტი მოსახერხებელია, თუ არ გაქვთ კონფიგურირებული ვებ სერვერი ან არ გსურთ ცვლილებების შეტანა არსებულში. ეს მეთოდი ქმნის დროებით ვებ სერვერს დომენზე თქვენი უფლების დასადასტურებლად. იდეალურია მარტივი და სწრაფი დაყენებისთვის. ამ მეთოდის არჩევისას მნიშვნელოვანია, რომ პორტი 80 თავისუფალი იყოს.
მეორე ვარიანტი სასურველია, თუ თქვენ უკვე გაქვთ ვებ სერვერი მოქმედი და გსურთ მისი გამოყენება დომენის უფლების დასადასტურებლად. Certbot ათავსებს სპეციალურ ფაილებს თქვენს სერვერზე არსებულ საქაღალდეში, რომლებიც შემდეგ მოწმდება სერტიფიცირების ცენტრის მიერ.
ჩვენ ვირჩევთ პირველ ვარიანტს და დააჭირეთ შემდეგს. ამ ეტაპზე დაგჭირდებათ:
- შეიყვანეთ ელექტრონული ფოსტის მისამართი;
- ეთანხმებით მომსახურების პირობებს;
- დაეთანხმეთ ან უარს აცხადებთ ელ.ფოსტის მიღებაზე კომპანიისა და მისი პარტნიორების სახელით;
- მიუთითეთ დომენის სახელი, რომელზეც გაიცემა სერთიფიკატი.
Certbot ინსტრუმენტით სერთიფიკატის გაცემის პროცესის დასრულების შემდეგ, ის მიუთითებს იმ დირექტორიასკენ მიმავალ გზაზე, სადაც ინახება გაცემული სერთიფიკატი და თქვენი ანგარიშის მონაცემები:
რჩება მხოლოდ მიღებული სერტიფიკატის დაკავშირება საჭირო სერვისთან.
სერთიფიკატის დაყენება Nginx-ისთვის ან Apache-სთვის
ეს ნაწილი ვარაუდობს, რომ გარკვეული ფუნდამენტური პირობები დაკმაყოფილებულია:
- თქვენ უკვე დააინსტალირეთ და დააკონფიგურირეთ ვებ სერვერი, ან Nginx ან Apache. ის ხელმისაწვდომი უნდა იყოს ინტერნეტიდან იმ დომენის სახელით, რომლისთვისაც აპირებთ სერტიფიკატის მიღებას;
- ხელსაწყოს ინსტალაციის დროს თქვენ ასევე დააინსტალირეთ დანამატი Nginx-ისთვის ან Apache-სთვის შესაბამისი ბრძანების გამოყენებით;
- Firewall საშუალებას აძლევს კავშირებს 80 და 443 პორტებზე. თუ ეს პორტები დახურულია კავშირებისთვის, სერვისი მიუწვდომელი იქნება შემომავალი კავშირებისთვის. firewall-ის მუშაობის შესახებ დამატებითი ინფორმაციისთვის, ჩვენ განვიხილეთ ეს სტატიაში Linux-ზე firewall-ის დაყენება.
ყველა პირობის დაკმაყოფილების შემდეგ, შეგიძლიათ პირდაპირ გადახვიდეთ სერტიფიკატის გაცემაზე. ჩვენ განვიხილავთ სერვერზე SSL სერთიფიკატის მოპოვების პროცესს Nginx-ის გამოყენებით. თუმცა, თუ იყენებთ Apache ვებ სერვერს, პროცესი სრულიად იდენტურია.
სერთიფიკატის მისაღებად, თქვენ უნდა შეიყვანოთ ბრძანება:
certbot --nginx # for Nginx
certbot --apache # for Apache
საპასუხოდ, ინსტრუმენტი მოითხოვს: ელ.ფოსტის მისამართს, თანხმობას Let's Encrypt სერვისის გამოყენების პირობებზე და ნებართვას, გაგზავნოს წერილები სერვისისა და მისი პარტნიორების სახელით.
ამის შემდეგ, თქვენ უნდა მიუთითოთ დომენის სახელი, რომლისთვისაც გაიცემა სერტიფიკატი. Certbot-ს შეუძლია ავტომატურად განსაზღვროს დომენი, თუ ის მითითებული იყო server_name ველში Nginx კონფიგურაციისთვის ან ServerName და ServerAlias ველში Apache- სთვის . თუ ის არ არის მითითებული, პროგრამა შეგატყობინებთ და გთხოვთ, ხელით შეიყვანოთ დომენის სახელი. შემდეგ, პროგრამა გკითხავთ, ჩართოთ თუ არა მოთხოვნების გადამისამართება HTTP-დან HTTPS პროტოკოლზე. ავტომატური გადამისამართების დასაყენებლად, თქვენ უნდა აირჩიოთ მეორე ვარიანტი:
გარკვეული პერიოდის შემდეგ, Certbot შეგატყობინებთ მითითებული დომენისთვის სერთიფიკატის წარმატებით შეძენის შესახებ. ამ მომენტიდან, ყველა შემომავალი კავშირი გადამისამართდება პორტიდან 80-დან 443-მდე. ხელსაწყო აჩვენებს დირექტორიებს, რომლებშიც შეგიძლიათ იპოვოთ სერტიფიკატის ყველა მონაცემი და Let's Encrypt ანგარიშის დეტალები:
შეტყობინებაში ასევე მითითებული იქნება მიღებული სერტიფიკატის მოქმედების პერიოდი და ყველა აქტიური სერტიფიკატის მართვის მნიშვნელოვანი პარამეტრები:
- რათქმაუნდა. ეს პარამეტრი გამოიყენება სერთიფიკატის მისაღებად ან განახლებისთვის ვებ სერვერის ავტომატური კონფიგურაციის გარეშე. Certbot მხოლოდ მოითხოვს ან განაახლებს სერთიფიკატს, მაგრამ არ შეიტანს ავტომატურ ცვლილებებს სერვერის კონფიგურაციაში. ადრე ჩვენ ვიყენებდით ამ ვარიანტს სერთიფიკატის მისაღებად ვებ სერვერთან მიბმულობის გარეშე.
- განვაახლოთ გამოიყენება ყველა სერტიფიკატის ავტომატური განახლებისთვის, რომლებიც მიღებულია Certbot-ის მეშვეობით და მოქმედების ვადაშია. პროგრამა შეამოწმებს ყველა სერთიფიკატს და თუ რომელიმე მათგანს ვადა ამოეწურება 30 ან ნაკლები დღის განმავლობაში, ის ავტომატურად განახლდება.
შემდეგ ინსტრუქციებში განვიხილავთ, თუ როგორ უნდა დააყენოთ სერტიფიკატების ავტომატური განახლება მომხმარებლის ჩარევის გარეშე სამ თვეში ერთხელ.
ავტომატური სერთიფიკატის განახლება Certbot-ში
Debian/Ubuntu-სთვის
ამ ოპერაციული სისტემების გამოყენებისას, Certbot ავტომატურად ამატებს სკრიპტს ამოცანების სიაში დაინსტალირებული სერთიფიკატების ავტომატური განახლებისთვის. თქვენ შეგიძლიათ შეამოწმოთ სკრიპტის ფუნქციონირება შემდეგი ბრძანებით:
systemctl status certbot.timer
პასუხში გამოჩნდება სერვისის სტატუსი, ასევე კონფიგურაციის ფაილის შემცველი დირექტორია. მისი გახსნა შეგიძლიათ ნებისმიერი ტექსტური რედაქტორის გამოყენებით. თუ Linux-ში ტექსტურ რედაქტორებთან მუშაობის გამოცდილება არ გაქვთ, გირჩევთ გაეცნოთ ჩვენს ყველაზე პოპულარული გადაწყვეტილებების მიმოხილვას. ამ შემთხვევაში, ჩვენ გამოვიყენებთ nano-ს:
nano /lib/systemd/system/certbot.timer
ხაზგასმულია ყველა მნიშვნელოვანი პარამეტრი:
- განრიგში მითითებულია, რომ სერვისი იმუშავებს დღეში ორჯერ 00:00 და 12:00 საათზე;
- მეორე მნიშვნელობა მიუთითებს შემთხვევით დაყოვნებაზე წამებში, რომელიც დაემატება ტაიმერის დაწყებას. ამ შემთხვევაში ეს არის 43,200 წამი (12 საათი), რაც გაშვებას უფრო შემთხვევით ხდის და ავრცელებს დატვირთვას;
- ეს პარამეტრი უზრუნველყოფს, რომ თუ ტაიმერი უნდა შესრულებულიყო სისტემის გამორთვის დროს, ის გააქტიურდება დაუყოვნებლივ გაშვებისთანავე.
თქვენ ასევე შეგიძლიათ განახორციელოთ სერტიფიკატის განახლების იძულებითი შემოწმება ბრძანებით:
certbot renew --dry-run
ამ ბრძანების გამოყენებით, სერთიფიკატები არ განახლდება. ამის ნაცვლად, ინსტრუმენტი შეასრულებს მსგავს ქმედებებს, როგორც სერთიფიკატის მიღების ვადის გასვლის შემდეგ. ამ გზით თქვენ შეგიძლიათ უზრუნველყოთ სერვისის ფუნქციონირება ავტომატურ განახლებასთან დაკავშირებით.
CentOS-ისთვის, Fedora-სთვის და სხვებისთვის
Red Hat-ის ოჯახის სისტემებში ავტომატური განახლებების ჩართვის პროცესი ოდნავ განსხვავებულია. Debian/Ubuntu-სგან განსხვავებით, CentOS-ისა და სხვა სისტემებისთვის, თქვენ ხელით უნდა დაამატოთ დავალება დამგეგმავში. ამისათვის ჩვენ გამოვიყენებთ cron ინსტრუმენტს:
crontab -e
შემდეგ, ფაილში, რომელიც იხსნება, დაამატეთ შემდეგი ხაზი:
0 12 * * * /usr/bin/certbot renew --quiet
მოდით ჩამოვყოთ ბრძანების ძირითადი არგუმენტები:
- შესრულების დრო. ამ შემთხვევაში ბრძანება ავტომატურად იმუშავებს ყოველდღე 12:00 საათზე;
- ბრძანება SSL/TLS სერთიფიკატების განახლების შესახებ Certbot-ის გამოყენებით;
- ის -- მშვიდი დროშა თრგუნავს გამომავალს, ხდის პროცესს უფრო დამალული და ნაკლებად ინტრუზიული სისტემის ჟურნალებში ან ეკრანზე.
ბრძანების დამატების შემდეგ, თქვენ უნდა შეინახოთ ცვლილებები ფაილში.
ისევე, როგორც Debian/Ubuntu-სთან ერთად, თქვენ ასევე შეგიძლიათ დაიწყოთ სერტიფიკატის განახლების იძულებითი შემოწმება:
certbot renew --dry-run
ბრძანების წარმატებით შესრულების შედეგი ასე გამოიყურება:
დასკვნა
ჩვენ შევისწავლეთ Linux სერვერზე Certbot-ის ინსტალაციისა და კონფიგურაციის ყოვლისმომცველი პროცესი. მოწოდებული ინსტრუქციების დაცვით, შეგიძლიათ წარმატებით მიიღოთ SSL/TLS სერთიფიკატი Let's Encrypt-ისგან, დააინსტალიროთ იგი თქვენს ვებ სერვერზე და დააკონფიგურიროთ ავტომატური განახლება, რათა უზრუნველყოთ უწყვეტი დაცვა და გაზრდილი ნდობა თქვენი ვებ რესურსის მიმართ. Certbot-ის საშუალებით თქვენ შეგიძლიათ მარტივად შექმნათ საიმედო და უსაფრთხო გარემო მომხმარებლებისთვის.