Linux හි sudo අනුවාදය යාවත්කාලීන කරන්නේ කෙසේද


ප්රශ්නය: මම sudo විධානය තුළ සොයාගත් බරපතල ආරක්ෂක අවදානමක් ගැන ඉගෙන ගත් අතර, එය නිවැරදි කිරීමට මට වහාම sudo නවතම අනුවාදයට උත්ශ්රේණි කිරීමට අවශ්යයි මගේ ලිනක්ස් පද්ධතියේ අවදානම. [ඔබගේ ලිනක්ස් බෙදාහැරීම ඇතුළු කරන්න] sudo අනුවාදය යාවත්කාලීන කරන්නේ කෙසේද?

ලිනක්ස් හි, sudo විධානය ("ආදේශක පරිශීලක කරන්න" හෝ "සුපිරි පරිශීලක කරන්න" සඳහා කෙටි) නිර්මාණය කර ඇත්තේ පරිශීලකයෙකුට වෙනත් පරිශීලකයෙකුගේ ප්රවේශ හැකියාවන් සහිත වැඩසටහනක් ක්රියාත්මක කිරීමට ඉඩ සලසන පරිදිය (බොහෝ විට සුපර් යූසර් "රූට් ") ලිනක්ස් පද්ධතියක තෝරාගත් පරිශීලකයින්ට පරිපාලන පාලනය ලබා දීමට sudo බහුලව භාවිතා වේ. අනිසි භාවිතය වැළැක්වීම සඳහා sudo තුළ අන්තර්ගත යාන්ත්රණයන් ඇතත් (උදා., ආරක්ෂක ප්රතිපත්ති, ආදාන/ප්රතිදාන ලොග් වීම), sudo විධානය තුළ ඇති ඕනෑම අවදානමක විභව බලපෑම තවමත් අතිශයින් ඉහළය.

උදාහරණයක් ලෙස, sudo (CVE-2021-3156) හි සොයා ගන්නා ලද නවතම heap buffer overflow vulnerability මඟින් වරප්රසාද උත්සන්න කිරීම අවුලුවාලීමට සහ ඕනෑම වරප්රසාද ලත් පරිශීලකයෙකුට ( තුළ නොමැති ඒවා) ඉඩ දිය හැක. මුරපද සත්යාපනය මගහැර මූල ප්රවේශය ලබා ගැනීමට sudoers ලැයිස්තුව, හෝ කිසිවෙකු නැත පවා. පහත් මට්ටමේ සේවා ගිණුමක් තිරිසන් ප්රහාර හරහා කඩ කළ පසු දෙවන අදියර ප්රහාරය ලෙස මෙම අවදානම පහසුවෙන් ප්රයෝජනයට ගත හැක.

බොහෝ ලිනක්ස් බෙදාහැරීම්වල පෙරනිමියෙන් sudo ලබා ගත හැකි බැවින්, sudo හි ඕනෑම අවදානමක් ඔබට සෘජුවම බලපානු ඇත.

ඔබේ sudo හි අවදානමක් තිබේදැයි පරීක්ෂා කරන්නේ කෙසේද (CVE-2021-3156)

ඔබගේ sudo නවතම heap buffer overflow vulnerability (CVE-2021-3156) ට ගොදුරු විය හැකිදැයි පරීක්ෂා කරන ආකාරය මම මෙහි විස්තර කරමි. උපදෙස් මෙම අවදානමට බෙහෙවින් විශේෂිත වන අතර, අනුරූප CVE අවදානම් හෙළිදරව් කිරීම් මත පදනම්ව වෙනත් ඕනෑම sudo අවදානම් සඳහා එය පහසුවෙන් සකස් කළ හැක.

පළමු ක්රමය: sudo අනුවාදය පරීක්ෂා කරන්න

ඔබට පහත විධානය සමඟ ඔබේ sudo අනුවාදය පරීක්ෂා කර, බලපෑමට ලක් වූ අනුවාද සමඟ සංසන්දනය කළ හැක.


$ sudo --version

CVE-2021-3156 මගින් බලපෑමට ලක් වූ sudo අනුවාද:

  • 1.8.2 සිට 1.8.31p2 දක්වා sudo හි සියලුම ලෙගසි අනුවාද

  • 1.9.0 සිට 1.9.5p1 දක්වා sudo හි සියලුම ස්ථාවර අනුවාද

දෙවන ක්රමය: විධාන රේඛාවෙන් CVE-2021-3156 හි අවදානම පරීක්ෂා කරන්න:

sudo අනුවාදයෙන් පමණක්, ඔබට sudo අවදානමට ලක්විය හැකිද නැද්ද යන්න පැච් බැක්පෝට් කළ හැකි බැවින් ඔබට පැවසිය නොහැක. වඩාත් විශ්වාසදායක ක්රමයක් වන්නේ අවදානම සෘජුව පරීක්ෂා කිරීමයි. ඔබේ sudo heap buffer overflow vulnerability මගින් බලපාන්නේ දැයි පරීක්ෂා කිරීමට, ඔබට පහත විධාන රේඛාව භාවිතා කළ හැක.

