Gall dilysu drwy PAM lwyddo pan fyddwch yn rhedeg y cleient â llaw ac yn methu gyda AUTH_FAILED pan fydd systemd yn cychwyn yr un proffil. Nid yw’r cyfrinair yn newid rhwng y rhediadau hynny; yr hyn sy’n newid yw’r set o gyfyngiadau o amgylch y broses sy’n gofyn y cwestiwn i PAM. Mae PAM yn ateb drwy helpwr y mae ei allu i newid ei hunaniaeth ei hun yn union yr hyn y mae uned galedwedd yn ei dynnu. Dewch o hyd i’r helpwr hwnnw a’r ffin sydd ei hangen arno cyn i chi gyffwrdd â rhestr galluoedd.

unix_chkpwd yw’r deuaidd sy’n ateb cwestiwn PAM

Gyda dilysu cyfrinair lleol, anaml y mae pam_unix yn darllen y ffeil hash ei hun. Mae’n gweithredu unix_chkpwd, y mae dosbarthiadau yn ei osod fel setuid root neu setgid shadow fel y gellir gwirio un cyfrinair ar ran proses nad oes ganddi fusnes darllen /etc/shadow. Tynnwch y gallu i ennill yr hunaniaeth honno ac ni all y helpwr gwblhau’r gwiriad, felly mae’r modiwl yn dychwelyd methiant dilysu plaen.

Yna mae’r methiant yn edrych fel problem gredydu ym mhob cofnod y gall y cleient ei weld. Dyma’r fagl: mae’r cleient yn adrodd yr hyn a ddywedodd PAM wrtho, ac mae PAM yn adrodd dim ond bod y stac wedi dweud na. Nid yw rhedeg y helpwr â llaw fel root yn profi dim chwaith, oherwydd mae’n arfer llwybr braint nad yw’r gwasanaeth byth yn ei ddefnyddio. Darllenwch yr uned a lwythodd systemd mewn gwirionedd, yna darllenwch y cofnod system ar gyfer yr ymgais a wnaeth. Mae’r ddau olwg hyn yn gwahanu problem sandbox oddi wrth broblem cyfrinair anghywir.

Darllenwch yr uned cyn i chi ddarllen y cofnod cyfrineiriau

Gall uned becynnu gynnwys drop-in na wnaethoch ei ysgrifennu, a’r ffurfweddiad effeithiol yw’r canlyniad cyfun. Argraffwch yr uned fel y mae systemd yn ei gweld, ynghyd â’r gosodiadau sandbox sy’n penderfynu a all y helpwr godi ei hun. Mae archwiliad darllen yn unig yn ddigon ar y cam hwn.

systemctl cat [email protected]
systemctl show [email protected] -p User -p Group -p CapabilityBoundingSet -p AmbientCapabilities -p NoNewPrivileges
journalctl -u [email protected] -b

Mae’r gorchymyn cyntaf yn dangos o ble y daw’r uned a’i drop-ins, sy’n bwysig oherwydd bod troshaeniad a ychwanegwyd fisoedd yn ôl yn byw yn hwy na’r cof pam y mae’n bod. Mae’r ail yn argraffu’r gwerthoedd sandbox y mae’r ddwy adran nesaf yn dibynnu arnynt.

Cymharwch yr hyn a welwch â gwesteiwr gweithredol o’r un dosbarthiad a fersiwn. Mae gwahaniaeth yn User, CapabilityBoundingSet neu NoNewPrivileges yn gliw pendant; nid yw gwahaniaeth mewn sylwadau rhyddiaith. Ysgrifennwch y gwerthoedd cyn newid unrhyw beth, oherwydd nid yw cymhariaeth ddiweddarach â tharged symudol yn profi dim. Os yw’r gwasanaeth yn rhedeg fel cyfrif heb fraint gyda set bounding wag, nid oes gan y helpwr fawr ddim i weithio ag ef.

Trawsnewid credydu, mynediad i ffeiliau a pholisi yw tair ffin

Dechreuwch â’r hyn sy’n digwydd yn ystod exec. Mae deuaidd setuid neu ffeil sy’n cario galluoedd ffeil yn sbarduno trawsnewid credydu, felly nid yw’r hunaniaeth sy’n deillio yn barhâd o’r galwr. Mae’r set bounding yn capio’r hyn y gall deuaidd o’r fath ei ennill, ac mae NoNewPrivileges yn blocio enillion setuid, setgid a galluoedd ffeil yn gyfan gwbl. Gall unrhyw un o’r tri hynny atal y helpwr tra’n gadael pob swyddogaeth arall y gwasanaeth yn gyfan.

