Efallai eich bod yn meddwl bod cysylltiad IKEv2 yn un cyfnewid sy'n gorffen gyda'ch traffig wedi'i amgryptio. Mae o leiaf dau, ac nid yw'r cyntaf yn dilysu unrhyw un. Mae'r cymheiriaid yn dechrau gyda negeseuon rheoli, yn cytuno ar baramedrau cryptograffig, yn profi hunaniaeth, ac yna'n unig yn trafod y cyflwr sy'n cario pecynnau'r cymwysiadau. Mae'r drefn hon yn esbonio'r anghysondeb y mae pobl yn ei adrodd yn gyson: mae'r porth yn ateb, mae'r cleient yn dweud ei fod wedi cysylltu, ac mae'r cymhwysiad preifat yn dal i redeg allan o amser. Dyma beth mae pob cam yn ei wneud mewn gwirionedd, a beth sy'n rhaid bod yn wir ar ei ôl.

Y myth: os yw'r porth yn ateb, rydych wedi cysylltu

Mae ateb i'r neges gyntaf yn profi bod y pen draw'n gyrraeddadwy ac yn barod i siarad. Nid yw'n profi bod cyfrif wedi'i dderbyn, bod cadwyn o dystysgrifau wedi'i dilysu, na bod unrhyw bolisi data wedi'i osod.

Mae'r methiannau hynny'n digwydd yn ddiweddarach, ac maent yn cynhyrchu symptomau gwahanol. Mae gwrthodiad tystysgrif neu fethiant EAP yn cyrraedd ar ôl i'r cyfnewid cyntaf fod yn llwyddiannus yn barod, a dyna pam mae ping i UDP 500 ac eicon cleient gwyrdd yn dweud cyn lleied.

IKE_SA_INIT: cytuno ar baramedrau, nid hunaniaeth

Mae'r cyfnewid cyntaf yn cario cynigion ar gyfer cymdeithas ddiogelwch IKE: algorithmau amgryptio ac integriti, ffwythiant ffug-hapus, a grŵp Diffie-Hellman. Mae'r cymheiriaid hefyd yn cyfnewid nonces, ac mae pob ochr yn deillio deunydd allweddol ar gyfer yr IKE SA o'r gyfrinach a rennir y mae'r gwerthoedd hynny'n ei chynhyrchu. Nid oes dim yn y cyfnewid hwn yn sefydlu pwy yw'r parti arall. Mae'n sefydlu bod y ddwy ochr yn gallu cyfrifo'r un allweddi a'u bod yn cytuno ar gynnig. Mae ymatebwr nad yw'n hoffi unrhyw gynnig yn gwrthod y cyfnewid yma, a dyna pam mae anghysondeb fersiwn neu algorithm yn edrych fel pe bai'r gweinydd i lawr.

Mae'r IKE SA a grëwyd ar y pwynt hwn yn gwarchod pob cyfnewid rheoli diweddarach. Dyna ei gwaith, ac mae'n waith gwahanol i warchod eich pecynnau.

IKE_AUTH: profwch hunaniaeth, yna adeiladwch y CHILD SA cyntaf

Mae'r ail gyfnewid yn cario hunaniaeth. Gyda thystysgrifau, mae pob cymheir yn llofnodi â'i allwedd breifat ac yn cyflwyno cadwyn y mae'n rhaid i'r llall ei dilysu; gydag EAP, mae'r ymatebwr yn herio'r cychwynnwr trwy'r dull a ddewiswyd. Yma y daw enw gweinydd anghywir, tystysgrif wedi dod i ben neu gyfrinair wedi'i wrthod i'r golwg o'r diwedd.

Yn yr achos arferol mae IKE_AUTH hefyd yn trafod y CHILD SA cyntaf, felly cytunir ar ddiogelwch data yn yr un daith. Mae'r cychwynnwr yn cynnig detholwyr traffig, mae'r ymatebwr yn eu culhau neu'n eu gwrthod, ac mae allweddi ar gyfer y llwybr data yn deillio o'r IKE SA. Mae hynny'n golygu y gall un cyfnewid fethu mewn dau le gwahanol iawn: hunaniaeth neu bolisi. Darllenwch y llwyth notify neu'r gwall yn lle'r methiant cydlawenhau cyffredinol, oherwydd un atgyweiriad yw tystysgrif a'r llall yw anghysondeb is-rwydwaith.

Dwy SA, dau waith

AssociationProtectsLifetime behaviour
IKE SAManagement exchanges: rekeying, delete, configuration payloadsRekeyed on its own schedule; the data path can survive the change
CHILD SAApplication traffic matching the traffic selectorsRekeyed independently, often more frequently

Mae eu cadw ar wahân yn esbonio dau ymddygiad sy'n edrych fel bygiau. Gall tiwnel ymddangos fel un sefydledig tra bod ail-allweddi yn methu yn y cefndir, a gellir disodli CHILD SA heb i'r cleient ollwng y cysylltiad.

Ar strongSwan, mae'r cyfeirnod ffurfweddu IKEv2 a swanctl --list-sas yn dangos y ddau lefel, ac mae ip xfrm state ynghyd â ip xfrm policy yn dangos beth y gosododd y cnewyllyn mewn gwirionedd. Cymharu'r ddwy olwg honno yw'r ffordd gyflymaf i weld a orffennodd y trafodaethau neu a oeddent yn edrych wedi gorffen yn unig. Os yw'r daemon yn rhestru CHILD SA nad oes gan y cnewyllyn gyflwr ar ei chyfer, methodd y gosodiad yn dawel. Os yw'r cnewyllyn yn dal cyflwr nad yw'r daemon yn gwybod amdano, rydych yn edrych ar weddillion ymgais gynharach.

Beth sy'n rhaid bod yn wir o hyd ar ôl i'r tiwnel godi

Mae detholwyr traffig yn diffinio pa gyfeiriadau sy'n cael eu cynnwys. Os yw'r cleient yn cynnig un is-rwydwaith ac mae'r gweinydd yn disgwyl un arall, mae'r CHILD SA yn gosod ond nid yw'n cario dim defnyddiol, ac mae'r gwall yn ymddangos fel problem llywio yn hytrach na phroblem trafod. Yna mae'n rhaid i'r stac lleol gydweithredu: anfon ymlaen wedi'i alluogi lle mae'r gwesteiwr yn llywio, llwybrau'n pwyntio at y tiwnel, rheolau mur tân yn caniatáu'r pecynnau dadgapsiwleiddio, a datryswr mewnol os oes enwau preifat dan sylw. Mae pob un ohonynt yn methu ar wahân ac ni ellir trwsio'r un ohonynt trwy ailgychwyn y daemon IKE.

Cadwch y log yn weladwy wrth ichi ddiagnosio: y cyfnewid cychwynnol, yna dilysu hunaniaeth, yna dilysu defnyddiwr lle mae'n berthnasol, yna gosod CHILD, yna traffig y cymwysiadau. Y cam sy'n stopio yw'r cam i'w drwsio, ac nid yw methiant llywio diweddarach byth yn rheswm i lacio'r gwiriadau hunaniaeth sydd eisoes wedi pasio.

Erthyglau cysylltiedig