පළමුව ඔබේ ලිනක්ස් පද්ධතියට root නොවන පරිශීලකයෙකු ලෙස ලොග් වන්න, ඉන්පසු ධාවනය කරන්න:


$ sudoedit -s /

ඔබගේ sudo අවදානමට ලක්විය හැකි නම්, එය "sudoedit: /: සාමාන්ය ගොනුවක් නොවේ" යනුවෙන් දෝෂ පණිවිඩයක් පෙන්වනු ඇත.

ඔබගේ sudo දැනටමත් පැච් කර ඇත නම්, එය භාවිතය සමඟින් ආරම්භ වන භාවිත පණිවිඩයක් පෙන්වයි:

සහාය දක්වන Linux Distros හි sudo අනුවාදය යාවත්කාලීන කරන්න

ඔබගේ sudo දන්නා අවදානමකින් බලපා ඇති බව ඔබ සොයා ගත් පසු, ඔබ වහාම sudo යාවත්කාලීන කළ යුතුය. පහසුම ක්රමය නම් ඔබේ ලිනක්ස් පද්ධතියේ පෙරනිමි පැකේජ කළමනාකරු භාවිතා කිරීමයි. කෙසේ වෙතත්, මෙම ක්රමය අදාළ වන්නේ ඔබේ Linux බෙදාහැරීම ජීවිතයේ අවසානය (EOL) වෙත ළඟා වී නොමැති නම් පමණි. ඔබේ Linux distro එහි ආධාරක ජීවන චක්රය කල් ඉකුත් වී ඇති නිසා එය තවදුරටත් නඩත්තු නොකරන්නේ නම්, ගබඩාවන් ආරක්ෂිත පැච් සමඟ යාවත්කාලීන නොවේ. මෙම අවස්ථාවේදී, ඔබට sudo පැකේජ කළමණාකරුවෙකු සමඟ යාවත්කාලීන කළ නොහැකි අතර, ඊළඟට විස්තර කර ඇති පරිදි ඔබ එය අතින් යාවත්කාලීන කළ යුතුය.

මෙහිදී මම ඔබගේ Linux පද්ධතිය තවමත් සහය දක්වන බව උපකල්පනය කරමි. sudo යාවත්කාලීන කිරීමට පෙර, විකල්ප පියවරක් වන්නේ දන්නා අවදානමක් සඳහා sudo පැකේජය පැච් කර ඇති බව තහවුරු කිරීම සඳහා sudo පැකේජයේ වෙනස්වීම් ලොගය පරීක්ෂා කිරීමයි. . මෙම උදාහරණයේ දී, සලකා බලනු ලබන අවදානම CVE-2021-3156 වේ. ඔබ සාමාන්ය නඩත්තු කිරීමේ කොටසක් ලෙස sudo උත්ශ්රේණි කරන්නේ නම්, ඔබට වෙනස්වීම් ලොගය පරීක්ෂා කිරීම මඟ හැරිය හැක.

Ubuntu, Debian හෝ Linux Mint මත sudo යාවත්කාලීන කරන්න:

එහි DEB පැකේජයේ වෙනස් කිරීමේ ලොගයේ sudo සඳහා වන අවදානම් පැච් පරීක්ෂා කිරීමට:


$ sudo apt update; apt changelog sudo | grep CVE-2021-3156

    - debian/patches/CVE-2021-3156-pre1.patch: check lock record size in
    - debian/patches/CVE-2021-3156-pre2.patch: sanity check size when
    - debian/patches/CVE-2021-3156-1.patch: reset valid_flags to
    - debian/patches/CVE-2021-3156-2.patch: add sudoedit flag checks in
    - debian/patches/CVE-2021-3156-3.patch: fix potential buffer overflow
    - debian/patches/CVE-2021-3156-4.patch: fix the memset offset when
    - debian/patches/CVE-2021-3156-5.patch: don't assume that argv is

ඔබ පැච් එක පවතින බව තහවුරු කළ පසු, ඉදිරියට ගොස් sudo සමඟ යාවත්කාලීන කරන්න:


$ sudo apt update; sudo apt --only-upgrade install sudo

සාර්ථක යාවත්කාලීනයකින් පසුව පවා, sudo අනුවාදය එලෙසම හෝ බලපෑමට ලක් වූ අනුවාදවලින් එකක් විය හැකි බව සලකන්න. ඉතිරිය සහතිකයි. එය හුදෙක් බොහෝ විට අවදානම් පැච් එකක් පවතින sudo අනුවාදයකට backported නිසා ය. මේ අනුව, පැච් එක සාර්ථකව යෙදී ඇත්දැයි තහවුරු කර ගැනීම සඳහා, පෙර විස්තර කර ඇති පරිදි, අවදානමට එරෙහිව sudo පරීක්ෂා කිරීම නිර්දේශ කෙරේ.

Fedora හෝ CentOS මත sudo යාවත්කාලීන කරන්න:

එහි RPM පැකේජයේ වෙනස් කිරීමේ ලොගයේ sudo සඳහා වන අවදානම් පැච් පරීක්ෂා කිරීමට:


$ repoquery --changelog sudo | grep CVE-2021-3156

Fedora 33 openh264 (From Cisco) - x86_64        3.6 kB/s | 3.2 kB     00:00    
Fedora Modular 33 - x86_64                      952 kB/s | 1.5 MB     00:01    
Fedora Modular 33 - x86_64 - Updates            1.5 MB/s | 1.5 MB     00:01    
Fedora 33 - x86_64 - Updates                    2.0 MB/s |  10 MB     00:05    
Fedora 33 - x86_64                              1.3 MB/s |  15 MB     00:10    
RPM Fusion for Fedora 33 - Free - Updates       1.1 MB/s | 414 kB     00:00    
RPM Fusion for Fedora 33 - Free                 1.3 MB/s | 964 kB     00:00    
- fixed CVE-2021-3156 sudo: Heap buffer overflow in argument parsing

ඔබ පැච් එක පවතින බව තහවුරු කළ පසු, ඉදිරියට ගොස් sudo සමඟ යාවත්කාලීන කරන්න:


$ sudo dnf update sudo

සාර්ථක යාවත්කාලීනයකින් පසුව පවා, sudo අනුවාදය එලෙසම හෝ බලපෑමට ලක් වූ අනුවාදවලින් එකක් විය හැකි බව සලකන්න. ඉතිරිය සහතිකයි. එය බොහෝ විට දුර්වලතා පැච් එකක් පවතින sudo අනුවාදයකට සරලව backport වන බැවිනි. එය දෙවරක් පරීක්ෂා කිරීම සඳහා, කලින් විස්තර කළ පරිදි, අවදානමට එරෙහිව sudo නැවත පරීක්ෂා කිරීම සැමවිටම හොඳ අදහසකි.

ඔබේ CentOS හෝ Fedora පද්ධතිය EOL වෙත ළඟා වී ඇත්නම්, ඊළඟට විස්තර කර ඇති පරිදි ඔබට sudo අතින් යාවත්කාලීන කිරීමට අවශ්ය වනු ඇත.

සහය නොදක්වන Linux Distros මත sudo අනුවාදය යාවත්කාලීන කරන්න

ඔබ EOL වෙත ළඟා වී ඇති සහ සහය නොදක්වන පැරණි Linux බෙදාහැරීමක් ධාවනය කරන්නේ නම් (උදා: CentOS 6, Ubuntu 17.04), අවාසනාවන්ත ලෙස ආරක්ෂක පැච් යෙදීම සම්බන්ධයෙන් ඔබ තනිවම සිටී. සමහර Linux distros සඳහා, ඔබට නිල වෙබ් අඩවියෙන් sudo ද්විමය පැකේජයේ නවතම ස්ථාවර අනුවාදය බාගත කළ හැකිය. උදාහරණයක් ලෙස, ඔවුන් සහාය නොදක්වන RHEL/CentOS 5 සහ 6 සඳහා නවතම sudo හි RPM පැකේජයක් සපයයි.

පෙර-සාදන ලද ද්විමය පැකේජයක් නොමැති නම්, ඔබට මූලාශ්රයෙන් sudo හි නවතම ස්ථාවර අනුවාදය (1.9.5p2) ගොඩනගා එය අතින් ස්ථාපනය කළ හැක. . මූලාශ්රයෙන් DEB/RPM පැකේජයක් තැනීමට CheckInstall භාවිතා කිරීමද ඔබට සලකා බැලිය හැක.

පහත දැක්වෙන්නේ මූලාශ්රයෙන් sudo අතින් ගොඩනගන ආකාරය සහ ස්ථාපනය කරන ආකාරයයි.

Ubuntu, Debian හෝ Linux Mint සඳහා:


$ sudo apt install make gcc
$ wget https://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz
$ tar -xf sudo-1.9.5p2.tar.gz
$ cd sudo-1.9.5p2
$ ./configure --prefix=/usr
$ make
$ sudo make install

CentOS හෝ Fedora සඳහා:


$ sudo dnf install make gcc
$ wget https://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz
$ tar -xf sudo-1.9.5p2.tar.gz
$ cd sudo-1.9.5p2
$ ./configure --prefix=/usr
$ make
$ sudo make install

ස්ථාපනය කිරීමෙන් පසුව, sudo යාවත්කාලීන බව තහවුරු කරන්න:


$ sudo --version

Sudo version 1.9.5p2
Sudoers policy plugin version 1.9.5p2
Sudoers file grammar version 48
Sudoers I/O plugin version 1.9.5p2
Sudoers audit plugin version 1.9.5p2