EAP autentifikavimas per IKEv2 gali pareikalauti, kad klientas vienoje jungtyje patikrintų du skirtingus serverio vardus. IKE užbaigianti tinklų sietuva pateikia vieną tapatybę, o vidinį TLS mainą užbaigianti EAP dalis gali pateikti kitą. strongSwan jos gyvena skirtinguose konfigūracijos blokuose, o vardą įrašius netinkamame bloke gaunama klaida, kuri atrodo kaip sertifikato problema. Būtent tai, kuri patikra nepavyko, nurodo, kurį bloką taisyti.

Viena jungtis, dvi serverio tapatybės

Pirmoji tapatybė priklauso IKE mainams. Klientas renka adresą ir tikisi, kad priešinė pusė įrodys konkrečią tapatybę, paprastai vardą tinklų sietuvos sertifikate.

Antroji priklauso EAP. Naudojant PEAP arba TTLS, klientas stato TLS tunelį į autentifikavimo serverį IKE SA viduje, ir tas vidinis serveris pateikia savo sertifikatą. Kai užpakalinė dalis yra atskiras mazgas, jos vardas skiriasi nuo tinklų sietuvos vardo. Klientas, tikrinantis tik pirmąjį vardą, priima visa, ką tvirtina antrasis. O klientas, sukonfigūruotas su vienu vardu abiejose vietose, nepavyksta iškart, kai tie du iš tikrųjų skiriasi.

Abu vardai ateina iš operatoriaus konfigūracijos, o ne iš sertifikato, kuris pašalina klaidą. Paklausti operatoriaus apie diegimo detales greičiau nei spėlioti du mazgų vardus.

Kuris laukas kuriam sluoksniui priklauso

swanctl adresas ir IKE tapatybė yra atskiri nustatymai, o EAP tapatybė yra trečias.

Nuotolinis adresas nusprendžia, kur keliauja paketai, o nuotolinė tapatybė nurodo, ką turi įrodyti priešinė pusė. EAP lūkestis rašomas po local bloku, nes jis aprašo šio kliento EAP mainus, o ne priešinės pusės IKE elgseną. Būtent ši vieta skaitoma neteisingai. Vardas yra kliento konfigūracijoje, nors aprašo serverį, ir todėl jis atrodo ne vietoje.

connections {
    office {
        remote_addrs = vpn.example.com
        local {
            auth = eap-peap
            aaa_id = auth.example.com
        }
        remote {
            auth = pubkey
            id = vpn.example.com
        }
    }
}

Šis fragmentas nėra visa jungtis; pasitikėjimo medžiaga, prisijungimo duomenys ir antrinių jungčių taisyklės dar turi būti. Nukopijavus jį pažodžiui į veikiantį failą, būtų pakeisti nustatymai, kurių dar reikia.

Kodėl aaa_id gyvena po local

local blokas aprašo, ką šis galas daro autentifikavimo metu, įskaitant metodą, kurį naudos, ir tapatybę, kurios tikisi iš kito galo tam metodui. Niekas jame netvirtina, kad AAA serveris veikia toje pačioje mašinoje.

Numatytoji reikšmė padaro spąstus aštresnius. Kai aiški reikšmė nenustatyta, laukiama AAA tapatybė seka nuotolinę tapatybę, todėl diegimas su vienu vardu veikia ir paslepia skirtumą. Aiški reikšmė svarbi tik tada, kai EAP diegimas tikrai baigiasi kitur. Nustačius ją į kitą vardą be šios priežasties sukuriama klaida, kurios operatorius negali atkartoti. Perskaitykite diegimą prieš išgalvodami antrą vardą.

Laikykite reikšmę identišką tam, ką iš tikrųjų tvirtina užpakalinės dalies sertifikatas, įskaitant vardo formą. Baigiamasis taškas ar pakaitos simbolis, neapimantis mazgo, pakanka, kad patikra nepavyktų.

Sąsajos, negalinčios išreikšti atskyrimo

NetworkManager profilis nėra ta pati konfigūracijos sąsaja kaip swanctl. Už jo esantis papildinys siūlo siauresnį tapatybės valdymo rinkinį, o kurie egzistuoja, priklauso nuo įdiegtos versijos.

Tai svarbu, kai diegimui tikrai reikia dviejų vardų. Laukas, pažymėtas kaip serverio tapatybė, gali konfigūruoti vieną sluoksnį, bet ne kitą, todėl profilis gali atrodyti teisingas ir vis tiek nepavykti vidinėje patikroje. Prieš manydami, kad profilis gali išreikšti šią tvarką, patikrinkite, ką palaiko įdiegtas papildinys. Jei negali, pasirinkimas priklauso operatoriui: kitas tiekimo kelias arba pataisytas serverio tapatybės dizainas. PEAP silpninimas ar bet kokio vardo priėmimas keičia autentifikavimo politiką, o ne ją taiso.

Alternatyva nėra tai, ką reikėtų išgalvoti kliente. Paprašykite palaikomos tvarkos raštu, tada saugokite tą atsakymą kartu su profilu.

Atskirkite tapatybės neatitikimą nuo pasibaigusio sertifikato

Vardo neatitikimas ir pasibaigęs sertifikatas yra skirtingos klaidos, ir žurnalas jas atskiria. Perskaitykite pranešimą prieš nuspręsdami, kurį lauką keisti.

swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan -n 50 --no-pager

Numatytos AAA tapatybės nustatymas neatnaujina sertifikato ir nesukuria pasitikėjimo jo išdavėju, o sertifikato atnaujinimas neištaiso neteisingo laukiamo vardo. Perskaitykite, kuri patikra nepavyko, prieš taisydami dar vieną tapatybės lauką. Tada iš naujo įkelkite konfigūraciją ir patvirtinkite, kad įkelta jungtis rodo jūsų nustatytą reikšmę, nes pakeistas failas, kuris niekada nebuvo įkeltas, nieko nekeičia. Įrašykite abu vardus ir jų sluoksnius į diegimo pastabas.

Susiję straipsniai