Čítajte túto frázu ako tvrdenie o zdieľanom objekte a ukazovateli na funkciu, nie o hesle. Tie isté slová môžu pochádzať z OpenVPN pluginu, zo zásobníka PAM načítaného pre jednu službu alebo zvnútra démona RADIUS, a to sú tri rôzne vyšetrovania. Najprv určte proces.

Nasledujúce kontroly predpokladajú, že správa vznikla cez integráciu Linux-PAM pri prihlásení VPN. Ak prišla z vlastnej konfigurácie servera RADIUS, začnite dôkazmi tohto démona.

Pomenujte proces skôr, než pomenujete balík

Tri komponenty sa nazývajú modul a žiadny nie je zameniteľný. Plugin na overovanie OpenVPN načítava démon VPN a implementuje rozhranie spätného volania tohto démona. Modul PAM je zdieľaný objekt, ktorý libpam načíta pre pomenovanú službu, a ktorý implementuje vstupné body ako pam_sm_authenticate. Modul FreeRADIUS je časťou vlastnej konfigurácie tohto démona. Správa s rovnakými slovami môže prísť z ktoréhokoľvek z troch, preto je prvou otázkou, ktorý riadok záznamu ju vytvoril.

Spojte časovú pečiatku jedného neúspešného pokusu medzi záznamom VPN a systémovým záznamom overovania, potom si prečítajte riadky pred zhrnutím. Konkrétna správa načítavača tam zvyčajne už je.

Prečítajte chybu načítania, potom vstupný bod

PAM hlási neznámy modul, keď nemôže načítať vybraný zdieľaný objekt, alebo keď načítaný objekt neposkytuje funkciu, ktorú tento záznam zásobníka vyžaduje. Sú to rôzne opravy: prvá je problém cesty, balenia alebo ABI a druhá je nezhoda vstupného bodu. Riadok auth potrebuje pam_sm_authenticate zatiaľ čo riadok účtu potrebuje pam_sm_acct_mgmt, a knižnica, ktorá implementuje len jeden z nich, zlyhá na druhom, ako kód dispečera ukazuje. Nájdenie súboru na disku nedokazuje ani jedno.

Vziať knižnicu s podobným názvom z inej distribúcie alebo architektúry procesora nie je oprava a môže nechať proces načítavať modul, ktorý nikdy nebol testovaný proti jeho libpam. Pred akoukoľvek zmenou skontrolujte balík, ktorý vlastní zamýšľanú cestu, a skutočnú architektúru súboru.

Zachovajte záruky, ktoré zásobník poskytoval

Najrýchlejší spôsob, ako túto chybu utíšiť, je aj najhorší: označiť povinný modul za voliteľný, odstrániť fázu účtu, alebo vložiť bezpodmienečné povolenie. Každé z toho mení neúspešnú kontrolu na chýbajúcu kontrolu a prihlásenie potom uspeje z dôvodov, ktoré nikto nezamýšľal. Resetovanie hesiel a zmeny zdieľaného tajomstva tiež nedodajú chýbajúcu funkciu, pretože zlyhanie nastane skôr, než sa akékoľvek prihlasovacie údaje dostanú do backendu.

Zásobník s viacerými modulmi mohol pred zlyhávajúcim záznamom spustiť iný backend, takže chyba nedokazuje, že nebola odoslaná žiadna žiadosť RADIUS.

Overte prihlásenie, nie modul

Po oprave nezhody otestujte skutočnú cestu vstupu. Platný účet by mal prejsť, neplatné prihlasovacie údaje by mali stále zlyhať a zakázaný účet by mal byť stále odmietnutý. Overte tiež, že požiadavka na certifikát alebo dodatočný faktor sa stále vynucuje, pretože opravený zásobník, ktorý preskakuje fázu, vyzerá z pohľadu klienta ako úspech.

Čisté načítanie modulu je pokrok, nie dokončený test.

Zapíšte, ktoré meno služby, ktoré súbory politiky a ktoré vstupné body boli zapojené, spolu s jediným pokusom, ktorý ste použili ako dôkaz. Práve tento záznam robí z ďalšieho výskytu hľadanie a nie archeologické cvičenie.

Súvisiace články