Аўтэнтыфікацыя EAP праз IKEv2 можа патрабаваць ад кліента праверкі двух розных імён сервераў у адным злучэнні. Шлюз, які завяршае IKE, прадстаўляе адну ідэнтычнасць, а серверная частка EAP, якая завяршае ўнутраны абмен TLS, можа прадстаўляць іншую. У strongSwan яны знаходзяцца ў розных блоках канфігурацыі, і імя ў няправільным блоку дае збой, які выглядае як праблема з сертыфікатам. Менавіта чытанне таго, якая праверка не прайшла, паказвае, які блок правіць.

Адно злучэнне, дзве ідэнтычнасці сервера

Першая ідэнтычнасць належыць абмену IKE. Кліент набірае адрас і чакае, што суразмоўца дакажа пэўную ідэнтычнасць, звычайна імя ў сертыфікаце шлюза.

Другая належыць EAP. З PEAP або TTLS кліент будуе тунель TLS да сервера аўтэнтыфікацыі ўнутры IKE SA, і гэты ўнутраны сервер прадстаўляе ўласны сертыфікат. Калі серверная частка — асобны хост, яе імя адрозніваецца ад імя шлюза. Кліент, які правярае толькі першае імя, прымае ўсё, што сцвярджае другое. А кліент, наладжаны з адным імем у абодвух месцах, збаіць, як толькі яны сапраўды разыйдуцца.

Абодва імёны паходзяць з канфігурацыі аператара, а не з таго сертыфіката, які прыбірае памылку. Спытаць аператара пра дэталі разгортвання хутчэй, чым угадваць два імёны хостаў.

Якое поле належыць якому ўзроўню

У swanctl адрас і ідэнтычнасць IKE — асобныя налады, а ідэнтычнасць EAP — трэцяя.

Адрас аддаленага боку выбірае, куды ідуць пакеты, а ідэнтычнасць аддаленага боку паказвае, што павінен даказаць суразмоўца. Чаканне EAP запісваецца ў блоку local, бо яно апісвае абмен EAP гэтага кліента, а не паводзіны IKE суразмоўцы. Менавіта гэтае размяшчэнне людзі чытаюць няправільна. Імя стаіць у канфігурацыі кліента, апісваючы пры гэтым сервер, і таму выглядае не на сваім месцы.

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

Гэты фрагмент не з’яўляецца поўным злучэннем; матэрыялы даверу, уліковыя даныя і палітыкі даччыных злучэнняў яшчэ патрэбныя. Капіраванне яго даслоўна ў працоўны файл заменіць налады, якія вам яшчэ патрэбныя.

Чаму aaa_id жыве ў local

Блок local апісвае, што гэты бок робіць падчас аўтэнтыфікацыі, уключаючы метад, які ён выкарыстае, і ідэнтычнасць, якую чакае ад другога боку для гэтага метаду. Нішто ў ім не сцвярджае, што сервер AAA працуе на той жа машыне.

Значэнне па змаўчанні робіць пастку вастрэйшай. Калі яўнае значэнне не зададзена, чаканая ідэнтычнасць AAA ідзе за ідэнтычнасцю аддаленага боку, таму разгортванне з адным імем працуе і хавае розніцу. Яўнае значэнне мае сэнс толькі тады, калі разгортванне EAP сапраўды завяршаецца ў іншым месцы. Заданне іншага імя без гэтай прычыны стварае збой, які аператар не можа ўзнавіць. Чытайце разгортванне, перш чым выдумляць другое імя.

Трымайце значэнне ідэнтычным таму, што сапраўды сцвярджае сертыфікат сервернай часткі, уключаючы форму імя. Кропкі ў канцы або сімвала-падстаноўкі, які не пакрывае хост, дастаткова, каб праверка не прайшла.

Інтэрфейсы, якія не могуць выразіць падзел

Профіль NetworkManager — не той жа інтэрфейс канфігурацыі, што swanctl. Плагін пад ім прадстаўляе вузейшы набор сродкаў кіравання ідэнтычнасцю, і тое, якія з іх існуюць, залежыць ад усталяванай версіі.

Гэта важна, калі разгортванню сапраўды патрэбныя два імёны. Поле з назвай «ідэнтычнасць сервера» можа наладжваць адзін узровень, але не другі, таму профіль можа выглядаць правільным і ўсё ж не прайсці ўнутраную праверку. Праверце, што падтрымлівае ўсталяваны плагін, перш чым меркаваць, што профіль можа выразіць такую схему. Калі не можа, выбар за аператарам: іншы шлях прадастаўлення або выпраўлены дызайн ідэнтычнасці сервера. Аслабленне PEAP або прыняцце любога імя змяняе палітыку аўтэнтыфікацыі замест таго, каб яе выправіць.

Альтэрнатыву не варта выдумляць на кліенце. Папрасіце падтрыманую схему ў пісьмовым выглядзе, а затым захавайце гэты адказ разам з профілем.

Адрозніце неадпаведнасць ідэнтычнасці ад скончанага сертыфіката

Неадпаведнасць імя і скончаны сертыфікат — розныя збоі, і журнал іх адрознівае. Прачытайце паведамленне, перш чым вырашаць, якое поле змяніць.

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

Заданне патрэбнай ідэнтычнасці AAA не аднаўляе сертыфікат і не ўсталёўвае давер да яго выдаўца, а аднаўленне сертыфіката не выпраўляе няправільнае чаканае імя. Прачытайце, якая праверка не прайшла, перш чым правіць яшчэ адно поле ідэнтычнасці. Затым перазагрузіце канфігурацыю і пераканайцеся, што загружанае злучэнне паказвае зададзенае значэнне, бо адрэдагаваны файл, які так і не загрузілі, нічога не змяняе. Запішыце абодва імёны і іх узроўні ў нататкі пра разгортванне.

Падобныя артыкулы