SSD Nodes Learn 🎉 VPS $5.50/மாதம் முதல்
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-13

FreeBSD பாதுகாப்பு மேம்படுத்தல்கள் செய்வது எப்படி?

FreeBSD base system-ஐ freebsd-update மூலமும், நிறுவப்பட்ட packages-ஐ pkg audit மூலமும் எவ்வாறு பாதுகாப்பாக மேம்படுத்துவது என்பதை இந்த வழிகாட்டி தெளிவாக விளக்குகிறது.

FreeBSD பாதுகாப்பு மேம்படுத்தல்களை எவ்வாறு கையாளுகிறது

FreeBSD ஒரு server-ஐ இரண்டு தனித்தனி பகுதிகளாகக் கருதுவதால், பாதுகாப்பு மேம்படுத்தல்களை இரண்டு வெவ்வேறு கருவிகளைக் கொண்டு கையாளுகிறது. Kernel மற்றும் அந்த release-உடன் வந்த userland ஆகியவற்றை உள்ளடக்கிய base system, freebsd-update மூலம் patch செய்யப்படுகிறது. அதன் மேல் நீங்கள் நிறுவிய அனைத்தும் package-கள் ஆகும், இவை pkg மூலம் patch செய்யப்படுகின்றன. ஏதேனும் ஒன்றை மட்டும் இயக்கி மற்றொன்றைத் தவிர்த்தால், கணினியின் பாதி பகுதி patch செய்யப்படாமல் இருக்கும்; இதை எந்தக் கருவியும் உங்களுக்குத் தெரிவிக்காது.

SSD Nodes, FreeBSD images-ஐ வழங்குவதில்லை. எங்கள் திட்டங்கள் Linux-ல் இயங்குகின்றன. வாசகர்கள் பெரும்பாலும் இரண்டு அமைப்புகளையும் பயன்படுத்துவதால், இந்தத் தகவல் இங்கே வழங்கப்படுகிறது: எங்கள் Ubuntu மற்றும் Debian server-களை நிர்வகிப்பவர்கள், firewall-களிலும் அல்லது தங்களுக்குக் கிடைத்த ஒரு கணினியிலும் FreeBSD-ஐப் பயன்படுத்துகின்றனர். இந்த இருமுறை patch செய்யும் முறை Linux நிர்வாகிகளுக்குப் புதியதாக இருக்கலாம் என்பதால், இதைப் பதிவு செய்வது அவசியமாகிறது. கீழே உள்ள ஒவ்வொரு command, advisory வடிவம் மற்றும் ஆதரவுத் தேதிகள் ஆகஸ்ட் 2026-ல் FreeBSD பாதுகாப்புப் பக்கத்தில் மற்றும் திட்டத்தின் manual பக்கங்களில் சரிபார்க்கப்பட்டன.

command-களைப் பயன்படுத்துவதற்கு முன் ஒரு குறிப்பு: FreeBSD அதன் base system-ல் sudo-ஐ நிறுவுவதில்லை. இங்கே குறிப்பிடப்பட்டுள்ள அனைத்திற்கும் root அனுமதி தேவை. su --ஐப் பயன்படுத்தவும், அல்லது முதலில் package-கள் மூலம் sudo அல்லது doas-ஐ நிறுவவும்.

அடிப்படை அமைப்பு மற்றும் தொகுப்புகள் தனித்தனி உலகங்கள்

Ubuntu-வில், apt முழு கணினியையும் நிர்வகிக்கிறது. Kernel, openssl, nginx மற்றும் உங்கள் சொந்த கருவிகள் அனைத்தும் ஒரே கருவியின் மூலம் .deb கோப்புகளாக வருகின்றன, மேலும் apt upgrade இவை அனைத்தையும் ஒன்றாக மாற்றுகிறது.

FreeBSD இதை இரண்டாகப் பிரிக்கிறது. அடிப்படை அமைப்பு (base system) ஒரே அலகாக உருவாக்கப்பட்டு, ஒரே அலகாக பதிப்பு செய்யப்படுகிறது: 15.1-RELEASE-p3 என்பது kernel, C library, sshd மற்றும் /usr/lib-ல் உள்ள OpenSSL நகல் ஆகியவற்றை உள்ளடக்கிய ஒரு ஒற்றை எண்ணாகும். இதில் எதுவும் pkg-லிருந்து வருவதில்லை. மற்ற அனைத்தும் /usr/local-ன் கீழ் இயங்குகின்றன, இவை ports tree-லிருந்து உருவாக்கப்பட்ட binary தொகுப்புகளாக வந்து, அவற்றின் சொந்த பதிப்பைக் கொண்டுள்ளன.

எனவே, ஒரு கணினியில் OpenSSL-ன் இரண்டு நகல்கள் இருக்கலாம்: freebsd-update-ஆல் மட்டுமே patch செய்யப்படும் /usr/lib-ல் உள்ள அடிப்படை நகல், மற்றும் pkg-ஆல் மட்டுமே patch செய்யப்படும் /usr/local/lib-ல் உள்ள தொகுப்பு நகல். ஒரு நிரல் எதைப் பயன்படுத்துகிறது என்பது அது எதனுடன் இணைக்கப்பட்டுள்ளது (linked) என்பதைப் பொறுத்தது, மேலும் தொகுப்புகளிலிருந்து நிறுவப்பட்ட மென்பொருள் வழக்கமாக தொகுப்பு நகலையே இணைக்கும். ஒன்றைப் புதுப்பிப்பது மற்றொன்றைப் பாதிக்காது.

