FreeBSD కోసం, అప్లికేషన్ ఐసోలేషన్ మెకానిజం యొక్క అమలు ప్రతిపాదించబడింది, ఇది OpenBSD ప్రాజెక్ట్ ద్వారా అభివృద్ధి చేయబడిన ప్లెగ్డే మరియు అన్వెయిల్ సిస్టమ్ కాల్లను గుర్తు చేస్తుంది. అప్లికేషన్లో ఉపయోగించని సిస్టమ్ కాల్లకు యాక్సెస్ను నిషేధించడం ద్వారా మరియు అప్లికేషన్ పని చేయగల వ్యక్తిగత ఫైల్ పాత్లకు మాత్రమే యాక్సెస్ని ఎంపిక చేసి తెరవడం ద్వారా plegdeలో ఐసోలేషన్ సాధించబడుతుంది. అప్లికేషన్ కోసం, సిస్టమ్ కాల్లు మరియు ఫైల్ పాత్ల యొక్క ఒక రకమైన వైట్ లిస్ట్ ఏర్పడుతుంది మరియు అన్ని ఇతర కాల్లు మరియు మార్గాలు నిషేధించబడ్డాయి.
FreeBSD కోసం అభివృద్ధి చేయబడుతున్న plegde మరియు అన్వెయిల్ యొక్క అనలాగ్ల మధ్య వ్యత్యాసం అదనపు లేయర్ని అందించడం ద్వారా వాటి కోడ్లో మార్పులు చేయకుండా లేదా తక్కువ మార్పులతో అప్లికేషన్లను వేరుచేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఓపెన్బిఎస్డిలో, ప్లెగ్డే మరియు అన్వెయిల్ అంతర్లీన వాతావరణంతో గట్టి ఏకీకరణను లక్ష్యంగా చేసుకున్నాయని మరియు ప్రతి అప్లికేషన్ యొక్క కోడ్కు ప్రత్యేక ఉల్లేఖనాలను జోడించడం ద్వారా ఉపయోగించబడుతుందని గుర్తుంచుకోండి. రక్షణ సంస్థను సులభతరం చేయడానికి, ఫిల్టర్లు వ్యక్తిగత సిస్టమ్ కాల్ల స్థాయిలో గ్రాన్యులారిటీని నివారించడానికి మరియు సిస్టమ్ కాల్ల తరగతులను (ఇన్పుట్/అవుట్పుట్, రీడింగ్ ఫైల్లు, రైటింగ్ ఫైల్లు, సాకెట్లు, ioctl, sysctl, ప్రాసెస్ లాంచ్ మొదలైనవి) మార్చడానికి మిమ్మల్ని అనుమతిస్తాయి. నిర్దిష్ట చర్యలు నిర్వహించబడుతున్నందున యాక్సెస్ పరిమితి విధులు అప్లికేషన్ కోడ్లో పిలువబడతాయి, ఉదాహరణకు, అవసరమైన ఫైల్లను తెరిచిన తర్వాత మరియు నెట్వర్క్ కనెక్షన్ని స్థాపించిన తర్వాత సాకెట్లు మరియు ఫైల్లకు యాక్సెస్ నిరాకరించబడవచ్చు.
FreeBSD కోసం పోర్ట్ ఆఫ్ ప్లెగ్డే మరియు అన్వెయిల్ రచయిత ఏకపక్ష అనువర్తనాలను వేరుచేసే సామర్థ్యాన్ని అందించాలని భావిస్తారు, దీని కోసం కర్టెన్ యుటిలిటీ ప్రతిపాదించబడింది, ఇది అప్లికేషన్లకు ప్రత్యేక ఫైల్లో నిర్వచించిన నియమాలను వర్తింపజేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ప్రతిపాదిత కాన్ఫిగరేషన్లో సిస్టమ్ కాల్ల తరగతులను మరియు నిర్దిష్ట అప్లికేషన్లకు (సౌండ్, నెట్వర్క్ ఇంటరాక్షన్, లాగింగ్ మొదలైన వాటితో పని చేయడం) నిర్దిష్టమైన సాధారణ ఫైల్ పాత్లను నిర్వచించే ప్రాథమిక సెట్టింగ్లతో కూడిన ఫైల్ అలాగే నిర్దిష్ట అప్లికేషన్ల యాక్సెస్ నియమాలతో కూడిన ఫైల్ ఉంటుంది.
చాలా మార్పులేని యుటిలిటీలు, సర్వర్ ప్రాసెస్లు, గ్రాఫికల్ అప్లికేషన్లు మరియు మొత్తం డెస్క్టాప్ సెషన్లను వేరుచేయడానికి కర్టెన్ యుటిలిటీని ఉపయోగించవచ్చు. జైలు మరియు క్యాప్సికమ్ ఉపవ్యవస్థలు అందించిన ఐసోలేషన్ మెకానిజమ్స్తో కలిపి కర్టెన్ను ఉపయోగించవచ్చు. సమూహ ఐసోలేషన్ను నిర్వహించడం కూడా సాధ్యమే, ప్రారంభించబడిన అప్లికేషన్లు మాతృ అప్లికేషన్ కోసం సెట్ చేసిన నియమాలను వారసత్వంగా పొందుతాయి, వాటిని వ్యక్తిగత పరిమితులతో భర్తీ చేస్తాయి. కొన్ని కెర్నల్ కార్యకలాపాలు (డీబగ్గింగ్ సౌకర్యాలు, POSIX/SysV IPC, PTYలు) అదనంగా ప్రస్తుత లేదా పేరెంట్ ప్రాసెస్ ద్వారా సృష్టించబడని కెర్నల్ ఆబ్జెక్ట్లకు యాక్సెస్ను నిరోధించే ఒక అవరోధ విధానం ద్వారా రక్షించబడతాయి.
ఒక ప్రక్రియ కర్టెన్క్ట్ల్కి కాల్ చేయడం ద్వారా లేదా ఓపెన్బిఎస్డిలో కనిపించే మాదిరిగానే లిబ్కర్టెన్ యొక్క ప్లెగ్డే() మరియు అన్వెయిల్() ఫంక్షన్లను ఉపయోగించడం ద్వారా దాని స్వంత ఐసోలేషన్ను కాన్ఫిగర్ చేయవచ్చు. అప్లికేషన్ రన్ అవుతున్నప్పుడు లాక్లను ట్రాక్ చేయడానికి, sysctl 'security.curtain.log_level' అందించబడుతుంది. X11 మరియు Wayland ప్రోటోకాల్లకు ప్రాప్యత కర్టెన్ను అమలు చేస్తున్నప్పుడు “-X”/”-Y” మరియు “-W” ఎంపికలను పేర్కొనడం ద్వారా విడిగా ప్రారంభించబడుతుంది, అయితే గ్రాఫికల్ అప్లికేషన్లకు మద్దతు ఇంకా తగినంతగా స్థిరీకరించబడలేదు మరియు అనేక పరిష్కరించని సమస్యలను కలిగి ఉంది ( X11ని ఉపయోగిస్తున్నప్పుడు సమస్యలు ప్రధానంగా కనిపిస్తాయి మరియు వేలాండ్ మద్దతు మరింత మెరుగ్గా అమలు చేయబడుతుంది). వినియోగదారులు స్థానిక నిబంధనల ఫైల్లను (~/.curtain.conf) సృష్టించడం ద్వారా అదనపు పరిమితులను జోడించవచ్చు. ఉదాహరణకు, Firfox నుండి ~/డౌన్లోడ్లు/ డైరెక్టరీకి మాత్రమే వ్రాయడాన్ని అనుమతించడానికి, మీరు “~/డౌన్లోడ్లు/ : rw +” నియమంతో “[ఫైర్ఫాక్స్]” విభాగాన్ని జోడించవచ్చు.
అమలులో తప్పనిసరి యాక్సెస్ నియంత్రణ (MAC, తప్పనిసరి యాక్సెస్ నియంత్రణ) కోసం mac_curtain కెర్నల్ మాడ్యూల్, అవసరమైన హ్యాండ్లర్లు మరియు ఫిల్టర్ల అమలుతో FreeBSD కెర్నల్ కోసం ప్యాచ్ల సమితి, అప్లికేషన్లలో ప్లెగ్డ్ మరియు అన్వెయిల్ ఫంక్షన్లను ఉపయోగించడం కోసం libcurtain లైబ్రరీ, కర్టెన్ యుటిలిటీ, ఉదాహరణ కాన్ఫిగరేషన్ ఫైల్లు, వినియోగదారు స్థలంలో కొన్ని ప్రోగ్రామ్ల కోసం సెట్ పరీక్షలు మరియు ప్యాచ్లు (ఉదాహరణకు, తాత్కాలిక ఫైల్లతో పనిని ఏకీకృతం చేయడానికి $TMPDIRని ఉపయోగించడం కోసం). సాధ్యమైన చోట, కెర్నల్ మరియు అప్లికేషన్లకు ప్యాచ్లు అవసరమయ్యే మార్పుల సంఖ్యను తగ్గించాలని రచయిత ఉద్దేశించారు.
మూలం: opennet.ru