Bubblewrap 0.6 இன் வெளியீடு, தனிமைப்படுத்தப்பட்ட சூழல்களை உருவாக்குவதற்கான ஒரு அடுக்கு

தனிமைப்படுத்தப்பட்ட சூழல்களின் வேலையை ஒழுங்கமைப்பதற்கான கருவிகளின் வெளியீடு Bubblewrap 0.6 கிடைக்கிறது, இது பொதுவாக சலுகையற்ற பயனர்களின் தனிப்பட்ட பயன்பாடுகளை கட்டுப்படுத்த பயன்படுகிறது. நடைமுறையில், Bubblewrap ஆனது Flatpak திட்டத்தால் தொகுப்புகளில் இருந்து தொடங்கப்பட்ட பயன்பாடுகளை தனிமைப்படுத்த ஒரு அடுக்காக பயன்படுத்தப்படுகிறது. திட்டக் குறியீடு C இல் எழுதப்பட்டுள்ளது மற்றும் LGPLv2+ உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

தனிமைப்படுத்துவதற்கு, cgroups, namespaces, Seccomp மற்றும் SELinux ஆகியவற்றின் பயன்பாட்டின் அடிப்படையில் பாரம்பரிய லினக்ஸ் கொள்கலன் மெய்நிகராக்க தொழில்நுட்பங்கள் பயன்படுத்தப்படுகின்றன. ஒரு கொள்கலனை உள்ளமைக்க சலுகை பெற்ற செயல்பாடுகளைச் செய்ய, Bubblewrap ரூட் உரிமைகளுடன் தொடங்கப்பட்டது (ஒரு suid கொடியுடன் இயங்கக்கூடிய கோப்பு) பின்னர் கொள்கலன் துவக்கப்பட்ட பிறகு சிறப்புரிமைகளை மீட்டமைக்கிறது.

நேம்ஸ்பேஸ் அமைப்பில் பயனர் பெயர்வெளிகளை செயல்படுத்துவது, உங்கள் சொந்த தனி அடையாளங்காட்டிகளை கொள்கலன்களில் பயன்படுத்த உங்களை அனுமதிக்கிறது, இது செயல்பாட்டிற்கு தேவையில்லை, ஏனெனில் இது பல விநியோகங்களில் இயல்புநிலையாக செயல்படாது (Bubblewrap ஒரு வரையறுக்கப்பட்ட suid செயல்படுத்தல் என நிலைநிறுத்தப்பட்டுள்ளது. பயனர் பெயர்வெளிகள் திறன்களின் துணைக்குழு - தற்போதையதைத் தவிர, அனைத்து பயனர் மற்றும் செயல்முறை அடையாளங்காட்டிகளையும் சூழலில் இருந்து விலக்க, CLONE_NEWUSER மற்றும் CLONE_NEWPID முறைகள் பயன்படுத்தப்படுகின்றன). கூடுதல் பாதுகாப்பிற்காக, Bubblewrap இன் கீழ் செயல்படுத்தப்படும் நிரல்கள் PR_SET_NO_NEW_PRIVS பயன்முறையில் தொடங்கப்படுகின்றன, இது புதிய சிறப்புரிமைகளைப் பெறுவதைத் தடுக்கிறது, எடுத்துக்காட்டாக, செட்யூட் கொடி இருந்தால்.

ஒரு புதிய மவுண்ட் நேம்ஸ்பேஸை இயல்பாக உருவாக்குவதன் மூலம் கோப்பு முறைமை மட்டத்தில் தனிமைப்படுத்தப்படுகிறது, இதில் ஒரு வெற்று ரூட் பகிர்வு tmpfs ஐப் பயன்படுத்தி உருவாக்கப்படுகிறது. தேவைப்பட்டால், வெளிப்புற FS பகிர்வுகள் இந்த பகிர்வில் “mount —bind” முறையில் இணைக்கப்படும் (எடுத்துக்காட்டாக, “bwrap —ro-bind /usr /usr” விருப்பத்துடன் தொடங்கப்படும் போது, ​​/usr பகிர்வு பிரதான அமைப்பிலிருந்து அனுப்பப்படும். படிக்க மட்டும் பயன்முறையில்). CLONE_NEWNET மற்றும் CLONE_NEWUTS கொடிகள் வழியாக நெட்வொர்க் ஸ்டாக் தனிமைப்படுத்தலுடன் லூப்பேக் இடைமுகத்தை அணுகுவதற்கு நெட்வொர்க் திறன்கள் வரையறுக்கப்பட்டுள்ளன.

