இந்தக் கட்டுரையில், ஒரு லினக்ஸ் சர்வரில் செர்ட்பாட்டை (Certbot) நிறுவி உள்ளமைக்கும் செயல்முறையை ஆராய்வோம் . உங்கள் டொமைனுக்கான லெட்ஸ் என்க்ரிப்ட் (Let's Encrypt) SSL/TLS சான்றிதழை எவ்வாறு பெறுவது என்பதை விரிவாக விளக்குவோம் . மேலும், அதை ஒரு வலை சர்வரில் (Nginx அல்லது Apache போன்றவை) நிறுவி, உங்கள் வலை வளத்துடன் தொடர்ச்சியான பாதுகாப்பான இணைப்பை உறுதிசெய்ய தானியங்கி சான்றிதழ் புதுப்பித்தல்களை எவ்வாறு அமைப்பது என்பதையும் விவரிப்போம்.
செர்ட்பாட் என்பது SSL/TLS சான்றிதழ்களைத் தானாகப் பெறுவதற்கும் புதுப்பிப்பதற்கும் வடிவமைக்கப்பட்ட ஒரு இலவச, திறந்த மூலக் கருவியாகும் . இது சேவையகத்திற்கும் பயனருக்கும் இடையிலான இணைப்பைப் பாதுகாப்பதிலும், அங்கீகரிக்கப்படாத அணுகலிலிருந்து தரவைப் பாதுகாப்பதிலும் முக்கியப் பங்கு வகிக்கிறது. செர்ட்பாட், ஒரு SSL சான்றிதழை நிறுவுதல் மற்றும் புதுப்பித்தல் செயல்முறையை எளிதாக்குகிறது. இந்தச் சான்றிதழ் பாதுகாப்பை மேம்படுத்துவது மட்டுமல்லாமல், உங்கள் இணைய வளத்தின் மீது பயனர்களின் நம்பிக்கையையும் அதிகரிக்கிறது. இதன் மூலம், தளத்தின் நற்பெயரையும் அதன் தேடுபொறித் தரவரிசைகளையும் இது மேம்படுத்துகிறது.
Certbot ஐ நிறுவுதல்
பெரும்பாலான மென்பொருள் விநியோகங்களில் செர்ட்பாட் இயல்பாகவே சேர்க்கப்பட்டுள்ளது, எனவே அதை டெபியன்/உபுண்டு கணினிகளில் நிறுவ, நீங்கள் தொகுப்புப் பட்டியலைப் புதுப்பித்தால் மட்டும் போதும்:
apt update
பின்னர், நிறுவல் செயல்முறையைத் தொடங்கவும்:
apt install certbot
வலை சேவையகத்திற்கான சான்றிதழை அமைத்தல் மற்றும் உள்ளமைப்பதை எளிதாக்கும் செருகுநிரல்களை Certbot ஆதரிக்கிறது. இந்த செருகுநிரல்களை நிறுவ, தொடர்புடைய கட்டளையைப் பயன்படுத்தவும்:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
ரெட் ஹேட் சிஸ்டம்களுக்கான ( 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 - டொமைன் சரிபார்ப்புக்கு அப்பாச்சி உள்ளமைவு ஸ்கிரிப்ட்களைப் பயன்படுத்துகிறது.-d - சான்றிதழ் கோரப்பட்ட டொமைன்களின் பட்டியல்.--standalone - டொமைன் சரிபார்ப்புக்கு தனித்த பயன்முறையைப் பயன்படுத்துகிறது.--manual - கைமுறை டொமைன் சரிபார்ப்பைச் செய்கிறது.
இது மிகவும் அடிக்கடி பயன்படுத்தப்படும் கட்டளைகள் மற்றும் விருப்பங்களுக்கான ஒரு எடுத்துக்காட்டு. உதவிப் பிரிவில் நிரல் திறன்களின் முழு பட்டியலையும் நீங்கள் அறிந்து கொள்ளலாம்:
certbot –help
இப்போது நாம் சான்றிதழைப் பெறத் தொடர்வோம். உதாரணமாக, yourusername.pserver.space போன்ற ஒரு இலவச மூன்றாம் நிலை டொமைனுக்கான மெய்நிகர் சேவையகத்திற்கு (virtual server) நாம் ஒரு சான்றிதழைப் பெறுவோம்.
முதலில், நீங்கள் கட்டளையை உள்ளிட வேண்டும்:
certbot certonly
இதற்கு பதிலளிக்கும் விதமாக, டொமைன் உரிமையைச் சரிபார்க்க ஒரு முறையைத் தேர்வு செய்ய பயன்பாடு உங்களிடம் கேட்கும்:
உங்களிடம் உள்ளமைக்கப்பட்ட வலை சேவையகம் இல்லையென்றால் அல்லது ஏற்கனவே உள்ள ஒன்றில் மாற்றங்களைச் செய்ய விரும்பவில்லை என்றால் முதல் விருப்பம் வசதியானது. டொமைனுக்கான உங்கள் உரிமையை உறுதிப்படுத்த இந்த முறை ஒரு தற்காலிக வலை சேவையகத்தை உருவாக்குகிறது. இது எளிமையான மற்றும் விரைவான அமைப்பிற்கு ஏற்றது. இந்த முறையைத் தேர்ந்தெடுக்கும்போது, போர்ட் 80 ஐ இலவசமாக வைத்திருப்பது முக்கியம்.
உங்களிடம் ஏற்கனவே ஒரு வலை சேவையகம் இயங்கி, டொமைன் உரிமையைச் சரிபார்க்க அதைப் பயன்படுத்த விரும்பினால் இரண்டாவது விருப்பம் விரும்பத்தக்கது. Certbot உங்கள் சர்வரில் உள்ள ஒரு கோப்புறையில் சிறப்பு கோப்புகளை வைக்கிறது, பின்னர் அவை சான்றளிக்கும் மையத்தால் சரிபார்க்கப்படும்.
முதல் விருப்பத்தைத் தேர்ந்தெடுத்து அடுத்து என்பதைக் கிளிக் செய்யவும். இந்த கட்டத்தில், நீங்கள் செய்ய வேண்டியது:
- ஒரு மின்னஞ்சல் முகவரியை உள்ளிடவும்;
- சேவை விதிமுறைகளை ஒப்புக்கொள்கிறேன்;
- நிறுவனம் மற்றும் அதன் கூட்டாளிகள் சார்பாக மின்னஞ்சல்களைப் பெற ஒப்புக்கொள்ளுதல் அல்லது மறுத்தல்;
- சான்றிதழ் வழங்கப்பட்ட டொமைன் பெயரைக் குறிப்பிடவும்.
Certbot கருவியைப் பயன்படுத்தி சான்றிதழ் வழங்கும் செயல்முறையை முடித்த பிறகு, வழங்கப்பட்ட சான்றிதழ் மற்றும் உங்கள் கணக்கிற்கான தரவு சேமிக்கப்பட்டுள்ள கோப்பகத்திற்கான பாதையை இது குறிக்கும்:
பெறப்பட்ட சான்றிதழை தேவையான சேவையுடன் இணைப்பது மட்டுமே உங்களிடம் உள்ளது.
Nginx அல்லது Apache க்கான சான்றிதழை நிறுவுதல்
இந்தப் பிரிவு சில அடிப்படை நிபந்தனைகள் பூர்த்தி செய்யப்பட்டுள்ளதாகக் கருதுகிறது:
- நீங்கள் ஏற்கனவே Nginx அல்லது Apache என்ற வலை சேவையகத்தை நிறுவி உள்ளமைத்துள்ளீர்கள். நீங்கள் சான்றிதழைப் பெற விரும்பும் டொமைன் பெயர் வழியாக இணையத்திலிருந்து அதை அணுக முடியும்;
- கருவியை நிறுவும் போது, நீங்கள் பொருத்தமான கட்டளையைப் பயன்படுத்தி Nginx அல்லது Apache க்கான செருகுநிரலையும் நிறுவியுள்ளீர்கள்;
- ஃபயர்வால் 80 மற்றும் 443 போர்ட்களில் இணைப்புகளை அனுமதிக்கிறது. இந்த போர்ட்கள் இணைப்புகளுக்கு மூடப்பட்டால், உள்வரும் இணைப்புகளுக்கு சேவை கிடைக்காது. ஃபயர்வால் செயல்பாடு பற்றிய கூடுதல் விவரங்களுக்கு, இதைப் பற்றி நாங்கள் கட்டுரையில் விவாதித்தோம் லினக்ஸில் ஒரு ஃபயர்வாலை அமைத்தல்.
அனைத்து நிபந்தனைகளும் பூர்த்தி செய்யப்பட்டவுடன், நீங்கள் நேரடியாக சான்றிதழ் வழங்கலுக்குச் செல்லலாம். Nginx ஐப் பயன்படுத்தி ஒரு சேவையகத்தில் SSL சான்றிதழைப் பெறுவதற்கான செயல்முறையை ஒரு உதாரணமாகக் கருதுவோம். இருப்பினும், நீங்கள் ஒரு Apache வலை சேவையகத்தைப் பயன்படுத்துகிறீர்கள் என்றால், செயல்முறை முற்றிலும் ஒரே மாதிரியாக இருக்கும்.
சான்றிதழைப் பெற, நீங்கள் கட்டளையை உள்ளிட வேண்டும்:
certbot --nginx # for Nginx
certbot --apache # for Apache
பதிலுக்கு, கருவி கோரும்: ஒரு மின்னஞ்சல் முகவரி, லெட்ஸ் என்க்ரிப்ட் சேவையின் பயன்பாட்டு விதிமுறைகளுக்கு ஒப்புதல் மற்றும் சேவை மற்றும் அதன் கூட்டாளர்களின் சார்பாக மின்னஞ்சல்களை அனுப்ப அனுமதி.
அதைத் தொடர்ந்து, சான்றிதழ் வழங்கப்பட்ட டொமைன் பெயரை நீங்கள் குறிப்பிட வேண்டும். Nginx உள்ளமைவிற்கான server_name புலத்திலோ அல்லது Apache- க்கான ServerName மற்றும் ServerAlias புலத்திலோ டொமைன் குறிப்பிடப்பட்டிருந்தால், Certbot அதைத் தானாகவே கண்டறியும் . அது குறிப்பிடப்படவில்லை என்றால், நிரல் உங்களுக்கு அறிவித்து, டொமைன் பெயரை கைமுறையாக உள்ளிடுமாறு கேட்கும். பின்னர், கோரிக்கைகளை HTTP-இலிருந்து HTTPS நெறிமுறைக்குத் திசைதிருப்புவதை இயக்க வேண்டுமா என்று அந்தச் செயலி கேட்கும். தானியங்கு திசைதிருப்புதலை அமைக்க, நீங்கள் இரண்டாவது விருப்பத்தைத் தேர்ந்தெடுக்க வேண்டும்:
சிறிது நேரத்திற்குப் பிறகு, குறிப்பிட்ட டொமைனுக்கான சான்றிதழ் வெற்றிகரமாக கையகப்படுத்தப்பட்டதை Certbot உங்களுக்குத் தெரிவிக்கும். இந்த கட்டத்தில் இருந்து, அனைத்து உள்வரும் இணைப்புகளும் போர்ட் 80 இலிருந்து 443 க்கு திருப்பி விடப்படும். இந்த கருவி அனைத்து சான்றிதழ் தரவையும் Let's Encrypt கணக்கு விவரங்களையும் நீங்கள் காணக்கூடிய கோப்பகங்களைக் காண்பிக்கும்:
பெறப்பட்ட சான்றிதழின் செல்லுபடியாகும் காலம் மற்றும் அனைத்து செயலில் உள்ள சான்றிதழ்களையும் நிர்வகிப்பதற்கான முக்கியமான விருப்பங்களையும் செய்தி குறிப்பிடும்:
- நிச்சயமாக மட்டும். தானியங்கி வலை சேவையக உள்ளமைவு இல்லாமல் சான்றிதழைப் பெற அல்லது புதுப்பிக்க இந்த விருப்பம் பயன்படுத்தப்படுகிறது. செர்ட்பாட் சான்றிதழை மட்டுமே கோரும் அல்லது புதுப்பிக்கும், ஆனால் சேவையக உள்ளமைவில் எந்த தானியங்கி மாற்றங்களையும் செய்யாது. முன்பு, வலை சேவையகத்துடன் இணைக்கப்படாமல் சான்றிதழைப் பெற இந்த விருப்பத்தைப் பயன்படுத்தினோம்.
- புதுப்பிக்க Certbot மூலம் பெறப்பட்ட மற்றும் அவற்றின் செல்லுபடியாகும் காலத்திற்குள் உள்ள அனைத்து சான்றிதழ்களையும் தானாகவே புதுப்பிக்கப் பயன்படுகிறது. இந்த நிரல் அனைத்து சான்றிதழ்களையும் சரிபார்க்கும், மேலும் அவற்றில் ஏதேனும் 30 நாட்களுக்குள் அல்லது அதற்கும் குறைவாக காலாவதியானால், அது தானாகவே புதுப்பிக்கப்படும்.
அடுத்து, வழிமுறைகளில், ஒவ்வொரு மூன்று மாதங்களுக்கும் பயனர் தலையீடு இல்லாமல் சான்றிதழ்களை தானாக புதுப்பிப்பதை எவ்வாறு அமைப்பது என்பது பற்றி விவாதிப்போம்.
Certbot-இல் தானியங்கி சான்றிதழ் புதுப்பித்தல்
டெபியன்/உபுண்டுக்கு
இந்த இயக்க முறைமைகளைப் பயன்படுத்தும் போது, நிறுவப்பட்ட சான்றிதழ்களை தானாகப் புதுப்பிப்பதற்காக Certbot தானாகவே பணிப் பட்டியலில் ஒரு ஸ்கிரிப்டைச் சேர்க்கிறது. பின்வரும் கட்டளையைப் பயன்படுத்தி ஸ்கிரிப்ட்டின் செயல்பாட்டை நீங்கள் சரிபார்க்கலாம்:
systemctl status certbot.timer
இந்தப் பதில், சேவையின் நிலையையும், உள்ளமைவு கோப்பைக் கொண்ட கோப்பகத்தையும் காண்பிக்கும். இதை நீங்கள் எந்த உரை திருத்தியையும் பயன்படுத்தித் திறக்கலாம். லினக்ஸில் உரை திருத்திகளைப் பயன்படுத்துவதில் உங்களுக்கு அனுபவம் இல்லையென்றால், மிகவும் பிரபலமான தீர்வுகள் குறித்த எங்கள் கண்ணோட்டத்தைப் படித்துத் தெரிந்துகொள்ளுமாறு பரிந்துரைக்கிறோம் . இந்தச் சூழலில், நாம் நானோவைப் (nano) பயன்படுத்துவோம்:
nano /lib/systemd/system/certbot.timer
அனைத்து முக்கியமான அளவுருக்களும் முன்னிலைப்படுத்தப்பட்டுள்ளன:
- இந்த சேவை ஒரு நாளைக்கு இரண்டு முறை 00:00 மற்றும் 12:00 மணிக்கு இயங்கும் என்று அட்டவணை குறிப்பிடுகிறது;
- இரண்டாவது மதிப்பு, டைமரின் தொடக்கத்தில் சேர்க்கப்படும் சீரற்ற தாமதத்தை வினாடிகளில் குறிக்கிறது. இந்த விஷயத்தில், இது 43,200 வினாடிகள் (12 மணிநேரம்) ஆகும், இது ஏவுதலை மேலும் சீரற்றதாக்கி சுமையை பரப்புகிறது;
- இந்த அளவுரு, கணினி பணிநிறுத்தத்தின் போது டைமர் செயல்படுத்தப்பட வேண்டும் எனில், அது தொடக்கத்தில் உடனடியாக செயல்படுத்தப்படும் என்பதை உறுதி செய்கிறது.
கட்டளையைப் பயன்படுத்தி சான்றிதழ் புதுப்பித்தலின் கட்டாய சரிபார்ப்பையும் இயக்கலாம்:
certbot renew --dry-run
இந்தக் கட்டளையைப் பயன்படுத்தி, சான்றிதழ்கள் புதுப்பிக்கப்படாது. அதற்கு பதிலாக, கருவி காலாவதியானவுடன் சான்றிதழைப் பெறுவது போன்ற செயல்களைச் செய்யும். இந்த வழியில், தானியங்கி புதுப்பித்தல் தொடர்பான சேவையின் செயல்பாட்டை நீங்கள் உறுதிசெய்யலாம்.
CentOS, Fedora மற்றும் பிறவற்றிற்கு
ரெட் ஹேட் குடும்ப அமைப்புகளில் தானியங்குப் புதுப்பிப்புகளை இயக்குவதற்கான செயல்முறை சற்றே வேறுபடுகிறது. டெபியன்/உபுண்டுவைப் போலல்லாமல், சென்ட்ஓஎஸ் மற்றும் பிற அமைப்புகளுக்கு, நீங்கள் ஷெட்யூலரில் ஒரு பணியைக் கைமுறையாகச் சேர்க்க வேண்டும். இதற்காக, நாம் க்ரான் கருவியைப் பயன்படுத்துவோம்:
crontab -e
பின்னர், திறக்கும் கோப்பில், பின்வரும் வரியைச் சேர்க்கவும்:
0 12 * * * /usr/bin/certbot renew --quiet
கட்டளையின் முக்கிய வாதங்களை உடைப்போம்:
- செயல்படுத்தும் நேரம். இந்த விஷயத்தில், கட்டளை ஒவ்வொரு நாளும் மதியம் 12:00 மணிக்கு தானாகவே இயங்கும்;
- Certbot ஐப் பயன்படுத்தி SSL/TLS சான்றிதழ்களைப் புதுப்பிப்பதற்கான கட்டளை;
- தி --அமைதி flag வெளியீட்டை அடக்குகிறது, இதனால் செயல்முறை மறைக்கப்பட்டு, கணினி பதிவுகள் அல்லது காட்சியில் குறைவான ஊடுருவலை ஏற்படுத்துகிறது.
கட்டளையைச் சேர்த்த பிறகு, நீங்கள் கோப்பில் மாற்றங்களைச் சேமிக்க வேண்டும்.
டெபியன்/உபுண்டுவைப் போலவே, சான்றிதழ் புதுப்பித்தல்களையும் கட்டாயமாகச் சரிபார்க்கலாம்:
certbot renew --dry-run
கட்டளையை வெற்றிகரமாக செயல்படுத்தியதன் முடிவு பின்வருமாறு:
தீர்மானம்
லினக்ஸ் சர்வரில் Certbot ஐ நிறுவுதல் மற்றும் உள்ளமைத்தல் பற்றிய விரிவான செயல்முறையை நாங்கள் ஆராய்ந்துள்ளோம். வழங்கப்பட்ட வழிமுறைகளைப் பின்பற்றுவதன் மூலம், Let's Encrypt இலிருந்து SSL/TLS சான்றிதழை வெற்றிகரமாகப் பெறலாம், அதை உங்கள் வலை சர்வரில் நிறுவலாம், மேலும் உங்கள் வலை வளத்தில் தொடர்ச்சியான பாதுகாப்பையும் அதிகரித்த நம்பிக்கையையும் உறுதிசெய்ய தானியங்கி புதுப்பிப்பை உள்ளமைக்கலாம். Certbot மூலம், பயனர்களுக்கு நம்பகமான மற்றும் பாதுகாப்பான சூழலை எளிதாக உருவாக்கலாம்.