நீங்கள் எந்த நிலையில் இருக்கிறீர்கள் என்பதை மூன்று கட்டளைகள் விளக்குகின்றன:

freebsd-version -u
freebsd-version -k
uname -r

freebsd-version -u நிறுவப்பட்ட userland-ன் patch அளவை அச்சிடுகிறது. freebsd-version -k நிறுவப்பட்ட kernel-ன் patch அளவை அச்சிடுகிறது, மேலும் freebsd-version(1) இது ஏன் uname-லிருந்து மாறுபடுகிறது என்பதைத் தெளிவாகக் கூறுகிறது: "புதிய kernel நிறுவப்பட்டிருந்தாலும், கணினி இன்னும் reboot செய்யப்படவில்லை என்றால், freebsd-version புதிய kernel-ன் பதிப்பு மற்றும் patch அளவை அச்சிடும்". uname -r தற்போது இயங்கிக்கொண்டிருக்கும் kernel-ஐ அச்சிடுகிறது. freebsd-version -r என்ற கட்டளையும் உள்ளது, இது இயங்கும் kernel-ஐ அச்சிடுகிறது, ஆனால் இது "environment variables-ஆல் பாதிக்கப்படுவதில்லை". இது UNAME_r பெரும்பாலும் வேறொன்றாக அமைக்கப்பட்டிருக்கும் jail-க்குள் முக்கியமானது.

பாதுகாப்பு ஆலோசனைகள் மற்றும் பிழைத்திருத்த அறிவிப்புகள்

FreeBSD பாதுகாப்பு குழுவிடமிருந்து இரண்டு வகையான அறிவிப்புகள் வெளியிடப்படுகின்றன, இவை ஒவ்வொன்றும் வெவ்வேறு பொருளைக் கொண்டவை.

ஒரு பாதுகாப்பு ஆலோசனை (Security Advisory) என்பது அடிப்படை அமைப்பில் உள்ள பாதுகாப்பு பாதிப்பைக் குறிக்கிறது. இதன் அடையாளங்காட்டி FreeBSD-SA-26:55.elf போன்ற வடிவத்தில் இருக்கும்: SA என்ற எழுத்துக்கள், இரண்டு இலக்க ஆண்டு, அந்த ஆண்டில் வரிசையாக வரும் எண், மற்றும் பாதிக்கப்பட்ட கூறு. FreeBSD-SA-26:52.if_wg மற்றும் FreeBSD-SA-26:50.kqueue ஆகிய இரண்டும் 2026-07-29 அன்று வெளியிடப்பட்டன. முழுமையான பட்டியலை FreeBSD ஆலோசனைகள் பக்கத்தில் காணலாம்.

ஒரு பிழைத்திருத்த அறிவிப்பு (Errata Notice) என்பது பாதுகாப்பு பாதிப்பு இல்லாத, ஆனால் வெளியீட்டு கிளையில் (release branch) சேர்க்கப்பட வேண்டிய சரியான தன்மை அல்லது நிலைத்தன்மை தொடர்பான சிக்கல்களைக் குறிக்கிறது. இதுவும் அதே வடிவத்தில் இருக்கும், ஆனால் SA-க்கு பதிலாக EN பயன்படுத்தப்படும்: FreeBSD-EN-26:19.zfs, FreeBSD-EN-26:18.tzdata. நேர மண்டலத் தரவு (time zone data) புதுப்பிப்பு இதற்கு ஒரு சிறந்த உதாரணம். காலாவதியான நேர மண்டலத் தரவைப் பயன்படுத்தி யாரும் உங்களைத் தாக்க முடியாது, ஆனால் நீங்கள் அந்தத் திருத்தத்தைப் பெறும் வரை உங்கள் நேர முத்திரைகள் (timestamps) தவறாகவே இருக்கும். பிழைத்திருத்த அறிவிப்புகள் FreeBSD பிழைத்திருத்த அறிவிப்புகள் பக்கத்தில் பட்டியலிடப்பட்டுள்ளன.

இரண்டு வகையான அறிவிப்புகளும் பாதுகாப்பு அதிகாரியின் PGP (pretty good privacy) சாவியால் கையொப்பமிடப்பட்டு security.FreeBSD.org-ல் காப்பகப்படுத்தப்படுகின்றன, மேலும் இவை freebsd-update மூலம் உங்கள் கணினிக்கு வழங்கப்படுகின்றன.

Linux நிர்வாகிகளைத் தடுமாற வைக்கும் பகுதி இதுதான். இந்த இரண்டு அறிவிப்புகளும் packages-ஐ உள்ளடக்கியவை அல்ல. பாதுகாப்புப் பக்கத்தில் இது தெளிவாகக் குறிப்பிடப்பட்டுள்ளது: FreeBSD Ports Collection-ல் உள்ள சிக்கல்கள் "FreeBSD VuXML ஆவணத்தில் தனித்தனியாகக் கையாளப்படுகின்றன". nginx தொகுப்பில் உள்ள ஒரு தொலைநிலை பாதிப்பிற்கு (remote hole) ஒருபோதும் SA எண் வழங்கப்படாது. நீங்கள் பாதுகாப்பு ஆலோசனைத் தகவல்களை (advisory feed) மட்டுமே கவனித்து வந்தால், அது குறித்து உங்களுக்குத் தெரியாது.

