Cysylltu RADIUS ag OpenVPN: ategyn neu fachyn sgript?
Mae'r hen ategyn RADIUS wedi'i rwymo i'r adeilediad gweinydd y cafodd ei grynhoi ar ei gyfer. Mae'r fachyn auth-user-pass-verify yn ei disodli, ond mae'n symud yr ymddiriedaeth i'ch sgript.
Mae'r ategyn yn dal i gael ei argymell mewn edafedd sy'n hŷn na'r adeilediadau presennol, ac mae'n methu wrth lwytho ar weinydd a gafodd ei grynhoi ddoe. Nid yw hyn yn gamgymeriad ffurfweddu y gallwch ei drwsio gyda llwybr. Mae'r ategyn a'r fachyn sgript yn datrys yr un broblem ar haenau gwahanol, ac mae symud o'r naill i'r llall yn newid beth sydd angen ei osod, beth sy'n rhedeg gyda breintiau gweinydd, a beth mae mewngofnodi wedi methu yn ei ddweud wrthych mewn gwirionedd.
Y myth: yr ategyn yw'r llwybr a gefnogir
Mae ategyn yn wrthrych a rennir sy'n cael ei lwytho i broses OpenVPN, felly rhaid iddo gyd-fynd â'r rhyngwyneb mae'r broses honno'n ei ddatgelu. Mae adeilediadau'n newid, mae pecynnu'n newid, ac mae llyfrgell a grynhowyd ar gyfer rhyngwyneb hŷn yn gwrthod llwytho'n syml. Ni all unrhyw beth yn ffurfwedd y gweinydd bontio'r bwlch hwnnw, a dyna pam y mae'r cyngor i "osod radiusplugin yn unig" yn gorffen gyda gweinydd na fydd yn cychwyn.
Mae'r fachyn sgript yn sefyll y tu allan i'r broses. OpenVPN yn gweithredu rhaglen, yn rhoi'r cymwysterau iddi, ac yn darllen dyfarniad yn ôl. Y datgysylltu hwnnw sy'n ei alluogi i oroesi uwchraddiadau, ac mae hefyd yn ei wneud yn gyfrifoldeb arnoch mewn ffordd na fu'r ategyn erioed.
Nid yw'r naill ddull na'r llall yn fwy diogel o ran ei adeiladwaith. Mae un yn rhedeg cod estron y tu mewn i'r daemon; mae'r llall yn rhedeg eich cod wrth ei ymyl gyda'r cymwysterau yn eich llaw. Y cwestiwn cywir yw pa un o'r ddau risg hynny y gallwch ei weithredu mewn gwirionedd.
Beth oedd yr ategyn yn ei rwymo at ei gilydd
Roedd gan yr ategyn ei ffeil ffurfweddu ei hun gyda gwesteiwr RADIUS, y gyfrinach a rennir, cyfrif ailgynnig a'r terfyn amser, ac roedd ffurfwedd y gweinydd yn cyfeirio ati ag un llinell. Arhosodd trin cymwysterau y tu mewn i broses y gweinydd, sy'n golygu na chroesodd y cyfrinair ffin broses y bu'n rhaid i'r gweinyddwr ei diogelu.
Y gost oedd cyplysu. Roedd pob uwchraddiad OpenVPN yn peryglu rhyngwyneb anghydnaws, ac roedd pob dosbarthiad a ailadeiladai'r pecyn yn peryglu cynhyrchu llyfrgell nad oedd bellach yn cyd-fynd. Pan fydd hynny'n digwydd, mae'r methiant yn uchel ac yn syth, a dyna unig drugaredd y dyluniad.
Os yw ategyn o'r fath yn dal i lwytho ar eich adeilediad, gall fod y wyneb gweithredu llai. Cadarnhewch y rhyngwyneb y cafodd ei adeiladu ar ei gyfer, cadwch ef wedi'i binio i'r adeilediad a brofwyd gennych, a thriniwch unrhyw uwchraddiad fel newid sy'n gofyn am brawf mewngofnodi llawn yn hytrach nag uwchraddiad pecyn arferol.
Beth mae'r fachyn sgript yn ymddiried ynddo mewn gwirionedd
Mae'r fachyn yn cael ei ffurfweddu gydag auth-user-pass-verify a mecanwaith cyflenwi: newidynnau amgylchedd neu ffeil dros dro. Gyda'r ffurf amgylchedd, mae OpenVPN yn gofyn am script-security 3, y lefel a ddogfennwyd sy'n caniatáu datgelu cyfrinair i sgriptiau. Mae'r lefel honno'n wanhau'r rhagosodiad yn fwriadol, a dylid ei thrin fel caniatâd gyda chyfiawnhad ynghlwm.
Mae popeth y mae'r sgript yn ei gyffwrdd yn etifeddu'r ymddiriedaeth honno. Rhaid iddi fod yn eiddo i root, heb fod yn ysgrifennadwy gan grŵp nac eraill, wedi'i chyfeirio gan lwybr absoliwt, ac yn rhydd o unrhyw le y mae gwerth annibynadwy yn cyrraedd plisgyn. Rhowch bob newidyn mewn dyfynbris, gwrthodwch gymeriadau annisgwyl, ac na chodwch orchymyn o'r enw defnyddiwr a ddarperir byth. Mae sgript sy'n rhedeg fel root ar bob ymgais i fewngofnodi yn werth ei hadolygu unwaith am yn union y pedwar priodwedd hynny.
ls -l /usr/local/sbin/radius-auth.sh
stat -c '%U %a' /usr/local/sbin/radius-auth.sh
Mae'r ffurf cyflenwi ffeil yn osgoi problem etifeddu amgylchedd ac yn rhoi'r cymwysterau i'r sgript trwy ffeil dros dro â chaniatadau cyfyngedig. Os yw eich cleient yn ei chefnogi, dyma'r rhagosodiad gwell fel arfer, er ei bod yn ychwanegu un gwrthrych arall i'w lanhau ar fethiant.
Mae codau gadael yn penderfynu a fyddwch chi'n methu'n agored
Statws gadael y sgript yw'r dyfarniad: sero'n derbyn, dim sero'n gwrthod. Y patrwm sy'n achosi trafferth yw sgript plisgyn sy'n derbyn yn unig pan fydd ateb RADIUS yn cynnwys tocyn derbyn penodol ac yn dychwelyd methiant am bopeth arall, oherwydd mae hynny'n cydgrynhoi tri digwyddiad gwahanol yn un ateb. Mae cyfrinair anghywir, gweinydd na ellir ei gyrraedd ac ateb wedi'i lygru i gyd yn dod yr un gwrthodiad.
Gwahanwch yr achosion hynny yn y sgript hyd yn oed os na all y fachyn ddychwelyd ond derbyn neu wrthod. Cofnodwch ganlyniad y cefndir ar wahân, rhybuddio am derfynau amser a gwallau cludiant, a gwnewch yn amlwg yn y monitro pan fydd dilysu'n methu oherwydd bod y gwasanaeth i lawr yn hytrach nag oherwydd bod defnyddwyr yn camdeipio.
Mae dau arferiad yn cadw'r gweddill yn gall. Os RADIUS yw'r awdurdod, dylai fod yr unig le y caiff cyfrinair ei wirio, oherwydd mae tabl cysgodol yn creu dau ateb i'r un cwestiwn ac mae'r ail yn wyneb ymosod nad oes neb yn ei wylio. A chofiwch fod y fachyn yn cael ei alw eto ar bob ailgynnig, felly daw sgript araf gyda chleient anamyneddgar yn chwyddseinydd ar gyfer dyfalu cyfrineiriau oni bai eich bod yn ychwanegu oedi neu bolisi ar ochr RADIUS.
Beth rydych chi'n ei ildio pan fydd y dystysgrif yn diflannu
Mae llawer o ddefnyddiadau o'r siâp hwn yn diffodd gwirio tystysgrif cleient yn gyfan gwbl, gan adael enw defnyddiwr a chyfrinair fel holl hawl y cleient. Yr hyn sy'n diflannu gyda'r gosodiad hwnnw yw hunaniaeth yn seiliedig ar dystysgrif. Mae'r sianel yn parhau'n amgryptiedig, ond yr unig beth sy'n enwi'r cleient yw dyfarniad RADIUS. Mae unrhyw beth i lawr yr afon a oedd yn arfer dibynnu ar destun tystysgrif nawr yn gorfod dibynnu ar yr enw defnyddiwr yn lle hynny.
Cadwch amddiffyniad sianel reoli yn ei le fel na all cymheirydd heb ei ddilysu archwilio na llifo'r cydlawennu, a defnyddiwch username-as-common-name pan fydd ffurfwedd fesul defnyddiwr yn dibynnu ar yr enw cyffredin. Mae pyrth a reolir yn aml yn datrys hyn yn wahanol, gan derfynu dilysu tystysgrifau wrth borth sy'n siarad EAP-TLS â RADIUS, ac yn yr achos hwnnw nid yw'r un o'r cyfarwyddebau gweinydd hyn yn berthnasol. Copïwch y model y mae eich platfform eich hun yn ei ddogfennu, nid yr un o gynnyrch cyfagos. Mae'r cyfarwyddebau sy'n bwysig yn ddigon gwahanol fel bod eu cymysgu'n cynhyrchu ffurfwedd sy'n dosrannu ac yna'n dilysu neb.