PAM-moduuli on tuntematon: mikä prosessi itse asiassa epäonnistui
Viesti nimeää jaetun objektin ja aloituspisteen, ei salasanaa. Etsi prosessi, joka kirjasi sen, ja tarkista sitten lataus, symbolit ja pinon takuut.
Lue tuo lause väitteenä jaetusta objektista ja funktio-osoittimesta, ei salasanasta. Samat sanat voivat tulla OpenVPN liitännäisestä, yhtä palvelua varten ladatusta PAM-pinosta tai RADIUS-daemonin sisältä, ja ne ovat kolme eri tutkintaa. Valitse ensin prosessi.
Alla olevat tarkistukset olettavat, että viesti tuli esiin Linux-PAM-integraation kautta VPN-kirjautumisessa. Jos se tuli RADIUS-palvelimen omasta kokoonpanosta, aloita kyseisen daemonin todisteista.
Nimeä prosessi ennen paketin nimeämistä
Kolmea komponenttia kutsutaan moduuliksi, eikä mikään niistä ole vaihdettavissa. OpenVPN-todennusliitännäisen lataa VPN-daemon, ja se toteuttaa kyseisen daemonin takaisinkutsurajapinnan. PAM-moduuli on jaettu objekti, jonka libpam lataa nimettyä palvelua varten, ja joka toteuttaa aloituspisteitä kuten pam_sm_authenticate. FreeRADIUS-moduuli on osa kyseisen daemonin omaa kokoonpanoa. Samat sanat sisältävä viesti voi tulla mistä tahansa kolmesta, joten ensimmäinen kysymys on, mikä lokirivi sen tuotti.
Korreloi yhden epäonnistuneen yrityksen aikaleima VPN-lokin ja järjestelmän todennuslokin välillä ja lue sitten yhteenvedon edeltävät rivit. Lataajan konkreettinen viesti on yleensä jo siellä.
Lue latausvirhe ja sitten aloituspiste
PAM ilmoittaa tuntemattomasta moduulista, kun se ei voi ladata valittua jaettua objektia tai kun ladattu objekti ei tarjoa toimintoa, jota kyseinen pino-merkintä vaatii. Nämä ovat eri korjauksia: ensimmäinen on polku-, paketointi- tai ABI-ongelma ja toinen on yhteensopimaton aloituspiste. Todennusrivi tarvitsee pam_sm_authenticate kun taas tili-rivi tarvitsee pam_sm_acct_mgmt, ja kirjasto, joka toteuttaa vain toisen niistä, epäonnistuu toisessa, kuten lähettäjän koodi osoittaa. Tiedoston löytäminen levyltä ei todista kumpaakaan.
Samannimisen kirjaston ottaminen toisesta jakelusta tai suorittimen arkkitehtuurista ei ole korjaus, ja se voi jättää prosessin lataamaan moduulia, jota ei koskaan testattu sen libpamia vastaan. Tarkista paketti, joka omistaa aiotun polun, ja tiedoston todellinen arkkitehtuuri ennen kuin muutat mitään.
Säilytä takuut, jotka pino antoi
Nopein tapa vaientaa tämä virhe on myös huonoin: merkitä vaadittu moduuli valinnaiseksi, poistaa tili-vaihe, tai lisätä ehdoton lupa. Jokainen näistä muuttaa epäonnistuneen tarkistuksen puuttuvaksi tarkistukseksi, ja kirjautuminen onnistuu sitten syistä, joita kukaan ei tarkoittanut. Salasanojen palautus ja jaetun salaisuuden muutokset eivät myöskään tarjoa puuttuvaa toimintoa, koska vika tapahtuu ennen kuin mikään tunnistetieto saavuttaa taustajärjestelmän.
Monimoduulinen pino on voinut ajaa toista taustajärjestelmää ennen epäonnistunutta merkintää, joten virhe ei todista, ettei RADIUS-pyyntöä lähetetty.
Tarkista kirjautuminen, älä moduulia
Kun poikkeama on korjattu, testaa todellinen hyväksymispolku. Kelvollisen tilin pitäisi onnistua, virheellisten tunnistetietojen pitäisi edelleen epäonnistua ja kielletyn tilin pitäisi edelleen tulla hylätyksi. Varmista myös, että sertifikaatti- tai lisätekijävaatimus on edelleen voimassa, koska vaiheen ohittava korjattu pino näyttää asiakkaan puolelta onnistumiselta.
Moduulin puhdas latautuminen on edistystä, ei valmis testi.
Kirjaa, mikä palvelun nimi, mitkä käytäntötiedostot ja mitkä aloituspisteet olivat mukana, yhdessä sen ainoan yrityksen kanssa, jota käytit todisteena. Juuri tuo kirjaus tekee seuraavasta tapauksesta haun eikä arkeologista harjoitusta.