Tvær uppskriftir að lágmarksréttindum límdar saman gefa ekki strangari uppsetningu. Eitt líkanið lætur þjóninn ræsa með réttindi og falla niður í notandareikning án réttinda eftir frumstillingu; hitt lætur þjónustustjórann ræsa hann undir takmörkuðu auðkenni frá fyrstu skipun. Hvort um sig virkar eitt og sér, og samsetningin gefur oft þjónustu sem getur hvorugt verkið gert almennilega. Afgangurinn fer í gegnum ákvörðunina í röð.

Tvö líkön, einn eigandi skiptanna

Fyrra líkanið tilheyrir þjóninum. Samfélagsútgáfan af OpenVPN hefur valkostina user og group, sem skipta um auðkenni eftir að göngin og lyklarnir eru uppsettir, og persist-key ásamt persist-tun halda þessum auðlindum nothæfum eftir það.

Seinna líkanið tilheyrir þjónustustjóranum. systemd-stilling User= eða Group= ræður því auðkenni sem ferlið ræsir undir, og getuskilyrði ráða því hvað það má halda. Valið milli líkananna er pökkunarmál áður en það er öryggismál, og pökkunarhaldarinn hefur þegar svarað því. Þitt verk er að finna það svar frekar en að finna upp þriðja valkostinn.

Bæði eru lögmæt. Mistökið er að meðhöndla þau sem lög af einni hönnun, því seinna líkanið getur gert auðkennisskipti hins fyrra að aðgerð sem ferlinu er ekki lengur heimil.

Ákveddu hvar auðkennið breytist

Ef einingin ræsir þegar sem sérstakur reikningur krefst þjónsskipunar um að verða annar reikningur setuid-yfirfærslu sem hert þjónusta átti aldrei að gera. Bilunin birtist sem heimildarvilla við ræsingu frekar en skýr stefnumiðaboð. Þetta les eins og vantað getu, sem ýtir fólki að víðara mörkum frekar en að auðkennisspurningunni.

Lestu hvað uppsetta pakkann fylgir í raun og veru áður en þú breytir einhverju, þar á meðal drop-in möppuna hans. Sumar einingar sleppa vísvitandi falli þjónsins sjálfs vegna þess að stjórinn sér þegar um það, og sumar treysta á þessa valkosti fyrir skiptin eftir frumstillingu. Að fjarlægja annað hvort án þess að vita hvaða líkan þú erfðir er leiðin sem virk þjónusta hættir að ræsa.

Skrifaðu valda líkanið á eina línu: í eigu stjórans eða í eigu þjónsins. Sérhver síðari skilyrði verður að vera í samræmi við þá setningu, og blandaða einingu ætti að meðhöndla sem galla frekar en málamiðlun.

Getur eru mörk, ekki gjafir

Mörk getusetts segja hvað ferli má halda að hámarki. Það er þak, og að telja getu þar gefur ekkert eitt og sér, þess vegna getur eining með ríflegu mörkum samt mistekist að búa til göng.

Það sem raunverulega setur getu í umhverfissett þjónustu er AmbientCapabilities=. systemd-framkvæmdarviðmið skjalfestir skilyrðin tvö sér, og sá munur útskýrir mestu af ruglingslegu geturáðgjöfinni á netinu.

Bættu getu aðeins við eftir að aðgerðin sem mistekst hefur greint hana. Víðara mörk felur raunverulega orsök og skilur þjónustuna eftir með meiri réttindi en hönnunin ætlaði. Það gerir eininguna líka erfiðari í yfirferð, því þakið lýsir ekki lengur verkinu. Fjarlægðu aukagetuna þegar raunverulegi gallinn er lagaður.

Kortleggðu heimildina yfir lífsferilinn

Skráðu hvað ferlið verður að gera á hverju stigi: ræsing, stöðugt ástand, endurvottun og niðurrif. Búið til viðmóts, leiðarbreytingar, lestur varins lykils og kall á hjálpara gerast ekki öll á sama augnabliki né við sömu kröfur. Raðaðu listanum eftir stigi áður en þú raðar honum eftir getu.

Varanleikavalkostir varðveita auðlindir yfir endursamninga og veita ekki heimildir sem aldrei voru hafðar. Lykill sem ferlið getur ekki lesið við ræsingu verður áfram ólæsilegur síðar, hvað sem varanleikafánarnir segja. Fánarnir varðveita það sem þegar virkaði.

Notaðu sérstakan reikning frekar en sameiginlegan. Þróunaraðilar OpenVPN vara við venjunni að nota nobody sem almennt dæmi, því aðrar þjónustur á vélinni gætu þegar keyrt undir þeim reikningi og einangrunin sem þú heldur að þú hafir er ekki þar.

Eiginleikar sem breyta staðbundnu álagi, svo sem afferming gagnarásar eða bygging sem tengist öðruvísi, geta fært til hvaða aðgerðir eru nauðsynlegar. Farðu yfir kortið þegar pakkinn breytist, ekki bara þegar eitthvað bilar.

Skrifaðu áætlunina niður og haltu endurheimtaraðgangi

Uppsetningarskrá ætti að nefna stjórann, ræsingarauðkennið, fyrirhugað stöðuga auðkenni og hverja veitingu ásamt aðgerðinni sem krefst hennar. Það er þessi skrá sem gerir næstu breytingu yfirfaranlega í stað tilraunakenndrar.

Haltu stjórborðsaðgangi opnum á meðan þú breytir, því eining sem bilar við ræsingu er erfið að laga úr fjarlægð. Prófaðu endurræsingu og fulla endurræsingu áður en þú lýsir breytingunni lokið. Eining sem lifir endurræsingu getur samt bilað áður en netið er komið upp.

Árangur er skilinn lífsferill með lágmarksheimildum, ekki ferli sem hendir sig að keyra undir nafni sem er ekki root.

Tengdir greinar