PAM-modulen er ukjend: kva prosess som eigentleg svikta
Meldinga nemner eit delt objekt og eit inngangspunkt, ikkje eit passord. Finn prosessen som logga henne, og kontroller deretter innlasting, symbol og garantiane til stakken.
Les denne setninga som ei utsegn om eit delt objekt og ein funksjonspeikar, ikkje om eit passord. Dei same orda kan kome frå ei OpenVPN programvareutviding, frå ein PAM-stakk lasta for éin teneste eller frå innsida av RADIUS-demonen, og det er tre ulike granskingar. Vel prosessen fyrst.
Kontrollane nedanfor føreset at meldinga kom fram via ein Linux-PAM-integrasjon ved ei VPN-innlogging. Om ho kom frå RADIUS-tenarens eigen konfigurasjon, er bevisa frå den demonen staden å byrje.
Namngje prosessen før du namngjev pakken
Tre komponentar vert kalla ein modul, og ingen av dei kan bytast ut. Ei OpenVPN-autentiseringsutviding vert lasta av VPN-demonen og implementerer tilbakekallingsgrensesnittet til den demonen. Ein PAM-modul er eit delt objekt som libpam lastar for ei namngjeven teneste, og som implementerer inngangspunkt som pam_sm_authenticate. Ein FreeRADIUS-modul er ein del av den eigen konfigurasjonen til den demonen. Ei melding med dei same orda kan kome frå alle tre, så det fyrste spørsmålet er kva logglinje som produserte henne.
Korreler tidsstempelet for eitt mislukka forsøk mellom VPN-loggen og autentiseringsloggen til systemet, og les deretter linjene før samandraget. Den konkrete lastarmeldinga står som regel allereie der.
Les innlastingsfeilen, deretter inngangspunktet
PAM rapporterer ein ukjend modul når han ikkje kan laste det valde delte objektet, eller når det lasta objektet ikkje tilbyr funksjonen som den stakkoppføringa krev. Det er ulike reparasjonar: den fyrste er eit problem med sti, pakking eller ABI, og den andre er eit inngangspunkt som ikkje stemmer. Ei auth-linje treng pam_sm_authenticate medan ei kontolinje treng pam_sm_acct_mgmt, og eit bibliotek som berre implementerer éin av dei, feilar på den andre, slik dispatcher-koden viser. Å finne fila på disken beviser ingen av delane.
Å ta eit bibliotek med liknande namn frå ein annan distribusjon eller CPU-arkitektur er ikkje ein reparasjon, og det kan etterlate ein prosess som lastar ein modul som aldri er testa mot sin libpam. Kontroller pakken som eig den tiltenkte stien, og den verkelege arkitekturen til fila, før du endrar noko.
Hald på garantiane som stakken gav
Den snøggaste måten å teia denne feilen på er også den verste: å merke ein påkravd modul som valfri, slette kontofasen, eller setje inn ei uvilkårleg løyve. Kvar av desse gjer ein mislukka kontroll om til ein manglande kontroll, og innlogginga lukkast då av grunnar ingen hadde tenkt. Nullstilling av passord og endringar av delt løyndom gir heller ikkje ein manglande funksjon, fordi feilen skjer før nokon legitimasjonsdata når ein backend.
Ein stakk med fleire modular kan ha køyrt ein annan backend før den feilande oppføringa, så feilen beviser ikkje at ingen RADIUS-førespurnad vart send.
Stadfest innlogginga i staden for modulen
Når avviket er retta, test den faktiske tilgangsvegen. Ein gyldig konto bør lukkast, ugyldige legitimasjonsdata bør framleis feile, og ein forboden konto bør framleis verta avvist. Stadfest også at eit krav om sertifikat eller ekstra faktor framleis vert handheva, fordi ein reparert stakk som hoppar over ein fase ser ut som suksess frå klientsida.
At ein modul lastar reint, er framgang, ikkje ein fullført test.
Noter kva tenestenamn, kva policyfiler og kva inngangspunkt som var involverte, saman med det eine forsøket du brukte som bevis. Den notata gjer neste førekomst til eit oppslag i staden for ei arkeologisk øving.