Toisen todennuspalvelun lisääminen VPN-porttiin tuntuu toisen tekijän lisäämiseltä. Yleensä se lisää toisen tarkistuksen, joka on eri objekti erilaisine virhetilanteineen. Onko molempien onnistuttava, mitä kumpikin todistaa ja mitä tapahtuu, kun toinen ei ole käytettävissä, ovat kolme erillistä päätöstä. Jos ne tekee väärin, portista tulee esittelyssä tiukempi ja katkoksessa heikompi.

Miten toinen taustapalvelu todella todistaa

Paikallisen tilin haku todistaa, että nimi on tietokannassa ja että salasana vastasi sitä. RADIUS-vaihto todistaa, että RADIUS-palvelin palautti Access-Accept vastaanotetuille attribuuteille. Kumpikaan väite ei mainitse tekijätyyppiä, koska molemmat vahvistavat tietämystä. Ja NISTin digitaalisen identiteetin ohje laskee eri tekijätyypit ja niiden tunnistimet, ei palvelimia tai kehotteita.

On olemassa laillinen suunnittelu, jossa molemmat järjestelmät osallistuvat. Keskuspalvelu voi todentaa henkilön, kun taas portti tarkistaa itsenäisesti, onko tällä tilillä oikeus tähän tunneliin. Se on valtuutus todentamisen rinnalla, ja sen kutsuminen kaksitekijäiseksi sekoittaa käytäntötarkistuksen hallussapidon todisteeksi.

RADIUS voi kantaa todellisen toisen tekijän, kun se on sellaisen edessä, joka vahvistaa yhden, kuten push-hyväksyntä tai laitteistotunniste. Kirjekuori ei kerro, mitkä tunnistimet käyttäjä esitti, joten lue taustapalvelun käytäntöä, älä portin tarraa.

AND, OR ja vara ovat eri tuotteita

Ennen toteutusten vertailua päätä, mitä molemmat tarkoittaa vaatimuksessasi. AND-käytäntö vaatii jokaisen nimetyn tarkistuksen läpäisyn, OR-käytäntö hyväksyy sen, joka onnistuu, ja vara yrittää toista vain ilmoitetuissa virhetilanteissa. Nämä kolme käyttäytyvät päinvastoin katkoksen aikana, ja yleensä vain yksi niistä on se, mitä katselmus tarkoitti.

Kahden taustapalvelumerkinnän lisääminen asetusnäyttöön ei paljasta, mitä käytäntöä tuote toteuttaa. Jotkin portit ketjuttavat liitännäiset järjestyksessä ja pysähtyvät ensimmäiseen hylkäykseen, mikä on AND vain kun jokainen liitännäinen on pakollinen. Toiset käsittelevät paikallista tiliä ohituksena, mikä muuttaa keskuskatkoksen kieroksi. Luotettava vastaus on dokumentoitu negatiivinen testi jokaiselle polulle, ajettuna sitä buildia vasten, jonka otat käyttöön.

Vara ansaitsee eniten epäluuloa, koska se on olemassa jatkaakseen toimintaa, kun jokin on rikki. Vara, joka hyväksyy paikallisen salasanan aina kun RADIUS ei ole tavoitettavissa, on muuttanut keskuskäytännön toiseksi, heikommaksi oveksi.

OpenVPN:n kaksoistarkistus on konkreettinen tapaus

Yhteisön OpenVPN 2.6 vaatii sekä asiakasvarmenteen että määritetyn auth-user-pass-verify-skriptin, kun molemmat on otettu käyttöön. Se on dokumentoitu AND varmenteen tarkistuksen ja tunnistetietoskriptin välillä, ja se on todella kaksi tarkistusta. Se ei silti ole automaattisesti kaksi tekijätyyppiä, koska skripti voi validoida vain salasanan.

Yhdistelmä jättää myös liittämiskysymyksen avoimeksi. Varmenne tunnistaa yleensä laitteen, kun taas tunnistetiedot tunnistavat henkilön, eikä mikään oletusvirrassa vaadi, että molemmat viittaavat samaan subjektiin. Päätä, mitkä parit ovat sallittuja, ja pakota sitten se kartta tarkistusskriptin sisällä tai myöhemmässä valtuutusvaiheessa.

Vain varmenne -tila on yksi tarkistus, jota tukee avain, joka voi olla tai olla olematta PIN-koodilla suojattu. PIN-koodi muuttaa saman tunnistetiedon tiedoksi plus hallussapidoksi vain, jos avainta ei voi käyttää ilman sitä. Avaimen jättäminen salaamattomana levylle kutistaa toisen osan tiedosto-oikeudeksi.

Laitevalmistajat rakentavat oman putkistonsa, usein PAM-moduulin tai RADIUS-liitännäisen verkkokonsolin taakse. Yhteisön käyttäytyminen on viite siitä, miltä kaksoistarkistukset näyttävät, ei kuvaus siitä, miten laite ne yhdistää.

Tarkista yhdistelmä portistasi

Lue asetukset ennen kuin luotat konsolin yhteenvetoon. Käytännön päättävät rivit ovat varmennetila, tunnistetietoskripti ja liitännäisten järjestys.

grep -E 'verify-client-cert|auth-user-pass-verify|plugin' /etc/openvpn/server.conf
openssl x509 -in /etc/openvpn/pki/issued/client01.crt -noout -subject -serial
radtest alice 'wrong-password' 127.0.0.1 0 testing123

grep näyttää, vaaditaanko varmenne ja mikä skripti ajetaan sen jälkeen, ja järjestys on tärkeämpi kuin nimet antavat ymmärtää. Varmenteen tuloste antaa identiteetin, jonka portti näkee, mukaan lukien CN ja sarjanumero, jotka tarvitset liittämiskarttaa varten. RADIUS-testi on negatiivinen tapaus: väärän salasanan on annettava Access-Reject ja oikean Access-Accept. Jos hylätty tunnistetieto tuottaa silti istunnon, skripti ei ole lainkaan todentamispolulla.

Aja sitten katkostapaus laboratorioinstanssissa: pysäytä vaadittu taustapalvelu ja yhdistä kelvollisilla tunnistetiedoilla. Odotettu tulos on hylkäys, ja kaikki muu on varakäytäntö, jota kukaan ei dokumentoinut.

Kirjoita vaatimus negatiivisina tapauksina

Käyttökelpoinen vaatimus nimeää todisteet, tilit, joilla on lupa esittää ne, ja tuloksen, kun vahvistaja puuttuu. Se kertoo myös sallitun pariliitoksen laitteen identiteetin ja henkilön identiteetin välillä. Se on tarkempi kuin ostotilauksen tuotenimet, ja se voidaan testata.

Hyväksynnän tulisi sisältää neljä hylkäystä: sopimaton paikallinen tili, puuttuva vaadittu todiste, virheellinen toinen tekijä ja tavoittamaton vaadittu taustapalvelu. Jokainen hylkäys tarvitsee lokirivin, joka erottaa sen muista, muuten seuraava tapaus alkaa arvailulla. Kirjaa, mikä komponentti teki kunkin päätöksen, koska portti, RADIUS-palvelin ja hakemisto syyttävät kukin kahta muuta.

Aja neljä hylkäystä uudelleen jokaisen liitännäis- tai laiteohjelmistomuutoksen jälkeen. Ne ovat halpoja, ja käytäntö, jota ne suojaavat, on se osa, jota hyökkääjä kokeilee ensin.

Aiheeseen liittyvät artikkelit