FreeBSD பாதுகாப்பு மேம்படுத்தல் குறித்த தகவல்களை எவ்வாறு பெறுவது?

நீங்கள் இணைய வேண்டிய அஞ்சல் பட்டியல் freebsd-security-notifications ஆகும். இது கட்டுப்படுத்தப்பட்ட மற்றும் குறைந்த எண்ணிக்கையிலான மின்னஞ்சல்களைக் கொண்ட பட்டியலாகும்; இதில் பாதுகாப்பு ஆலோசனைகள் (advisories) மற்றும் பிழை திருத்த அறிவிப்புகள் (errata notices) நேரடியாக அனுப்பப்படும். lists.freebsd.org தளத்தில் இதைப் பின்தொடரவும்.

freebsd-announce என்பதும் கட்டுப்படுத்தப்பட்ட பட்டியலாகும்; இதில் பாதுகாப்பு ஆலோசனைகளுடன் வெளியீட்டு அறிவிப்புகளும் இடம்பெறும். எனவே, அனைத்துத் தகவல்களையும் ஒரே இடத்தில் பெற விரும்பினால் இதைப் பயன்படுத்தலாம். freebsd-security என்பது கலந்துரையாடல் பட்டியலாகும். இது வாசிப்பதற்கு பயனுள்ளதாக இருக்கும், ஆனால் நீங்கள் எப்போது patch செய்ய வேண்டும் என்பதைத் தெரிந்துகொள்ள இது சரியான இடமல்ல.

இவை அனைத்தும் அடிப்படை system (base system) குறித்த செய்திகளை மட்டுமே வழங்கும். Package vulnerabilities குறித்த தகவல்கள் மின்னஞ்சல் மூலம் வராது. அவற்றை ஒரு கட்டளையை இயக்குவதன் மூலம் நீங்கள் கண்டறிய வேண்டும்.

pkg audit மற்றும் அதன் பின்னணியில் உள்ள தரவுத்தளம்

VuXML (Vulnerabilities and Exposures Markup Language) என்பது FreeBSD திட்டத்தின் ports மற்றும் packages-ல் உள்ள பாதுகாப்பு சிக்கல்களின் பதிவாகும். ஒவ்வொரு பதிவும் பாதிக்கப்பட்ட package, பாதிப்புக்குள்ளாகும் version வரம்புகள், CVE (common vulnerabilities and exposures) அடையாளங்காட்டிகள் மற்றும் ஒரு சிறிய விளக்கத்தைக் கொண்டிருக்கும். முழு தொகுப்பையும் VuXML index-ல் package, CVE அல்லது தேதி வாரியாக வரிசைப்படுத்திப் பார்க்கலாம்.

pkg audit என்பது இதை வாசிக்கும் கருவியாகும்:

pkg audit -F

-F, சரிபார்ப்பதற்கு முன்பு தரவுத்தளத்தின் புதிய நகலைப் பதிவிறக்கும். இதை ஒவ்வொரு முறையும் பயன்படுத்தவும். -F இல்லாமல் நீங்கள் சரிபார்க்கும்போது, கணினியில் ஏற்கனவே உள்ள பழைய நகலைப் பயன்படுத்துவீர்கள். இது பல மாதங்கள் பழமையானதாக இருக்கலாம், எனவே அதன் முடிவு அர்த்தமற்றதாகிவிடும். இந்த command நிறுவப்பட்ட ஒவ்வொரு package version-ஐயும் ஒவ்வொரு VuXML பதிவோடும் ஒப்பிடுகிறது. ஒவ்வொரு பொருத்தத்தையும் அதன் CVE எண்கள் மற்றும் VuXML பக்கத்திற்கான இணைப்போடு அச்சிடுகிறது. இறுதியில், எத்தனை நிறுவப்பட்ட packages-ல் எத்தனை சிக்கல்கள் கண்டறியப்பட்டன என்பதைக் காட்டும் எண்ணிக்கையுடன் முடிவடைகிறது.

pkg-audit(8)-ல் உள்ள மேலும் இரண்டு flags தெரிந்துகொள்வது பயனுள்ளது. pkg audit -r, "பாதிக்கப்பட்ட packages-ஐச் சார்ந்திருக்கும் மற்ற packages-ஐயும் அச்சிடுகிறது, எனவே அவையும் பாதிக்கப்பட வாய்ப்புள்ளது". இதன் மூலமே, ஒரு vulnerable library-ஐ ஆறு நிறுவப்பட்ட மென்பொருட்கள் பயன்படுத்துவதால் அது ஏன் முக்கியமானது என்பதை நீங்கள் அறிந்துகொள்ளலாம். pkg audit -R, அதே முடிவை JSON அல்லது பிற machine format-ல் அச்சிடுகிறது; இதை நீங்கள் monitoring check-க்கு உள்ளீடாகப் பயன்படுத்தலாம்.

