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

தனிமைப்படுத்தப்பட்ட சூழல்களின் வேலையை ஒழுங்கமைப்பதற்கான கருவிகளின் வெளியீடு Bubblewrap 0.8 கிடைக்கிறது, இது பொதுவாக சலுகையற்ற பயனர்களின் தனிப்பட்ட பயன்பாடுகளை கட்டுப்படுத்த பயன்படுகிறது. நடைமுறையில், 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 பக்கத்திற்கு மாற்றப்பட்டு, சலுகைகள் மீட்டமைக்கப்பட்ட பிறகு செயல்படுத்தப்படும். ஃபயர்ஜெயில், மறுபுறம், ஒரு இயங்கக்கூடிய கோப்பில் தொடர்புடைய அனைத்து செயல்பாடுகளையும் ஒருங்கிணைக்கிறது, இது தணிக்கை செய்வதையும் சரியான மட்டத்தில் பாதுகாப்பைப் பராமரிப்பதையும் கடினமாக்குகிறது.

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

  • Добавлена опция «—disable-userns» отключающая создание в sandbox-окружении своего вложенного пространства идентификаторов пользователей (user namespace).
  • Добавлена опция «—assert-userns-disabled» для проверки, что при использовании опции » —disable-userns» задействовано существующее пространство идентификаторов пользователей.
  • Повышена информативность сообщений об ошибках, связанных с отключением в ядре настроек CONFIG_SECCOMP и CONFIG_SECCOMP_FILTER.

ஆதாரம்: opennet.ru

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