Cé na cumais Linux atá ag teastáil ó do phróiseas VPN?
Is pribhléidí ar leith iad socrú an chomhéadain, na róid, rochtain ar ghléasanna agus na soicéid choitianta. Ainmnigh an oibríocht a theip sula dtugann tú CAP_NET_ADMIN.
Teastaíonn oibríochtaí líonra pribhléideacha ó dheamhan VPN cé go n-osclaíonn gnáthfheidhmchláir soicéid amach gan aon phribhléid ar bith. Is sa bhearna sin a thosaíonn formhór na n-earráidí cumais: feiceann duine earráid cheada, tugann sé an tsraith iomlán, agus oibríonn an tseirbhís ar chúiseanna nach féidir le haon duine a mhíniú níos déanaí. Tosaíonn an treoir thíos ón oibríocht a theip, nascann sí le húdarás amháin í, agus ansin seiceálann sí an comhthéacs ina ritheann an próiseas i ndáiríre. Is freagra bailí é rith mar root gan srian do roinnt imlonnaithe, ach ba cheart gur cinneadh é seachas réamhshocrú.
Tosaigh ón oibríocht a theip
Léigh an earráid sula léann tú teagasc. Is trí fhadhb éagsúla iad «oibríocht nach bhfuil ceadaithe» ar athrú comhéadain, diúltú nód gléis a oscailt agus teip bind ar phort íseal, agus trí údarú éagsúla ag gabháil leo. Má thosaíonn an próiseas agus mura dteipeann sé ach ag an gcéad athrú róid, insíonn sé sin duit freisin gur éirigh le cruthú an chomhéadain cheana, rud a chúngaíonn an freagra go mór.
Atáirg an teip agus an tseirbhís stoptha, ansin tosaigh í sa tulra faoin úsáideoir céanna má cheadaíonn an cur i bhfeidhm é. Is fearr earráid a fheiceann tú ná líne loga a chaithfidh tú a thomhas, agus déanann sí soiléir an difríocht idir fadhb cumais agus diúltú ó SELinux nó AppArmor.
Nasc gach oibríocht le húdarás amháin
Is léarscáil tosaigh í an tábla, ní ionadaí do dhoiciméadú an chur i bhfeidhm:
| Operation | Usual authority | Watch for |
|---|---|---|
| Create or configure tun/tap | CAP_NET_ADMIN in the relevant namespace | Creating the device and opening it are separate steps |
| Add routes, rules, firewall entries | CAP_NET_ADMIN | Same capability, different namespace than you think |
| Open /dev/net/tun | Device permissions, not a capability | Group membership or a udev rule may be enough |
| Raw sockets | CAP_NET_RAW | Needed by some user-space tunnel implementations |
| Bind a port below 1024 | CAP_NET_BIND_SERVICE | Irrelevant for most modern tunnel ports |
Is iad an dá shraith sa tábla sin na cinn a chuireann daoine trí chéile. Is ceist cead comhaid é /dev/net/tun a oscailt; is ceist cumais é iarraidh ar an eithne an rud a d'oscail tú a chumrú. Ní dheisíonn CAP_NET_ADMIN a thabhairt nód gléis nach féidir le d'úsáideoir seirbhíse a léamh, agus ní thugann deisiú an nóid údarás róid duit. Seiceáil an dá rud sula n-athraíonn tú ceachtar acu.
Níl na ceanglais chéanna ag WireGuard eithne agus ag cláir tholláin spáis úsáideora ach an oiread. Cumraíonn conair an mhodúil eithne comhéadan atá ann cheana trí netlink, agus d'fhéadfadh cur i bhfeidhm spáis úsáideora an gléas a bheith ag teastáil uaidh freisin, agus soicéid amha dála do roinnt iompair.
Léigh an comhthéacs: seirbhís, coimeádán nó blaosc
Is féidir le cumas i spás ainmneacha líonra an óstaigh difear i bhfad níos mó a dhéanamh ná an oibríocht chéanna laistigh de chruach atá aonraithe go toiliúil. Tosaíonn timpeallacht rite coimeádán le sraith teorann laghdaithe de ghnáth; is údarú i bhfad níos mó é NET_ADMIN a chur le coimeádán a roinneann líonra an óstaigh ná é a chur le ceann a bhfuil a spás ainmneacha líonra féin aige agus gan aon mhuraslaoidí óstaigh.
I gcás aonad systemd, léigh an rud a chuirtear i bhfeidhm i ndáiríre seach an rud a deir comhad an aonaid, is cosúil: tuairiscíonn systemctl show -p CapabilityBoundingSet -p AmbientCapabilities na luachanna éifeachtacha, a d'fhéadfadh drop-in a rinne tú dearmad air a shocrú. Iarr an luach éifeachtach, riamh an ceann beartaithe. Tá tábhacht le cumais ambient mar cailleann seirbhís nach root í cumais thar exec gan iad.
Tóg socrú tacaithe an phacáiste nó na híomhá mar bhunlíne. Ná cuir ceadanna soicéad amh ná mód pribhléideach leis mar gheall gur liostaigh teagasc eile iad d'uirlis eile; ní aistríonn an réasúnaíocht sin aon rud agus cosnaíonn sí an t-aonrú a d'íoc tú as. Nuair a bhíonn amhras ort, ná tabhair aon rud agus léigh nótaí an chur i bhfeidhm don oibríocht bheacht a theastaíonn uait.
Féach cad a tharlaíonn tar éis pribhléidí titim
Tosaíonn go leor deamhan go pribhléideach, cumraíonn siad an comhéadan, ansin téann siad chuig úsáideoir gan phribhléid agus coinníonn siad an tollán. Ón bpointe sin ní féidir leis an bpróiseas ród a chur leis, riail balla dóiteáin a athscríobh ná gléas pribhléideach nua a oscailt, rud atá ceart go dtí go dteastaíonn go beacht sin ó athnascadh. D'fhéadfadh léamh comhad agus forghníomhú crúcaí níos déanaí teip ar an gcúis chéanna.
Tástáil an timthriall beatha iomlán seach an chéad soicind: tosú, athnuachan nó athnascadh, agus glanadh ag stopadh. Ní chruthaíonn céad chruthú comhéadain rathúil go n-oibreoidh gach oibríocht phribhléideach ina dhiaidh sin fós, agus is gnách go dtagann an teip chun solais uaireanta an chloig níos déanaí i dtáirgeadh.
Is gnách le cur i bhfeidhm a choinníonn an tollán oscailte thar aistriú úsáideora é sin a phéireáil le roghanna chun an tollán agus na heochracha a choinneáil. Ar thaobh systemd, is í an cheist choibhéiseach an bhfaigheann sraith cumas an aonaid an aistriú úsáideora a chumraigh tú.
Taifead an t-údarú agus a chúis
Scríobh síos an t-údarú beacht, an oibríocht a chumasaíonn sé agus an earráid a dheisigh sé. Is leor líne amháin sna nótaí imlonnaithe — «CAP_NET_ADMIN i spás ainmneacha líonra an aonaid, ag teastáil le haghaidh athruithe róid tar éis athnascadh» — chun an chéad duine eile a stopadh ón údarú a leathnú arís.
Ansin léigh an tsraith éifeachtach arís tar éis gach uasghrádaithe. Cuireann díoltóirí gnéithe leis, athraíonn íomhánna réamhshocruithe, agus féadfaidh cumas nach raibh riachtanach anuraidh éirí iompartha gan aon duine a thabhairt faoi deara.