pkg package, /usr/local/etc/periodic/security/410.pkg-audit-ல் ஒரு periodic script-ஐ நிறுவுகிறது. இது தினசரி பாதுகாப்புச் சோதனையின் ஒரு பகுதியாக இயங்கி, முடிவுகளை root-க்கு மின்னஞ்சல் செய்கிறது. /etc/periodic.conf-ல் ஒரு வரியைச் சேர்ப்பதன் மூலம் இது இயங்குகிறதா என்பதை உறுதிப்படுத்தவும்:

daily_status_security_pkgaudit_enable="YES"

அந்த தினசரி மின்னஞ்சல், Ubuntu-வில் உள்ள unattended-upgrades முறைக்கு FreeBSD-யில் உள்ள மிக நெருக்கமான மாற்றாகும். ஆனால், இரண்டிற்கும் இடையே உள்ள வேறுபாடே இதன் முக்கிய நோக்கமாகும்: unattended-upgrades நீங்கள் தூங்கும்போது திருத்தங்களை நிறுவுகிறது, ஆனால் pkg audit திருத்தம் தேவை என்பதை மட்டுமே உங்களுக்குத் தெரிவிக்கும். pkg audit தகவல்களை மட்டுமே வழங்கும். இது ஒருபோதும் patch செய்யாது. ஒரு stock FreeBSD கணினியில், உங்கள் அனுமதியின்றி பாதுகாப்பு மேம்படுத்தல்களை (security updates) நிறுவும் அம்சம் எதுவும் இல்லை.

பாதிப்புள்ள தொகுப்பைச் சரிசெய்தல்

pkg update
pkg upgrade

FreeBSD தொகுப்பு களஞ்சியங்களில் (repositories) பாதுகாப்பு தொடர்பான தொகுப்புகளுக்கு மட்டும் எனத் தனிப் பிரிவு (pocket) இல்லை. Ubuntu-வில் noble-security-லிருந்து மட்டும் தொகுப்புகளைப் பெற்று, மற்றவற்றை மாற்றாமல் வைத்திருக்க முடியும். FreeBSD-யில் இதற்கு இணையான வசதி இல்லை. எனவே, பாதிப்புள்ள ஒரு தொகுப்பைச் சரிசெய்யும்போது, களஞ்சியத்தில் தற்போதுள்ள அதே பதிப்பையும், அதனுடன் தொடர்புடைய அனைத்து சார்புகளையும் (dependencies) சேர்த்துப் புதுப்பிக்க வேண்டியிருக்கும். தொகுப்புப் புதுப்பித்தலை ஒரு பின்னணிப் பணியாகச் செய்யாமல், ஒரு முறையான மாற்றமாகத் திட்டமிடுங்கள்.

நீங்கள் எந்தக் களஞ்சியக் கிளையில் (repository branch) இருக்கிறீர்கள் என்பது, ஒரு திருத்தம் உங்களை எவ்வளவு விரைவாக வந்தடையும் என்பதைத் தீர்மானிக்கிறது. இயல்பாக, 'quarterly' கிளை பயன்படுத்தப்படுகிறது. இது புதிய அம்சங்கள் இல்லாத, நிலையான புதுப்பிப்புகளை மட்டுமே வழங்குவதால் "மிகவும் கணிக்கக்கூடிய மற்றும் நிலையான அனுபவத்தைத் தருகிறது" என்று கையேடு குறிப்பிடுகிறது. 'latest' கிளை, அனைத்திலும் புதிய பதிப்புகளைப் பெறுகிறது. எனவே, pkg audit -F ஒரு தொகுப்பு பாதிப்புக்குள்ளானது என்று தெரிவிக்கும்போது, pkg upgrade எந்தப் புதுப்பிப்பும் இல்லை என்று கூறினால், அந்தத் திருத்தம் இன்னும் உங்கள் கிளைக்கு வரவில்லை என்று பொருள். இந்தச் செயல்பாட்டு முறையே குழப்பத்திற்குக் காரணமாகிறது.

ஒரு கணினியை 'latest' கிளைக்கு மாற்ற, கணினியுடன் வரும் களஞ்சியக் கோப்பை நகலெடுத்து, அந்த நகலைத் திருத்தவும்:

mkdir -p /usr/local/etc/pkg/repos
cp /etc/pkg/FreeBSD.conf /usr/local/etc/pkg/repos/FreeBSD.conf

நகலில் உள்ள url வரியில் quarterly என்பதை latest என மாற்றவும். பின்னர், புதிய பட்டியலைப் பெற pkg update -f கட்டளையை இயக்கவும். களஞ்சியப் பெயரை நினைவில் வைத்துத் தட்டச்சு செய்வதற்குப் பதிலாக, கோப்பை நகலெடுப்பது சிறந்தது: /etc/pkg/FreeBSD.conf-க்குள் இருக்கும் பெயரே உங்கள் கணினி உண்மையில் பயன்படுத்தும் பெயர். /usr/local/etc/pkg/repos-க்குக் கீழ் உள்ள ஒரு கோப்பு, அதன் பெயருடன் சரியாகப் பொருந்தும் களஞ்சியத்தை மட்டுமே மாற்றியமைக்கும்.

அடிப்படை சிஸ்டம் பேட்ச்களை (patches) பயன்படுத்துதல்

