NET_ADMIN a cikin kwandon VPN: abin da zai iya canzawa da kuma inda
Ƙarfin yana ba da izinin canje-canjen muƙamai, hanyoyi da katangar wuta a cikin sararin sunan cibiyar sadarwa ɗaya. Tare da cibiyar sadarwar mai karɓar baƙi, wannan sarari shine tarin mai karɓar baƙi da kansa.
NET_ADMIN shine ƙarfin Linux wanda ke ba da damar tsari ya gudanar da aikin cibiyar sadarwa, kuma a cikin kwando yana yin daidai hakan a cikin sararin sunan cibiyar sadarwa da tsarin ke gudana. Ba lasisi ba ne don buɗe soket ba, kuma ba maye gurbin na'ura ko hanya ba ne. Tambaya mai ban sha'awa ba ita ce ko an ba da ƙarfin ba, amma wane sarari suna ne zai karɓi canjin.
Abin da ƙarfin ya ƙunsa
A cikin sararin sunansa, tsari mai NET_ADMIN na iya ɗaga da saukar da muƙamai, ba da adireshi, ƙara da cire hanyoyi, da rubuta dokokin katangar wuta, wanda shine rukunin ayyukan da capabilities(7) ke tattarawa ƙarƙashin wannan ƙarfin. Yana kuma iya daidaita saitunan matakin muƙami waɗanda ke sarrafa yadda kernel ke jera da tace zirga-zirga. Abokin ciniki na VPN yawanci yana buƙatar wasu kaɗan daga cikinsu a lokacin farawa kuma babu wani abu bayan haka. Don haka yawancin hotuna suna neman fiye da abin da suke amfani da shi.
Ayyukan da ke wajen wannan sararin suna ba a rufe su ba, kuma gatan da ke kusa daban suke. Karatu da rubuta fakiti ɗanye na NET_RAW ne, kuma ƙirƙirar na'urar tun tana buƙatar duka ƙarfin da damar shiga kumburin na'urar. Tsarin da ba shi da na'urar yana samun kuskuren izini wanda ke kama da matsalar cibiyar sadarwa kuma ba ita ba ce.
Sararin suna ne ke ƙayyade girman ɓarna
Kwando a kan cibiyar sadarwar gada tasa yana isa ga loopback ɗinsa, muƙamansa da teburin hanya nasa. Ba da NET_ADMIN a can yana ba abokin ciniki na VPN damar gina rami ba tare da taɓa shawarwarin hanya na mai karɓar baƙi ba, wanda shine tsarin da yawancin hotunan kwando suke ɗauka.
Canza wancan kwandon zuwa cibiyar sadarwar mai karɓar baƙi kuma irin wannan izini yanzu yana gyara hanyoyin mai karɓar baƙi da katangar wutarsa, domin babu wani sarari suna daban da ya rage. Abokin cinikin da ya kamata ya sarrafa rami ɗaya zai iya juya zirga-zirgar dukan injin, kuma kuskure a cikin rubutun da zai wargaje shi yana barin mai karɓar baƙi da dokokin da babu wanda ya rubuta. Babu abin da ya canza a cikin ƙarfin kansa; yanayin ya canza. Shi ya sa wannan fayil ɗin compose ɗin ke yin daban a kan masu karɓar baƙi biyu.
Sharuddan farko guda uku da ake haɗawa cikin ɗaya
Gazawar farawa a cikin kwandon VPN yawanci tana shafar ɗaya daga cikin abubuwa uku daban: ƙarfin, na'urar rami, da goyon bayan kernel ga ka'idar. Ba da duk ukun tare yana aiki, kuma yana sa gazawar ta gaba ba za a iya danganta ta ba. Ƙaramin guntun compose yana ba da ƙarfin kuma yana ba da kumburin na'urar a fili:
services:
vpn:
image: example/vpn-client:latest
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
sysctls:
- net.ipv4.conf.all.src_valid_mark=1Karanta takardun hoton kansa don sanin waɗanne sysctl yake buƙata, domin sysctl a cikin kwando na iya buƙatar ƙarin gata ko saitin matakin mai karɓar baƙi. Inda hoton ke goyon bayan yanayin sararin mai amfani kawai, ba a buƙatar na'ura kwata-kwata kuma jerin ƙarfin yana raguwa daidai da haka.
Ba da ƙaramin aiki, ba yanayin ba
Yanayin gata yana miƙa kowane ƙarfi kuma yana faɗaɗa damar na'ura a lokaci guda, don haka yana ɓoye wanne daga cikin sharuddan farko uku ya ɓace. Yana kuma sa hanyoyin gazawar kwandon ba za a iya bambanta su da canje-canjen mai karɓar baƙi ba. Ka fifita jerin bayyananne ko da ya fi tsayi rubutu.
Turawar da ba ta da tushe da kuma sararin sunan mai amfani suna canza ma'anar ƙarfi a aikace, domin tsarin na iya riƙe shi a cikin sararin suna da aka tsara kawai. Kwafin jerin ƙarfi daga misalin mai tushe zuwa yanayin gudanarwa mara tushe da kuma tsammanin isa iri ɗaya hanya ce ta yau da kullum ta rasa la'asar.
Sirrin ya shafi shawara daban. Riƙe NET_ADMIN ba ya faɗin kome game da wace asalin abokin tarayya abokin ciniki ke gabatarwa, waɗanne takaddun shaida yake lodawa, ko yadda ake juya su. Gudanar da cibiyar sadarwa ba ya samar da amana.
Tabbatar da canjin kuma rubuta dalilin da ya sa izinin yake
Tabbatar da abin da kwandon ya samu a zahiri kafin ka gyara ramin. Binciken da ke ƙasa yana ba da rahoton ƙarfin da aka ƙara da yanayin cibiyar sadarwa, sannan yana nuna yadda jerin muƙamai ke kama daga ciki:
docker inspect --format '{{.HostConfig.CapAdd}} {{.HostConfig.NetworkMode}} {{.HostConfig.Privileged}}' vpn
docker exec vpn sh -c 'grep CapEff /proc/self/status'
docker exec vpn ip -br addr
docker exec vpn ip routeIdan ƙarfin yana nan kuma jerin muƙamai har yanzu fanko ne, abokin ciniki ya kasa kafin ya iya ƙirƙirar wani abu, kuma bayanan kwandon shine wuri na gaba da za a duba. Idan ramin yana nan amma zirga-zirga ba ya gudana, teburin hanya a cikin kwandon yana amsa tambaya ta gaba.
Gwada hanyar wargajewa kuma, domin abokin ciniki mai rubuta dokokin katangar wuta na iya barin su a baya. Dakatar da kwandon kuma sake duba jerin dokokin mai karɓar baƙi idan ana amfani da cibiyar sadarwar mai karɓar baƙi. Izinin da ake buƙata na daƙiƙa biyu kawai a lokacin farawa bai kamata a kwatanta shi a cikin fayil ɗin compose a matsayin buƙatu ta dindindin ba tare da bayanin da ke bayyana hakan ba.
Rubuta dalilin kusa da kowane ƙarfi: wane aiki ya buƙace shi kuma me ke kasa ba tare da shi ba. Wancan bayanin yana wucewa bayan sabunta hotuna, kuma shine bambanci tsakanin jerin gata da aka duba da wanda ya girma ta kwafi da liƙawa.