செட்யூட் லான்ச் மாடலைப் பயன்படுத்தும் இதேபோன்ற ஃபயர்ஜெயில் திட்டத்தில் இருந்து முக்கிய வேறுபாடு என்னவென்றால், பபுள்வார்ப்பில் கொள்கலன் உருவாக்கும் அடுக்கு தேவையான குறைந்தபட்ச திறன்களை மட்டுமே கொண்டுள்ளது, மேலும் வரைகலை பயன்பாடுகளை இயக்குவதற்கும், டெஸ்க்டாப்புடன் தொடர்புகொள்வதற்கும், கோரிக்கைகளை வடிகட்டுவதற்கும் தேவையான அனைத்து மேம்பட்ட செயல்பாடுகளும் அடங்கும். Pulseaudio க்கு, Flatpak பக்கத்திற்கு மாற்றப்பட்டு, சலுகைகள் மீட்டமைக்கப்பட்ட பிறகு செயல்படுத்தப்படும். ஃபயர்ஜெயில், மறுபுறம், ஒரு இயங்கக்கூடிய கோப்பில் தொடர்புடைய அனைத்து செயல்பாடுகளையும் ஒருங்கிணைக்கிறது, இது தணிக்கை செய்வதையும் சரியான மட்டத்தில் பாதுகாப்பைப் பராமரிப்பதையும் கடினமாக்குகிறது.

புதிய வெளியீட்டில்:

  • மீசன் அசெம்பிளி அமைப்புக்கான ஆதரவு சேர்க்கப்பட்டது. Autotools உடன் உருவாக்குவதற்கான ஆதரவு தற்போது தக்கவைக்கப்பட்டுள்ளது, ஆனால் எதிர்கால வெளியீட்டில் அகற்றப்படும்.
  • ஒன்றுக்கு மேற்பட்ட seccomp நிரல்களைச் சேர்க்க "--add-seccomp" விருப்பம் செயல்படுத்தப்பட்டது. "--seccomp" விருப்பத்தை மீண்டும் குறிப்பிட்டால், கடைசி அளவுரு மட்டுமே பயன்படுத்தப்படும் என்ற எச்சரிக்கை சேர்க்கப்பட்டது.
  • கிட் களஞ்சியத்தில் உள்ள முதன்மை கிளை பிரதானமாக மறுபெயரிடப்பட்டுள்ளது.
  • REUSE விவரக்குறிப்பிற்கான பகுதி ஆதரவு சேர்க்கப்பட்டது, இது உரிமம் மற்றும் பதிப்புரிமை தகவலை குறிப்பிடும் செயல்முறையை ஒருங்கிணைக்கிறது. பல குறியீடு கோப்புகளில் SPDX-License-Identifier தலைப்புகள் சேர்க்கப்பட்டுள்ளன. REUSE வழிகாட்டுதல்களைப் பின்பற்றுவது, பயன்பாட்டுக் குறியீட்டின் எந்தப் பகுதிகளுக்கு எந்த உரிமம் பொருந்தும் என்பதைத் தானாகவே தீர்மானிப்பதை எளிதாக்குகிறது.
  • கட்டளை வரி ஆர்க்யூமெண்ட் கவுண்டரின் (argc) மதிப்பைச் சரிபார்த்து, கவுண்டர் பூஜ்ஜியமாக இருந்தால் அவசரகால வெளியேற்றத்தை செயல்படுத்தியது. போல்கிட்டில் CVE-2021-4034 போன்ற அனுப்பப்பட்ட கட்டளை வரி வாதங்களைத் தவறாகக் கையாளுவதால் ஏற்படும் பாதுகாப்புச் சிக்கல்களைத் தடுக்க இந்த மாற்றம் உதவுகிறது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்