Энэ нийтлэлд бид 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-д зориулсан залгаасыг суулгасан;
- Галт хана нь 80 ба 443 портууд дээр холболт хийхийг зөвшөөрдөг. Хэрэв эдгээр портууд холболтод хаалттай байвал уг үйлчилгээ нь ирж буй холболтуудад боломжгүй болно. Галт ханын ажиллагааны талаар илүү дэлгэрэнгүй мэдээлэл авахыг хүсвэл бид энэ тухай нийтлэлд ярилцсан Линукс дээр галт хана тохируулах.
Бүх нөхцөл хангагдсаны дараа та гэрчилгээ олгох ажлыг шууд үргэлжлүүлж болно. Бид жишээ болгон Nginx ашиглан сервер дээр SSL сертификат авах үйл явцыг авч үзэх болно. Гэсэн хэдий ч, хэрэв та Apache вэб сервер ашиглаж байгаа бол процесс нь бүрэн ижил байна.
Сертификат авахын тулд та дараах тушаалыг оруулах хэрэгтэй.
certbot --nginx # for Nginx
certbot --apache # for Apache
Хариуд нь уг хэрэгсэл нь имэйл хаяг, Let's Encrypt үйлчилгээг ашиглах нөхцөлийг зөвшөөрөх, үйлчилгээ болон түүний түншүүдийн нэрийн өмнөөс имэйл илгээх зөвшөөрөл хүсэх болно.
Үүний дараа та гэрчилгээ олгосон домэйн нэрийг зааж өгөх шаардлагатай болно. Хэрэв Certbot нь Nginx тохиргоонд зориулж server_name талбарт эсвэл Apache- д зориулж ServerName болон ServerAlias талбарт заасан бол домэйныг автоматаар тодорхойлж чадна . Хэрэв заагаагүй бол програм танд мэдэгдэж, домэйн нэрийг гараар оруулахыг хүсэх болно. Дараа нь хэрэгсэл нь HTTP-ээс HTTPS протокол руу хүсэлтийг дахин чиглүүлэхийг идэвхжүүлэх эсэхийг асууна. Автомат дахин чиглүүлэлтийг тохируулахын тулд та хоёр дахь сонголтыг сонгох хэрэгтэй:
Хэсэг хугацааны дараа Certbot нь заасан домэйны гэрчилгээг амжилттай авсан тухай танд мэдэгдэх болно. Энэ мөчөөс эхлэн бүх ирж буй холболтууд 80-р портоос 443 руу дахин чиглэгдэх болно. Энэхүү хэрэгсэл нь бүх гэрчилгээний өгөгдөл болон Бүртгэлийн мэдээллийг шифрлэе гэсэн лавлахуудыг харуулах болно:
Зурвас нь хүлээн авсан гэрчилгээний хүчинтэй байх хугацаа, бүх идэвхтэй гэрчилгээг удирдах чухал сонголтуудыг зааж өгнө.
- гарцаагүй. Энэ сонголтыг автомат вэб серверийн тохиргоогүйгээр гэрчилгээ авах эсвэл шинэчлэхэд ашигладаг. Certbot нь зөвхөн гэрчилгээ хүсэх буюу шинэчлэх боловч серверийн тохиргоонд автоматаар өөрчлөлт оруулахгүй. Өмнө нь бид вэб серверт холбогдохгүйгээр гэрчилгээ авахын тулд энэ сонголтыг ашигладаг байсан.
- шинэчлэх нь Certbot-ээр дамжуулан авсан, хүчинтэй байх хугацаандаа байгаа бүх гэрчилгээг автоматаар шинэчлэхэд ашиглагддаг. Хөтөлбөр нь бүх гэрчилгээг шалгах бөгөөд хэрэв тэдгээрийн аль нэг нь 30 хоног ба түүнээс бага хугацаанд хугацаа нь дууссан бол автоматаар шинэчлэгдэнэ.
Дараа нь зааврын дагуу бид гурван сар тутамд хэрэглэгчийн оролцоогүйгээр гэрчилгээний автомат сунгалтыг хэрхэн тохируулах талаар ярилцах болно.
Certbot дахь гэрчилгээг автоматаар шинэчлэх
Debian/Ubuntu-д зориулсан
Эдгээр үйлдлийн системийг ашиглах үед Certbot нь суулгасан гэрчилгээг автоматаар шинэчлэхийн тулд ажлын жагсаалтад автоматаар скрипт нэмдэг. Та скриптийн ажиллагааг дараах тушаалаар шалгаж болно.
systemctl status certbot.timer
Хариулт нь үйлчилгээний төлөв болон тохиргооны файлыг агуулсан лавлахыг харуулах болно. Та үүнийг дурын текст засварлагч ашиглан нээж болно. Хэрэв та Linux дээр текст засварлагчтай ажиллах туршлагагүй бол хамгийн алдартай шийдлүүдийн тоймтой танилцахыг зөвлөж байна. Энэ тохиолдолд бид nano ашиглах болно:
nano /lib/systemd/system/certbot.timer
Бүх чухал параметрүүдийг онцлон тэмдэглэв:
- Үйлчилгээг өдөрт 00 удаа 00:12, 00:XNUMX цагт явуулна гэж хуваарьт заасан;
- Хоёрдахь утга нь таймер эхлэхэд нэмэгдэх секундын санамсаргүй саатлыг заана. Энэ тохиолдолд энэ нь 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 цагт ажиллана;
- Certbot ашиглан SSL/TLS гэрчилгээг шинэчлэх команд;
- The --чимээгүй туг нь гаралтыг дарж, процессыг илүү нуугдмал болгож, системийн бүртгэл эсвэл дэлгэцэнд хөндлөнгийн оролцоо багатай болгодог.
Командыг нэмсний дараа та өөрчлөлтийг файлд хадгалах хэрэгтэй.
Debian/Ubuntu-н нэгэн адил та гэрчилгээний сунгалтыг албадан шалгах ажлыг эхлүүлж болно:
certbot renew --dry-run
Командыг амжилттай гүйцэтгэсний үр дүн дараах байдалтай байна.
Дүгнэлт
Бид Линукс сервер дээр Certbot суулгах, тохируулах цогц үйл явцыг судалсан. Өгөгдсөн зааврыг дагаснаар та Let's Encrypt-ээс SSL/TLS сертификатыг амжилттай авч, вэб сервертээ суулгаж, автоматаар сунгалтыг тохируулж, байнгын хамгаалалт, вэб нөөцдөө итгэх итгэлийг нэмэгдүүлэх боломжтой. Certbot-ийн тусламжтайгаар та хэрэглэгчдэд найдвартай, аюулгүй орчинг хялбархан бүрдүүлж чадна.