Nesaf, gwahanwch osgoi disgresiynol eang oddi wrth fynediad darllen cul. Mae CAP_DAC_OVERRIDE yn hepgor gwiriadau disgresiynol bron ym mhob man, tra bod CAP_DAC_READ_SEARCH yn cwmpasu darllen a thramwyo cyfeiriaduron gyda’i bwerau ychwanegol ei hun. Offer gwahanol ydynt â radiws effaith gwahanol, ac nid yw’r naill na’r llall yn sillafu gadael i PAM ddarllen y ffeil shadow.

Yn olaf, gofynnwch a yw’r polisi gorfodol yn caniatáu’r weithred o gwbl. Nid yw gallu Linux yn diystyru SELinux, ac nid yw dal un yn profi dim am reol gorfodi math. Triniwch wrthodiad mynediad i ffeil a gwrthodiad gallu fel tystiolaeth wahanol, oherwydd maent yn enwi gwahanol atgyweiriadau ac yn aml wahanol berchnogion. Darllenwch bob maes o’r cofnod yn hytrach na’r gair denied yn unig. Pa weithredadwy a gymerodd y cam, ym mha barth y rhedodd, pa fath o darged y cyffyrddodd ag ef, pa ddosbarth o wrthrych oedd yn gysylltiedig a pha ganiatâd a wrthododd y polisi – mae pob un yn culhau’r ateb mewn ffordd wahanol.

Tynnwch y gwrthodiad allan o’r cofnod archwilio

Ar westeiwr gorfodi, y trywydd archwilio yw’r unig le sy’n cofnodi gwrthodiad. Holwch y digwyddiadau diweddar a’u darllen yn erbyn stamp amser y mewngofnodi a fethodd, nid yn erbyn yr amser y dechreuwyd ymchwilio.

ausearch -m AVC,USER_AVC -ts recent

Nid yw canlyniad gwag yn dystiolaeth o ddiniweidrwydd. Mae’n golygu naill ai nad yw archwilio yn casglu, neu fod eich ffenestr wedi colli’r ymgais, ac mae angen eithrio’r ddwy bosibilrwydd cyn i chi ddileu’r polisi.

Mae ganllaw datrys problemau SELinux Red Hat yn rhoi gwiriadau label a chyfluniad o flaen cynhyrchu rheolau caniatâd, sef y drefn gywir ar gyfer y broblem hon hefyd. Mae deuaidd helpwr wedi’i labelu’n anghywir a bwlch polisi yn cynhyrchu gwrthodiadau tebyg ond angen atgyweiriadau gwahanol. Mae cynhyrchu rheol ganiatâd ar gyfer camgymeriad labelu yn cuddio’r nam ac yn gadael i’r diweddariad pecyn nesaf ei ailgyflwyno. Cadarnhewch y label ar y helpwr sydd wedi’i osod cyn ysgrifennu unrhyw bolisi.

Profwch y newid gydag un mewngofnodi a dderbyniwyd ac un a wrthodwyd

Newidiwch yn unig y ffin y gwnaethoch ei dangos, yna profwch y ddau ganlyniad. Rhaid i gyfrif a ddylai ddilysu lwyddo, ac mae’n rhaid i gyfrif â chyfrinair anghywir fethu o hyd. Mae newid sy’n gwneud pob ymgais yn llwyddiannus wedi tynnu dilysu yn hytrach na’i atgyweirio.

Gwnewch ymgais cysylltiad go iawn a darllenwch y cyfnodolyn yn syth wedyn. Y llinell sy’n profi’r atgyweiriad yw cofnod pam_unix(openvpn:auth) ar gyfer yr ymgais honno: dylai ddweud dilysu llwyddiannus, ac ni ddylai unrhyw gofnod AVC gario’r un eiliad.

journalctl -u [email protected] -n 30 --no-pager
ss -tnp | grep openvpn

Mae twnnel gweithredol angen ailgysylltu hefyd, oherwydd mae newidiadau sandbox yn torri’r ail gysylltiad yn amlach na’r cyntaf. Gwiriwch y soced a sefydlwyd ar ôl yr ailgysylltu a chadarnhewch fod yr un uned yn dal i’w wasanaethu.

Erthyglau cysylltiedig