freebsd-update fetch
freebsd-update install

fetch உங்கள் தற்போதைய ரிலீஸிற்கான பேட்ச்களைப் பதிவிறக்கம் செய்து, மாற்றப்படவுள்ள கோப்புகளின் பட்டியலைக் காண்பிக்கும். செய்ய வேண்டிய மாற்றங்கள் ஏதுமில்லை எனில், அது No updates needed to update system to 15.1-RELEASE-p3. என்று அச்சிட்டு வெளியேறும். மாற்றங்கள் ஏதேனும் இருந்தால், நிறுவுவதற்கான கட்டளையை இயக்கச் சொல்லி அது முடிக்கும். நீங்கள் freebsd-update install கட்டளையை இயக்கும் வரை எந்த மாற்றமும் செய்யப்படாது, எனவே fetch கட்டளையை எப்போது வேண்டுமானாலும் பாதுகாப்பாக இயக்கலாம்.

freebsd-update(8) என்பது ALPHA, BETA, RC மற்றும் RELEASE பதிப்புகளுக்கான பைனரி அப்டேட்களை வழங்குகிறது; இது PRERELEASE, STABLE அல்லது CURRENT பதிப்புகளுக்குப் பொருந்தாது. நீங்கள் stable/15-ஐப் பின்தொடர்கிறீர்கள் என்றால், நீங்கள் சோர்ஸ் கோடிலிருந்து பில்ட் செய்கிறீர்கள் என்று அர்த்தம், அந்தச் சூழலில் இந்த டூல் உங்களுக்குப் பயன்படாது.

பதிவிறக்கத்தை தானியக்கமாக்கி (automate), நிறுவுதலை மேனுவலாகச் செய்யவும். /etc/crontab-க்கான ஹேண்ட்புக் வரி இதோ:

@daily                                  root    freebsd-update cron

freebsd-update cron என்பது 1 முதல் 3600 வினாடிகளுக்குள் ஏதோ ஒரு சீரற்ற நேரத்தில் இயங்கும். இது fetch போலவே அப்டேட்களைப் பதிவிறக்கம் செய்து, ஏதேனும் அப்டேட்கள் நிலுவையில் இருந்தால் root பயனருக்கு மின்னஞ்சல் அனுப்பும். இணையத்தில் உள்ள அனைத்து FreeBSD மெஷின்களும் ஒரே நேரத்தில் அப்டேட் மிரர்களை அணுகாமல் இருக்கவே இந்த சீரற்ற கால இடைவெளி (random sleep) பயன்படுத்தப்படுகிறது.

இதன் அவுட்புட்டில் இரண்டு விஷயங்கள் பயனர்களைக் குழப்பக்கூடும். சோர்ஸ் ட்ரீ (source tree) இல்லாத சர்வரில் src component not installed, skipped என்பது இயல்பானது, இது பிழை அல்ல. எந்தெந்த கூறுகள் (components) அப்டேட் செய்யப்பட வேண்டும் என்பது /etc/freebsd-update.conf கோப்பில் உள்ள Components வரியால் தீர்மானிக்கப்படுகிறது; இதற்கான தேர்வுகள் src, world மற்றும் kernel ஆகும்.

நிறுவலின் போது ஏதேனும் தவறு நடந்தால், freebsd-update rollback கட்டளையைப் பயன்படுத்தி கடைசியாக நிறுவப்பட்ட அப்டேட்களை நீக்கலாம். ZFS ரூட் கோப்பு முறைமையைப் பயன்படுத்துகிறீர்கள் என்றால், அப்டேட் செய்வதற்கு முன் ஒரு பூட் என்விரான்மென்ட் (boot environment) எடுத்துக்கொள்வது இன்னும் சிறந்தது:

bectl create pre-patch
freebsd-update fetch install

பேட்ச் செய்யப்பட்ட சிஸ்டம் பூட் ஆகவில்லை எனில், லோடர் மெனுவிலிருந்து பழைய பூட் என்விரான்மென்ட்டைத் தேர்ந்தெடுத்து, முந்தைய நிலைக்குத் திரும்பலாம். இந்த வசதி ZFS-ஐ ரூட் கோப்பு முறைமையாகப் பயன்படுத்துவதன் நடைமுறை நன்மைகளில் ஒன்றாகும். இரண்டு என்விரான்மென்ட்களும் மாறுபடும் வரை, இது வட்டில் மிகக் குறைந்த இடத்தையே எடுத்துக்கொள்ளும்.

எனது FreeBSD release இன்னும் ஆதரவில் உள்ளதா?

ஒவ்வொரு release-க்கும் ஒரு குறிப்பிட்ட கால அவகாசம் உண்டு; இது security பக்கத்தில் உள்ள branch அட்டவணையில் வெளியிடப்படும். ஆகஸ்ட் 2026 நிலவரப்படி, அந்த அட்டவணை பின்வருமாறு:

  • releng/15.1, அதாவது 15.1-RELEASE, 31 மார்ச் 2027 வரை
  • releng/15.0, அதாவது 15.0-RELEASE, 30 செப்டம்பர் 2026 வரை
  • releng/14.4, அதாவது 14.4-RELEASE, 31 டிசம்பர் 2026 வரை
  • stable/15, 31 டிசம்பர் 2029 வரை
  • stable/14, 30 நவம்பர் 2028 வரை

