Шифре Windows-а и strongSwan-а: ускладите прави слој
Иста дужина кључа није компатибилан скуп. Одвојите IKE политику од ESP трансформација и држите CBC и GCM у одвојеним предлозима.
Обе стране кажу AES-128, а тунел се и даље одбија да се успостави. CBC и GCM су различите трансформације које случајно деле исту дужину кључа, а клијент који нуди једну не задовољава гејтвеј који прихвата само другу. Реч AES описује фамилију, а не споразум.
Постоји и друга оса, и управо она ствара збуњујуће грешке.
Два слоја, две независне листе
IKE штити само преговарање, док подређена асоцијација штити саобраћај који вам је заиста важан. Windows прво излаже као метод шифровања и метод интегритета, а друго као константе трансформације шифре и аутентификације. Та поља нису алијаси једно за друго, а вредност важећа у једном може бити бесмислена или погрешна у другом. Читање профила с том поделом на уму уклања већину забуне.
Практична последица је да можете имати потпуно прихватљиву политику размене кључева и политику податковног канала коју партнер неће прихватити. Једна листа преговара; друга штити пакете. Промена вредности у првој нема ефекта на другу, колико год две слично изгледале у дијалогу за конфигурацију.
Запишите обе листе пре него што их упоредите са гејтвејем. Поређење по сећању је начин да се једно поље уреди двапут, а друго никада. Држите конзолу гејтвеја отворену поред профила.
Прочитајте грешку поред предлога
Фаза која није успела говори вам коју листу прегледати. Одбијање током почетне размене кључева проблем је IKE предлога, и дешава се пре него што икаква подређена асоцијација постоји. Неуспех док се преговара асоцијација заштићеног саобраћаја проблем је ESP предлога, а размена кључева је већ успела. Општа порука о подударању политике од клијента не именује ниједну фазу, зато је властити поглед гејтвеја онај корисни.
swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan -n 60 --no-pager
Упоредите примљени предлог, конфигурисани предлог и одабрани за тај један покушај. Овде су важне три различите листе, а само последња описује шта је заиста коришћено. Цитирајте је дословно у картици уместо да је сажимате.
Држите CBC и GCM као одвојене алтернативе
Гејтвеју којем је намерно дозвољено да прихвати било коју фамилију требају два предлога, не један. У strongSwan-у зарез раздваја алтернативе, а цртица спаја компоненте једног скупа. Комбиновање обе фамилије цртицама даје један немогућ предлог уместо два прихватљива.
proposals = aes128gcm16-prfsha256-ecp256, aes128-sha256-ecp256
esp_proposals = aes128gcm16-ecp256
Прва алтернатива носи аутентификовано шифровање и још увек именује псеудослучајну функцију, јер извођење кључа треба једну чак и када интегритет долази из шифре. Друга алтернатива је класично шифровање с одвојеним алгоритмом интегритета. Обе остају зависне од тога шта подржава учитана крипто имплементација.
ESP предлог није преименовани IKE предлог
Токен шифре изгледа идентично у обе листе, а скоро ништа друго се не преноси. ESP предлог нема псеудослучајну функцију размене кључева, а његови захтеви за интегритет и тајност унапред аргументују се против Windows политике на другој страни уместо да се копирају из IKE реда. Механичко превођење једне листе у другу производи нешто што се валидира и никада не преговара.
Одаберите смер и останите у њему. Или гејтвеј задржава политику само GCM и клијент поставља потпуну компатибилну политику, или гејтвеј прихвата обе фамилије и клијент задржава свој постојећи скуп. Омогућавање резервне опције коју безбедносна политика забрањује није решење, колико год брзо уклонило грешку.
Проверите оба скупа, затим обнављање кључа
Потврдите одабрани скуп размене кључева и одабрани скуп саобраћаја одвојено, јер долазе из различитих листа и могу успети независно. Затим пустите да се обнављање кључа догоди и потврдите и њега. Прво руковање које ради и обнављање кључа које не успева описују скуп предлога који је само делимично прихватљив.
Сачувајте тај доказ уз промену. Понављајуће прекидање везе треба властити запис неуспеле размене пре него што неко окриви тајмер или дефект платформе.