මෙම ලිපියෙන් අපි Linux සේවාදායකයක Certbot ස්ථාපනය කර වින්යාස කිරීමේ ක්රියාවලිය ගවේෂණය කරන්නෙමු . ඔබගේ වසම සඳහා 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
ප්රතිචාර වශයෙන්, වසම් හිමිකාරිත්වය සත්යාපනය කිරීම සඳහා ක්රමයක් තෝරා ගැනීමට උපයෝගීතාව ඔබෙන් අසනු ඇත:
ඔබට වින්යාසගත වෙබ් සේවාදායකයක් නොමැති නම් හෝ පවතින එකකට වෙනස්කම් කිරීමට ඔබට අවශ්ය නැතිනම් පළමු විකල්පය පහසුය. මෙම ක්රමය මඟින් වසම සඳහා ඔබේ අයිතිය තහවුරු කිරීම සඳහා තාවකාලික වෙබ් සේවාදායකයක් නිර්මාණය කරයි. එය සරල හා ඉක්මන් සැකසුමකට වඩාත් සුදුසුය. මෙම ක්රමය තෝරාගැනීමේදී, port 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 සේවාවේ භාවිත නියමයන්ට කැමැත්ත සහ සේවාව සහ එහි හවුල්කරුවන් වෙනුවෙන් විද්යුත් තැපැල් යැවීමට අවසරය.
ඉන්පසුව, සහතිකය නිකුත් කරන ලද වසම් නාමය සඳහන් කිරීමට ඔබට අවශ්ය වනු ඇත. Nginx වින්යාසය සඳහා server_name ක්ෂේත්රයේ හෝ Apache සඳහා ServerName සහ ServerAlias හි වසම සඳහන් කර ඇත්නම් Certbot හට ස්වයංක්රීයව තීරණය කළ හැකිය . එය නිශ්චිතව දක්වා නොමැති නම්, වැඩසටහන ඔබට දැනුම් දෙන අතර වසම් නාමය අතින් ඇතුළත් කිරීමට ඔබෙන් අසනු ඇත. ඉන්පසු, HTTP සිට HTTPS ප්රොටෝකෝලය වෙත ඉල්ලීම් හරවා යැවීම සක්රීය කළ යුතුද යන්න උපයෝගීතාව අසනු ඇත. ස්වයංක්රීය හරවා යැවීම සැකසීමට, ඔබ දෙවන විකල්පය තෝරා ගත යුතුය:
ටික වේලාවකට පසු, නිශ්චිත වසම සඳහා සහතිකය සාර්ථකව අත්පත් කර ගැනීම පිළිබඳව Certbot ඔබට දැනුම් දෙනු ඇත. මෙතැන් සිට, පැමිණෙන සියලුම සම්බන්ධතා 80 port සිට 443 වෙත හරවා යවනු ලැබේ. මෙවලම මඟින් ඔබට සියලුම සහතික දත්ත සහ Let's Encrypt ගිණුම් විස්තර සොයා ගත හැකි නාමාවලි පෙන්වනු ඇත:
ලබාගත් සහතිකයේ වලංගු කාලය සහ සියලුම ක්රියාකාරී සහතික කළමනාකරණය කිරීම සඳහා වැදගත් විකල්ප ද පණිවිඩයේ සඳහන් වේ:
- නිසැකවම. මෙම විකල්පය ස්වයංක්රීය වෙබ් සේවාදායක වින්යාසයකින් තොරව සහතිකය ලබා ගැනීමට හෝ යාවත්කාලීන කිරීමට භාවිතා කරයි. Certbot සහතිකය ඉල්ලා සිටීම හෝ යාවත්කාලීන කිරීම පමණක් සිදු කරයි, නමුත් සේවාදායක වින්යාසයට කිසිදු ස්වයංක්රීය වෙනසක් සිදු නොකරයි. මීට පෙර, වෙබ් සේවාදායකයකට බැඳී නොසිට සහතිකයක් ලබා ගැනීමට අපි මෙම විකල්පය භාවිතා කළෙමු.
- අලුත් කරන්න Certbot හරහා ලබාගෙන ඇති සහ වලංගු කාල සීමාව තුළ ඇති සියලුම සහතික ස්වයංක්රීයව අලුත් කිරීම සඳහා භාවිතා වේ. වැඩසටහන මඟින් සියලුම සහතික පරීක්ෂා කරනු ඇති අතර, ඒවායින් කිසිවක් දින 30ක් හෝ ඊට අඩු කාලයක් තුළ කල් ඉකුත් වුවහොත්, එය ස්වයංක්රීයව අලුත් කරනු ලැබේ.
උපදෙස් වලින් ඊළඟට, සෑම මාස තුනකට වරක් පරිශීලක මැදිහත්වීමකින් තොරව සහතික ස්වයංක්රීයව අලුත් කිරීම සකසන්නේ කෙසේදැයි අපි සාකච්ඡා කරමු.
Certbot හි ස්වයංක්රීය සහතික අලුත් කිරීම
ඩේබියන්/උබුන්ටු සඳහා
මෙම මෙහෙයුම් පද්ධති භාවිතා කරන විට, ස්ථාපිත සහතික ස්වයංක්රීයව අලුත් කිරීම සඳහා 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 ට ස්වයංක්රීයව ක්රියාත්මක වේ;
- Certbot භාවිතයෙන් SSL/TLS සහතික අලුත් කිරීමේ විධානය;
- එම --නිහඬව ධජය ප්රතිදානය මර්දනය කරයි, එමඟින් ක්රියාවලිය වඩාත් සැඟවුණු සහ පද්ධති ලොග් හෝ සංදර්ශකය තුළ අඩු ආක්රමණශීලී බවක් ඇති කරයි.
විධානය එකතු කිරීමෙන් පසු, ඔබ ගොනුවේ වෙනස්කම් සුරැකිය යුතුය.
Debian/Ubuntu වලදී මෙන්, ඔබට සහතික අලුත් කිරීම් සඳහා බලහත්කාරයෙන් පරීක්ෂාවක් ද ආරම්භ කළ හැකිය:
certbot renew --dry-run
විධානය සාර්ථකව ක්රියාත්මක කිරීමේ ප්රතිඵලය පහත පරිදි වේ:
නිගමනය
Linux සේවාදායකයක Certbot ස්ථාපනය කිරීමේ සහ වින්යාස කිරීමේ පුළුල් ක්රියාවලිය අපි ගවේෂණය කර ඇත්තෙමු. සපයා ඇති උපදෙස් අනුගමනය කිරීමෙන්, ඔබට Let's Encrypt වෙතින් SSL/TLS සහතිකයක් සාර්ථකව ලබා ගත හැකිය, එය ඔබේ වෙබ් සේවාදායකයේ ස්ථාපනය කළ හැකිය, සහ ඔබේ වෙබ් සම්පත කෙරෙහි අඛණ්ඩ ආරක්ෂාව සහ වැඩි විශ්වාසයක් සහතික කිරීම සඳහා ස්වයංක්රීය අලුත් කිරීම වින්යාස කළ හැකිය. Certbot සමඟින්, ඔබට පරිශීලකයින් සඳහා විශ්වාසදායක සහ ආරක්ෂිත පරිසරයක් පහසුවෙන් නිර්මාණය කළ හැකිය.