Point releases குறுகிய கால அவகாசத்தையே கொண்டிருக்கும். இந்த கட்டுரை எழுதப்பட்ட ஏழு வாரங்களுக்குப் பிறகு 15.0-RELEASE-ன் காலம் முடிவடைகிறது, ஏனெனில் 15.1 வெளியானவுடன் அதற்கான காலக்கெடு தொடங்கிவிட்டது. Stable branches பல ஆண்டுகள் நீடிக்கும்; இவை freebsd-update வழங்காத source branches ஆகும்.

உங்கள் கணினியில் உள்ள பதிப்பை freebsd-version -u மூலம் சரிபார்த்து, அட்டவணையுடன் ஒப்பிட்டுப் பாருங்கள். freebsd-update-வும் உங்களுக்கு எச்சரிக்கை செய்யும். குறிப்பிட்ட தேதியை நெருங்கும்போது, fetch பின்வருமாறு காட்டும்:

WARNING: FreeBSD 15.0-RELEASE is approaching its End-of-Life date.
It is strongly recommended that you upgrade to a newer
release within the next 2 months.

தேதி கடந்த பிறகு, அந்த எச்சரிக்கை WARNING: FreeBSD 15.0-RELEASE HAS PASSED ITS END-OF-LIFE DATE. என மாறும். ஆதரவு இல்லாத release தொடர்ந்து இயங்கும். ஆனால், அதற்குப் பிறகு பாதுகாப்பு ஆலோசனைகள் (advisories) கிடைக்காது; அதாவது, அடுத்து வரும் base vulnerability-ஐ நீங்கள் நிரந்தரமாகச் சுமக்க வேண்டியிருக்கும்.

ஒரு release-லிருந்து அடுத்த நிலைக்கு மாற, முதலில் freebsd-update -r 15.1-RELEASE upgrade, பிறகு freebsd-update install, அதன் பின் ஒரு reboot, மீண்டும் ஒருமுறை freebsd-update install, புதிய libraries-க்கு ஏற்ப அனைத்து packages-ஐயும் மீண்டும் நிறுவ pkg-static upgrade -f, இறுதியாக freebsd-update install செய்ய வேண்டும். Library version எண்கள் மாற்றப்பட்டதா என்பதைப் பொறுத்து, மூன்று நிலைகளுக்குப் பதிலாக இரண்டு நிறுவல் நிலைகள் மட்டுமே இருக்கலாம் என்று handbook குறிப்பிடுகிறது. ஒரு maintenance window-ஐ ஒதுக்குங்கள், தொடங்குவதற்கு முன் FreeBSD 15 server setup guide-ஐப் படியுங்கள்.

Reboot அவசியமா, அல்லது service restart போதுமானதா?

FreeBSD இதற்கு ஒரு ஒப்பீட்டின் மூலம் பதிலளிக்கிறது:

freebsd-version -k
uname -r

freebsd-version -k என்பது வட்டில் (disk) உள்ள kernel ஆகும். uname -r என்பது நினைவகத்தில் (memory) இயங்கும் kernel ஆகும். இந்த இரண்டு சரங்களும் (strings) வெவ்வேறாக இருந்தால், புதிய kernel நிறுவப்பட்டுள்ளது, ஆனால் அது இன்னும் இயங்கவில்லை என்று பொருள்; எனவே reboot செய்யவும். சரங்கள் ஒன்றாக இருந்தால், patch-ஆனது kernel-ஐ பாதிக்கவில்லை என்று பொருள்; எனவே reboot செய்வதால் எந்தப் பயனும் இல்லை.

Userland patch-ஐப் பொறுத்தவரை, மாற்றப்பட்ட குறியீட்டைப் பயன்படுத்தும் எதையும் restart செய்யவும். /usr/lib-ல் உள்ள base OpenSSL-ல் செய்யப்படும் திருத்தம், மூன்று வாரங்களுக்கு முன்பு தொடங்கப்பட்ட மற்றும் பழைய library-யையே அதன் address space-ல் வைத்திருக்கும் sshd-க்கு எந்தப் பயனும் தராது. வட்டில் உள்ள கோப்பு புதியது, ஆனால் இயங்கும் process பழையது.

service sshd restart

இதே விதி packages-க்கும் பொருந்தும். pkg upgrade வட்டில் உள்ள binary-ஐ மாற்றுகிறது, ஆனால் இயங்கும் process பழைய binary-யையே வைத்திருக்கும். எனவே, மாற்றத்தை நடைமுறைப்படுத்த service nginx restart அவசியமான படியாகும்.

Debian-ன் needrestart-க்கு இணையான வசதி base system-ல் இல்லை. எனவே, எதையும் செய்யுமாறு யாரும் உங்களுக்கு நினைவூட்ட மாட்டார்கள், எந்தப் பட்டியலும் பராமரிக்கப்படாது. எந்தெந்த services மாற்றப்பட்ட library-களைப் பயன்படுத்துகின்றன என்பதைக் கண்காணிக்கவும், அல்லது base libraries-ஐப் பாதிக்கும் எந்தவொரு patch-க்கு பிறகும் reboot செய்யவும். Configuration-ஐ version control-ல் வைத்திருக்கும் server-ல், reboot என்பது ஒரு வழக்கமான செயல்பாடு. நீங்கள் patch செய்துவிட்டதாகத் தவறாக நம்புவதை விட, reboot செய்வது மிகவும் பாதுகாப்பானது.

