Энэ нийтлэлд бид суулгах, тохируулах үйл явцыг судлах болно Сербот Линукс сервер дээр. Бид дэлгэрэнгүй тайлбарлах болно Let's Encrypt SSL/TLS сертификатыг хэрхэн авах талаар таны домэйны хувьд. Мөн бид үүнийг вэб сервер дээр (Nginx эсвэл Apache гэх мэт) хэрхэн суулгаж, вэб нөөцтэйгээ тасралтгүй найдвартай холболтыг баталгаажуулахын тулд автоматаар гэрчилгээний шинэчлэлт хийх талаар тайлбарлах болно.
Сербот автоматаар олж авах, шинэчлэхэд зориулагдсан үнэгүй, нээлттэй эхийн хэрэгсэл юм 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
Суулгах үйл явц улаан малгай системүүд (жишээ нь RHEL, CentOS, Федора) арай өөр байна. Эхлээд та 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 тохиргоо эсвэл Серверийн нэр болон ServerAlias нь Апачи. Хэрэв заагаагүй бол програм танд мэдэгдэж, домэйн нэрийг гараар оруулахыг хүсэх болно. Дараа нь хэрэгсэл нь HTTP-ээс HTTPS протокол руу хүсэлтийг дахин чиглүүлэх эсэхийг асуух болно. Автомат дахин чиглүүлэлтийг тохируулахын тулд та хоёр дахь сонголтыг сонгох хэрэгтэй.
Хэсэг хугацааны дараа Certbot нь заасан домэйны гэрчилгээг амжилттай авсан тухай танд мэдэгдэх болно. Энэ мөчөөс эхлэн бүх ирж буй холболтууд 80-р портоос 443 руу дахин чиглэгдэх болно. Энэхүү хэрэгсэл нь бүх гэрчилгээний өгөгдөл болон Бүртгэлийн мэдээллийг шифрлэе гэсэн лавлахуудыг харуулах болно:
Зурвас нь хүлээн авсан гэрчилгээний хүчинтэй байх хугацаа, бүх идэвхтэй гэрчилгээг удирдах чухал сонголтуудыг зааж өгнө.
- гарцаагүй. Энэ сонголтыг автомат вэб серверийн тохиргоогүйгээр гэрчилгээ авах эсвэл шинэчлэхэд ашигладаг. Certbot нь зөвхөн гэрчилгээ хүсэх буюу шинэчлэх боловч серверийн тохиргоонд автоматаар өөрчлөлт оруулахгүй. Өмнө нь бид вэб серверт холбогдохгүйгээр гэрчилгээ авахын тулд энэ сонголтыг ашигладаг байсан.
- шинэчлэх нь Certbot-ээр дамжуулан авсан, хүчинтэй байх хугацаандаа байгаа бүх гэрчилгээг автоматаар шинэчлэхэд ашиглагддаг. Хөтөлбөр нь бүх гэрчилгээг шалгах бөгөөд хэрэв тэдгээрийн аль нэг нь 30 хоног ба түүнээс бага хугацаанд хугацаа нь дууссан бол автоматаар шинэчлэгдэнэ.
Дараа нь зааврын дагуу бид гурван сар тутамд хэрэглэгчийн оролцоогүйгээр гэрчилгээний автомат сунгалтыг хэрхэн тохируулах талаар ярилцах болно.
Certbot дахь гэрчилгээг автоматаар шинэчлэх
Debian/Ubuntu-д зориулсан
Эдгээр үйлдлийн системийг ашиглах үед Certbot нь суулгасан гэрчилгээг автоматаар шинэчлэхийн тулд ажлын жагсаалтад автоматаар скрипт нэмдэг. Та скриптийн ажиллагааг дараах тушаалаар шалгаж болно.
systemctl status certbot.timer
Хариулт нь үйлчилгээний статус, тохиргооны файлыг агуулсан лавлахыг харуулах болно. Та үүнийг дурын текст засварлагч ашиглан нээж болно. Хэрэв та Линукс дээрх текст засварлагчийн талаар туршлагагүй бол бид танд танилцахыг зөвлөж байна бидний тойм хамгийн алдартай шийдлүүдийн нэг. Энэ тохиолдолд бид нано-г ашиглана:
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-ийн тусламжтайгаар та хэрэглэгчдэд найдвартай, аюулгүй орчинг хялбархан бүрдүүлж чадна.