బబుల్‌వ్రాప్ 0.8 విడుదల, వివిక్త వాతావరణాలను సృష్టించడానికి ఒక పొర

ఐసోలేటెడ్ ఎన్విరాన్‌మెంట్‌ల పనిని నిర్వహించడం కోసం టూల్స్ విడుదల బబుల్‌వ్రాప్ 0.8 అందుబాటులో ఉంది, సాధారణంగా అప్‌రివిలేజ్డ్ యూజర్ల వ్యక్తిగత అప్లికేషన్‌లను పరిమితం చేయడానికి ఉపయోగిస్తారు. ఆచరణలో, ప్యాకేజీల నుండి ప్రారంభించబడిన అప్లికేషన్‌లను వేరుచేయడానికి ఫ్లాట్‌పాక్ ప్రాజెక్ట్ ద్వారా Bubblewrap ఉపయోగించబడుతుంది. ప్రాజెక్ట్ కోడ్ Cలో వ్రాయబడింది మరియు LGPLv2+ లైసెన్స్ క్రింద పంపిణీ చేయబడుతుంది.

ఐసోలేషన్ కోసం, cgroups, namespaces, Seccomp మరియు SELinux వినియోగం ఆధారంగా సాంప్రదాయ Linux కంటైనర్ వర్చువలైజేషన్ సాంకేతికతలు ఉపయోగించబడతాయి. కంటైనర్‌ను కాన్ఫిగర్ చేయడానికి ప్రత్యేక కార్యకలాపాలను నిర్వహించడానికి, బబుల్‌వ్రాప్ రూట్ హక్కులతో (సూయిడ్ ఫ్లాగ్‌తో ఎక్జిక్యూటబుల్ ఫైల్) ప్రారంభించబడుతుంది మరియు కంటైనర్ ప్రారంభించబడిన తర్వాత ప్రత్యేక అధికారాలను రీసెట్ చేస్తుంది.

నేమ్‌స్పేస్ సిస్టమ్‌లో యూజర్ నేమ్‌స్పేస్‌ల యాక్టివేషన్, ఇది కంటైనర్‌లలో మీ స్వంత ప్రత్యేక ఐడెంటిఫైయర్‌లను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది, ఆపరేషన్ కోసం ఇది అవసరం లేదు, ఎందుకంటే ఇది చాలా డిస్ట్రిబ్యూషన్‌లలో డిఫాల్ట్‌గా పని చేయదు (బబుల్‌వ్రాప్ అనేది ఒక పరిమిత సూయిడ్ ఇంప్లిమెంటేషన్‌గా ఉంచబడింది. వినియోగదారు నేమ్‌స్పేస్ సామర్థ్యాల ఉపసమితి - పర్యావరణం నుండి అన్ని వినియోగదారు మరియు ప్రాసెస్ ఐడెంటిఫైయర్‌లను మినహాయించడానికి, ప్రస్తుతది మినహా, 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కి, ఫ్లాట్‌పాక్ వైపుకు బదిలీ చేయబడుతుంది మరియు ప్రత్యేకాధికారాలు రీసెట్ చేయబడిన తర్వాత అమలు చేయబడుతుంది. ఫైర్‌జైల్, మరోవైపు, ఒక ఎక్జిక్యూటబుల్ ఫైల్‌లో అన్ని సంబంధిత ఫంక్షన్‌లను మిళితం చేస్తుంది, ఇది సరైన స్థాయిలో భద్రతను తనిఖీ చేయడం మరియు నిర్వహించడం కష్టతరం చేస్తుంది.

కొత్త విడుదలలో:

  • శాండ్‌బాక్స్ వాతావరణంలో దాని స్వంత సమూహ వినియోగదారు నేమ్‌స్పేస్ సృష్టిని నిలిపివేయడానికి “--డిసేబుల్-యూజర్స్” ఎంపిక జోడించబడింది.
  • "--disable-userns" ఎంపికను ఉపయోగిస్తున్నప్పుడు ఇప్పటికే ఉన్న వినియోగదారు ID స్థలం ఉపయోగించబడిందో లేదో తనిఖీ చేయడానికి "--assert-userns-disabled" ఎంపిక జోడించబడింది.
  • కెర్నల్‌లో CONFIG_SECCOMP మరియు CONFIG_SECCOMP_FILTER సెట్టింగ్‌లను నిలిపివేయడానికి సంబంధించిన దోష సందేశాల సమాచార కంటెంట్ పెంచబడింది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి