Ushbu maqolada biz o'rnatish va sozlash jarayonini ko'rib chiqamiz Certbot Linux serverida. Biz batafsil tushuntiramiz Let's Encrypt SSL/TLS sertifikatini qanday olish mumkin domeningiz uchun. Shuningdek, biz uni veb-serverga (masalan, Nginx yoki Apache) qanday o'rnatishni va veb-resursingiz bilan uzluksiz xavfsiz ulanishni ta'minlash uchun sertifikatning avtomatik yangilanishini sozlashni tasvirlab beramiz.
Certbot avtomatik sotib olish va yangilash uchun mo'ljallangan bepul, ochiq manbali vositadir SSL/TLS sertifikatlari. Bu server va mijoz o'rtasidagi aloqani ta'minlashda, ma'lumotlarni ruxsatsiz kirishdan himoya qilishda hal qiluvchi rol o'ynaydi. Certbot SSL sertifikatini o'rnatish va yangilash jarayonini soddalashtiradi. Sertifikat nafaqat xavfsizlikni kuchaytiradi, balki foydalanuvchilarning veb-resursga ishonchini oshiradi va shu orqali ham sayt obro'sini, ham qidiruv tizimidagi reytingini yaxshilaydi.
Certbot o'rnatilmoqda
Certbot sukut bo'yicha ko'pgina distributivlarga kiritilgan, shuning uchun uni o'rnatish uchun Debian / Ubuntu tizimlar uchun faqat paketlar ro'yxatini yangilashingiz kerak:
apt update
Keyin o'rnatish jarayonini boshlang:
apt install certbot
Certbot veb-server uchun sertifikatni sozlash va sozlashni osonlashtiradigan plaginlarni qo'llab-quvvatlaydi. Ushbu plaginlarni o'rnatish uchun tegishli buyruqdan foydalaning:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
uchun o'rnatish jarayoni Red Hat tizimlari (masalan RHEL, CentOs, Fedora) biroz farq qiladi. Dastlab, siz EPEL omborini qo'shishingiz kerak:
yum install epel-release
Keyin asbobni o'rnating:
yum install certbot
Xuddi shunday, ma'lum bir veb-server uchun plaginni tanlash imkoniyati mavjud:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
O'rnatishdan so'ng darhol sertifikat olishga o'tishingiz mumkin.
SSL sertifikatini olish
Ushbu bo'limda biz ma'lum bir veb-serverdan mustaqil ravishda sertifikat olish jarayonini muhokama qilamiz, so'ngra Nginx va Apache uchun sertifikatni o'rnatish jarayonini tavsiflaymiz. Biroq, avvalo dasturning sintaksisi va funksionalligini tushunish kerak. U quyidagicha ko'rinadi:
certbot command option -d domain
Asosiy buyruqlar quyidagilarni o'z ichiga oladi:
certbot certonly - Sertifikatni oladi, lekin uni o'rnatmaydi.certbot certificates - Bu buyruq barcha o'rnatilgan sertifikatlar ro'yxatini ko'rsatadi.certbot renew - Mavjud sertifikat muddatini uzaytiradi.certbot revoke - mavjud sertifikatni bekor qiladi.certbot delete - Mavjud sertifikatni o'chiradi.
Eng ko'p ishlatiladigan variantlar:
--nginx - Domenni tekshirish uchun Nginx konfiguratsiya skriptlaridan foydalanadi.--apache - Domenni tekshirish uchun Apache konfiguratsiya skriptlaridan foydalanadi.-d - Sertifikat so'raladigan domenlar ro'yxati.--standalone - Domenni tekshirish uchun mustaqil rejimdan foydalanadi.--manual - Domenni qo'lda tekshirishni amalga oshiradi.
Bu eng tez-tez uchraydigan buyruqlar va variantlarga misol. Yordam bo'limida dastur imkoniyatlarining to'liq ro'yxati bilan tanishishingiz mumkin:
certbot –help
Endi biz sertifikat olishga kirishamiz. Misol tariqasida, biz a uchun sertifikat olamiz Virtual server yourusername.pserver.space kabi bepul uchinchi darajali domen uchun
Birinchidan, siz buyruqni kiritishingiz kerak:
certbot certonly
Bunga javoban, yordamchi dastur sizdan domen egaligini tekshirish usulini tanlashingizni so'raydi:
Agar sizda konfiguratsiya qilingan veb-server bo'lmasa yoki mavjud serverga o'zgartirish kiritishni xohlamasangiz, birinchi variant qulay. Ushbu usul domenga bo'lgan huquqingizni tasdiqlash uchun vaqtinchalik veb-server yaratadi. Bu oddiy va tez sozlash uchun ideal. Ushbu usulni tanlashda 80-portni bo'sh saqlash muhimdir.
Agar sizda allaqachon veb-server ishlayotgan bo'lsa va uni domenga bo'lgan huquqni tekshirish uchun ishlatmoqchi bo'lsangiz, ikkinchi variant afzalroqdir. Certbot maxsus fayllarni serveringizdagi papkaga joylashtiradi, keyinchalik ular sertifikatlash markazi tomonidan tekshiriladi.
Biz birinchi variantni tanlaymiz va keyingi tugmasini bosing. Ushbu bosqichda sizga kerak bo'ladi:
- Elektron pochta manzilini kiriting;
- Xizmat ko'rsatish shartlariga rozilik bildiring;
- Kompaniya va uning hamkorlari nomidan elektron pochta xabarlarini olishga rozilik bildirish yoki rad etish;
- Sertifikat beriladigan domen nomini belgilang.
Certbot vositasi bilan sertifikat berish jarayonini tugatgandan so'ng, u berilgan sertifikat va hisobingiz uchun ma'lumotlar saqlanadigan katalogga yo'lni ko'rsatadi:
Olingan sertifikatni kerakli xizmatga ulashingiz qoladi.
Nginx yoki Apache uchun sertifikat o'rnatish
Ushbu bo'limda ba'zi asosiy shartlar bajarilgan deb taxmin qilinadi:
- Siz allaqachon Nginx yoki Apache veb-serverini o'rnatgan va sozlagansiz. Siz sertifikat olmoqchi bo'lgan domen nomi orqali Internetdan kirish mumkin bo'lishi kerak;
- Asbobni o'rnatish vaqtida siz tegishli buyruq yordamida Nginx yoki Apache uchun plaginni ham o'rnatdingiz;
- Xavfsizlik devori 80 va 443 portlarda ulanishga ruxsat beradi. Agar bu portlar ulanishlar uchun yopiq bo'lsa, xizmat kiruvchi ulanishlar uchun mavjud bo'lmaydi. Xavfsizlik devori ishlashi haqida ko'proq ma'lumot olish uchun biz buni maqolada muhokama qildik Linuxda xavfsizlik devorini o'rnatish.
Barcha shartlar bajarilgandan so'ng, siz to'g'ridan-to'g'ri sertifikat berishga o'tishingiz mumkin. Misol sifatida Nginx-dan foydalangan holda serverda SSL sertifikatini olish jarayonini ko'rib chiqamiz. Ammo, agar siz Apache veb-serveridan foydalansangiz, jarayon butunlay bir xil.
Sertifikatni olish uchun siz buyruqni kiritishingiz kerak:
certbot --nginx # for Nginx
certbot --apache # for Apache
Bunga javoban, vosita so'raydi: elektron pochta manzili, Let's Encrypt xizmatidan foydalanish shartlariga rozilik va xizmat va uning hamkorlari nomidan elektron pochta xabarlarini yuborishga ruxsat.
Shundan so'ng siz sertifikat berilgan domen nomini ko'rsatishingiz kerak bo'ladi. Agar u domenda ko'rsatilgan bo'lsa, Certbot avtomatik ravishda domenni aniqlay oladi server_name uchun maydon nginx konfiguratsiya yoki Server nomi va Server Alias uchun Apache. Agar u ko'rsatilmagan bo'lsa, dastur sizni xabardor qiladi va domen nomini qo'lda kiritishingizni so'raydi. Keyin yordamchi dastur HTTP dan HTTPS protokoliga so'rovlarni qayta yo'naltirishni yoqish yoki yo'qligini so'raydi. Avtomatik qayta yo'naltirishni o'rnatish uchun siz ikkinchi variantni tanlashingiz kerak:
Biroz vaqt o'tgach, Certbot sizga ko'rsatilgan domen uchun sertifikat muvaffaqiyatli olinganligi haqida xabar beradi. Shu nuqtadan boshlab barcha kiruvchi ulanishlar 80-portdan 443-gacha yoʻnaltiriladi. Asbob barcha sertifikat maʼlumotlarini va “Keling shifrlash” hisob qaydnomasi maʼlumotlarini topishingiz mumkin boʻlgan kataloglarni koʻrsatadi:
Xabarda, shuningdek, olingan sertifikatning amal qilish muddati va barcha faol sertifikatlarni boshqarishning muhim variantlari ko'rsatiladi:
- albatta. Ushbu parametr avtomatik veb-server konfiguratsiyasisiz sertifikatni olish yoki yangilash uchun ishlatiladi. Certbot faqat sertifikatni so'raydi yoki yangilaydi, lekin server konfiguratsiyasiga hech qanday avtomatik o'zgartirish kiritmaydi. Ilgari biz veb-serverga ulanmasdan sertifikat olish uchun ushbu imkoniyatdan foydalanganmiz.
- yangilang Certbot orqali olingan va amal qilish muddati ichida bo'lgan barcha sertifikatlarni avtomatik yangilash uchun ishlatiladi. Dastur barcha sertifikatlarni tekshiradi va agar ulardan birortasining amal qilish muddati 30 kun yoki undan kamroq vaqt ichida tugasa, u avtomatik ravishda yangilanadi.
Keyingi ko'rsatmalarda biz har uch oyda foydalanuvchi aralashuvisiz sertifikatlarning avtomatik yangilanishini qanday sozlashni muhokama qilamiz.
Certbot-da sertifikatni avtomatik yangilash
Debian/Ubuntu uchun
Ushbu operatsion tizimlardan foydalanganda Certbot avtomatik ravishda o'rnatilgan sertifikatlarni avtomatik yangilash uchun vazifalar ro'yxatiga skript qo'shadi. Quyidagi buyruq yordamida skriptning funksionalligini tekshirishingiz mumkin:
systemctl status certbot.timer
Javobda xizmat holati, shuningdek, konfiguratsiya faylini o'z ichiga olgan katalog ko'rsatiladi. Buni istalgan matn muharriri yordamida ochishingiz mumkin. Agar siz Linuxda matn muharrirlari bilan tajribangiz bo'lmasa, biz bilan tanishib chiqishingizni tavsiya qilamiz bizning umumiy fikrimiz eng mashhur yechimlardan. Bunday holda biz nanodan foydalanamiz:
nano /lib/systemd/system/certbot.timer
Barcha muhim parametrlar ta'kidlangan:
- Jadvalda xizmat kuniga ikki marta soat 00:00 va 12:00 da ishlashi ko'rsatilgan;
- Ikkinchi qiymat taymerning boshlanishiga qo'shiladigan soniyalardagi tasodifiy kechikishni ko'rsatadi. Bunday holda, u 43,200 12 soniya (XNUMX soat) ni tashkil qiladi, bu esa ishga tushirishni tasodifiy qiladi va yukni tarqatadi;
- Ushbu parametr, agar taymer tizim o'chirilganda bajarilishi kerak bo'lsa, u ishga tushirilgandan so'ng darhol faollashishini ta'minlaydi.
Shuningdek, siz quyidagi buyruq bilan sertifikat yangilanishini majburiy tekshirishni amalga oshirishingiz mumkin:
certbot renew --dry-run
Ushbu buyruq yordamida sertifikatlar yangilanmaydi. Buning o'rniga, vosita muddati tugagandan so'ng sertifikat olishga o'xshash amallarni bajaradi. Shunday qilib, siz xizmatning avtomatik yangilanish bilan bog'liq ishlashini ta'minlashingiz mumkin.
CentOS, Fedora va boshqalar uchun
Red Hat oilaviy tizimlarida avtomatik yangilanishlarni yoqish jarayoni biroz farq qiladi. Debian/Ubuntu-dan farqli o'laroq, CentOS va boshqa tizimlar uchun siz rejalashtiruvchiga vazifani qo'lda qo'shishingiz kerak. Buning uchun biz dan foydalanamiz cron asbob:
crontab -e
Keyin, ochilgan faylga quyidagi qatorni qo'shing:
0 12 * * * /usr/bin/certbot renew --quiet
Buyruqning asosiy argumentlarini ajratamiz:
- Amalga oshirish vaqti. Bunday holda, buyruq avtomatik ravishda har kuni soat 12:00 da ishlaydi;
- Certbot yordamida SSL/TLS sertifikatlarini yangilash buyrug'i;
- The --sokin bayroq chiqishni bostiradi, bu jarayonni yanada yashirin va tizim jurnallari yoki displeyda kamroq bezovta qiladi.
Buyruqni qo'shgandan so'ng, fayldagi o'zgarishlarni saqlashingiz kerak.
Xuddi Debian/Ubuntu bilan bo'lgani kabi, siz ham sertifikat yangilanishini majburiy tekshirishni boshlashingiz mumkin:
certbot renew --dry-run
Buyruqning muvaffaqiyatli bajarilishi natijasi quyidagicha ko'rinadi:
Xulosa
Biz Linux serverida Certbotni o'rnatish va sozlashning keng qamrovli jarayonini ko'rib chiqdik. Taqdim etilgan ko'rsatmalarga rioya qilish orqali siz Let's Encrypt-dan SSL/TLS sertifikatini muvaffaqiyatli olishingiz, uni veb-serveringizga o'rnatishingiz va veb-resursingizga doimiy himoya va ishonchni oshirish uchun avtomatik yangilashni sozlashingiz mumkin. Certbot yordamida siz foydalanuvchilar uchun ishonchli va xavfsiz muhitni osongina yaratishingiz mumkin.