Jails இயங்கும் ஒரு machine-ஐ patch செய்தல்

Jail-கள் host kernel-ஐப் பகிர்ந்துகொள்வதால், kernel தொடர்பான பாதுகாப்பு எச்சரிக்கை என்பது host-ன் பிரச்சினையாகும்; அந்த machine-ல் உள்ள அனைத்து jail-களும் அதைப் பாதிக்கின்றன. Host-ஐ patch செய்து reboot செய்தால், அனைத்து jail-களுக்கும் kernel சார்ந்த பாதுகாப்பு உறுதி செய்யப்படும். ஒவ்வொரு jail-க்குள் இருக்கும் userland என்பது தனித்தனி installation ஆகும், அது அதன் சொந்த patch level-ஐக் கொண்டிருக்கும். freebsd-version -j <jail> அந்த விவரங்களை host-லிருந்து தெரிவிக்கும். Jail-க்குள் உள்ள packages-ம் தனித்தவை; jail-க்குள் நுழையாமலேயே pkg -j <jail> audit -F மூலம் அவற்றை audit செய்ய முடியும். பகிரப்பட்ட kernel மற்றும் தனித்தனி userland என்ற இந்த கட்டமைப்பு வேறுபாடுதான், jails மற்றும் Docker containers-க்கு இடையிலான ஒப்பீட்டை தீர்மானிக்கிறது.

Ubuntu மொழிபெயர்ப்பு

ஒவ்வொரு FreeBSD பழக்கத்திற்கும் இணையான ஒரு செயல்முறை Ubuntu-விலும் உள்ளது, எனவே நீங்கள் வழக்கமான பணிகளை எந்தத் திசையிலும் மேற்கொள்ளலாம்.

  • Base system patches: freebsd-update fetch மற்றும் அதைத் தொடர்ந்து freebsd-update install. Ubuntu-வில், apt update && apt upgrade, இது base system மற்றும் மற்ற அனைத்தையும் ஒரே நேரத்தில் உள்ளடக்கும்.
  • Third party software: FreeBSD-யில் pkg update && pkg upgrade. Ubuntu-வில், மீண்டும் apt.
  • Known vulnerability check: FreeBSD-யில் pkg audit -F. Ubuntu 24.04-ல் இதற்கான நெருக்கமான கட்டளை pro security-status ஆகும், இது Expanded Security Maintenance உள்ளடக்கம் உட்பட நிறுவப்பட்ட தொகுப்புகளுக்கான பாதுகாப்பு மேம்படுத்தல்களைக் காட்டும்.
  • Automatic installation: Ubuntu-வில் unattended-upgrades உங்களுக்காக பாதுகாப்பு மேம்படுத்தல்களை நிறுவும். FreeBSD-யில் இதற்கு இணையான வசதி இல்லை, எனவே freebsd-update cron தரவிறக்கம் செய்து மின்னஞ்சல் அனுப்பும், நீங்கள் கைமுறையாக நிறுவ வேண்டும்.
  • Advisory feed: freebsd-security-notifications, FreeBSD-SA மற்றும் FreeBSD-EN தகவல்களைக் கொண்டிருக்கும். ubuntu-security-announce, Ubuntu Security Notices தகவல்களைக் கொண்டிருக்கும்.
  • Vulnerability database: FreeBSD ports மற்றும் packages-க்கு VuXML. Ubuntu packages-க்கு Ubuntu CVE tracker.
  • Reboot check: FreeBSD-யில் uname -r-க்கு எதிராக freebsd-version -k. Ubuntu-வில் /var/run/reboot-required இருப்பு.
  • Support window: FreeBSD பாதுகாப்புப் பக்கத்தில் உள்ள branch table. Ubuntu-வில் release schedule மற்றும் pro security-status.

அடிப்படை நடைமுறை இரண்டு அமைப்புகளிலும் ஒன்றுதான்: feed-க்கு சந்தா செலுத்துங்கள், அட்டவணைப்படி தணிக்கையை (audit) இயக்குங்கள், எதை நிறுவ வேண்டும் மற்றும் எப்போது மறுதொடக்கம் (restart) செய்ய வேண்டும் என்பதை முடிவு செய்யுங்கள். FreeBSD-யில் நீங்கள் இரண்டாவது பாதியை நீங்களே செய்ய வேண்டும், ஏனெனில் அது உங்களுக்காக அதைச் செய்யாது. Linux மற்றும் FreeBSD-ன் விரிவான ஒப்பீடு ஒரு பணிச்சுமையை (workload) அவற்றுக்கிடையே மாற்றும்போது வேறு என்னென்ன மாற்றங்கள் ஏற்படும் என்பதை விளக்குகிறது.

FAQ

freebsd-update எனது packages-ஐயும் patch செய்யுமா?

இல்லை. freebsd-update base system-ஐ மட்டுமே உள்ளடக்கும்; அதாவது, release-உடன் வரும் kernel மற்றும் userland மட்டுமே இதில் அடங்கும். /usr/local மூலம் நிறுவப்பட்ட மென்பொருட்கள் packages-லிருந்து வருகின்றன, அவை pkg upgrade மூலம் patch செய்யப்படுகின்றன. நிறுவப்பட்ட packages-ல் ஏதேனும் பாதுகாப்பு குறைபாடுகள் உள்ளனவா என்பதை அறிய pkg audit -F-ஐ இயக்கவும். ஏனெனில், base advisories-ல் இவை குறிப்பிடப்படாது மற்றும் security mailing lists-லும் இவை அறிவிக்கப்படாது.

FreeBSD update-க்கு பிறகு reboot செய்ய வேண்டுமா என்பதை எப்படி அறிவது?

freebsd-version -k மற்றும் uname -r ஆகியவற்றை ஒப்பிட்டுப் பார்க்கவும். முதலாவது, வட்டில் (disk) நிறுவப்பட்ட kernel-ஐக் காட்டும் (புதிதாக எழுதப்பட்ட ஆனால் இன்னும் boot செய்யப்படாத kernel-உம் இதில் அடங்கும்). இரண்டாவது, தற்போது இயங்கிக்கொண்டிருக்கும் kernel-ஐக் காட்டும். இவை இரண்டும் வெவ்வேறாக இருந்தால், நீங்கள் reboot செய்ய வேண்டும். இவை ஒன்றாக இருந்தால், patch என்பது userland-க்கு மட்டுமே என்று அர்த்தம்; எனவே, பாதிக்கப்பட்ட services-ஐ மட்டும் restart செய்யவும் (உதாரணமாக service sshd restart). ஏனெனில், இயங்கிக்கொண்டிருக்கும் ஒரு process, தான் restart செய்யப்படும் வரை பழைய library-ஐயே பயன்படுத்தும்.

Security Advisory மற்றும் Errata Notice ஆகியவற்றுக்கு என்ன வித்தியாசம்?

FreeBSD-SA-26:55.elf போன்ற ஒரு Security Advisory, base system-ல் உள்ள பாதுகாப்பு குறைபாட்டைச் சரிசெய்கிறது. FreeBSD-EN-26:18.tzdata போன்ற ஒரு Errata Notice, காலாவதியான time zone தரவுகள் போன்ற, பாதுகாப்பு பாதிப்பு இல்லாத, ஆனால் பிழையான அல்லது நிலைத்தன்மை (stability) தொடர்பான சிக்கல்களைச் சரிசெய்கிறது. இவை இரண்டுமே ஆண்டு, முக்காற்புள்ளி (colon), வரிசை எண், கூறு (component) என்ற அமைப்பைப் பின்பற்றுகின்றன. இவை இரண்டுமே Security Officer-ஆல் கையொப்பமிடப்பட்டு freebsd-update மூலம் வழங்கப்படுகின்றன. இவை இரண்டுமே ports அல்லது packages மூலம் நிறுவப்பட்ட மென்பொருட்களை உள்ளடக்குவதில்லை.

FreeBSD-க்கு unattended-upgrades போன்ற வசதி உள்ளதா?

base system-ல் அத்தகைய வசதி இல்லை. freebsd-update cron நிலுவையில் உள்ள base patches-ஐத் தரவிறக்கம் செய்து root-க்கு மின்னஞ்சல் அனுப்பும், ஆனால் அவற்றை நிறுவாது. pkg நிறுவும் periodic script, தினமும் pkg audit-ஐ இயக்கி முடிவுகளை மின்னஞ்சல் செய்யும், ஆனால் எதையும் upgrade செய்யாது. unattended installation-ஐ நீங்கள் ஒரு cron job மூலம் நீங்களே உருவாக்கிக்கொள்ள வேண்டும். FreeBSD package upgrade என்பது security-only backport-ஐ மட்டும் தராமல் புதிய version-ஐயே தருவதால், பெரும்பாலான நிர்வாகிகள் மின்னஞ்சலைப் படித்துவிட்டு கைமுறையாகவே (by hand) நிறுவுகிறார்கள்.

எனது FreeBSD release இன்னும் ஆதரவில் (supported) உள்ளதா என்பதை எப்படிச் சரிபார்ப்பது?

உங்கள் userland version-ஐ அறிய freebsd-version -u-ஐ இயக்கவும், பின் அதை FreeBSD security பக்கத்தில் உள்ள supported branch அட்டவணையுடன் ஒப்பிடவும். Point releases குறுகிய காலமே ஆதரவு பெறும்: ஆகஸ்ட் 2026 நிலவரப்படி, 15.0-RELEASE ஆனது 30 செப்டம்பர் 2026 அன்று முடிவடைகிறது, அதே சமயம் 15.1-RELEASE ஆனது 31 மார்ச் 2027 வரை இயங்கும். தேதி நெருங்கும்போது freebsd-update fetch உங்களுக்கு எச்சரிக்கை செய்யும். அந்தத் தேதி கடந்தவுடன், அந்த release அதன் ஆயுட்காலத்தை முடித்துவிட்டது (HAS PASSED ITS END-OF-LIFE DATE) என்ற வரியைக் காட்டும். அந்த நிலைக்குப் பிறகு, எந்தவொரு advisories-உம் உங்களுக்குப் பொருந்தாது.

#freebsd#security#patching#advisories#pkg