Rydych yn rhedeg tcpdump ar ryngwyneb allanol porth IPsec Linux ac yn gweld dau beth ar unwaith: ffrâmau ESP sy'n dod i mewn ac, yn syth ar eu hôl, y pecynnau mewnol wedi'u dadgryptio. Wrth fynd allan, dim ond ESP sy'n ymddangos. Y casgliad naturiol yw nad yw atebion yn cael eu hanfon, neu fod IPsec yn amgryptio un cyfeiriad ac yn anghofio'r llall. Nid yw'r naill na'r llall yn wir.

Yr hyn rydych yn edrych arno yw pwynt dal. Mae'r cnewyllyn yn trawsnewid pecynnau allan cyn i lwybr trosglwyddo'r ddyfais eu rhoi i soced y pecynnau, felly nid yw'r soced byth yn gweld y ffurf fewnol yn mynd allan. Wrth ddod i mewn, mae'r pecyn yn cael ei ddal fel ESP yn gyntaf ac mae'r copi wedi'i ddadgapsiwleiddio i'w weld pan fydd yn ailymuno â'r pentwr. Yr un traffig, dau ffenestr arsylwi wahanol.

Y pwynt dal sy'n penderfynu beth rydych yn ei weld

Ar ryngwyneb arferol, mae soced AF_PACKET yn eistedd yn agos i haen y ddyfais. Mae pecynnau sy'n gadael y gwesteiwr yn mynd trwy brosesu allbwn IPsec yn gyntaf, sy'n troi segment TCP mewnol yn ESP neu'n ddatagram UDP-4500, ac yn cyrraedd yr haen honno wedyn yn unig. Mae pecynnau sy'n cyrraedd yn cael eu copïo i'r soced wrth iddynt ddod oddi ar y wifren, yn dal i fod wedi'u hamgryptio, ac mae'r canlyniad wedi'i ddadgryptio i'w weld yn ddiweddarach pan fydd y pentwr yn ei ddanfon yn lleol neu'n ei anfon ymlaen.

Mae'r drefn honno yn esbonio'r anghymesuredd yn llwyr. Nid yw'n dystiolaeth am gyfeiriad, polisi na'r math o ymddygiad sydd gan gymhwysiad, ac mae ei drin felly yn gyrru pobl i hela ateb a oedd wedi'i anfon yn gywir trwy'r amser. Mae'n un o'r ychydig bosau rhwydwaith lle mae yr offeryn, nid y rhwydwaith, yn creu'r anomaledd.

Parwch yr hidlydd â'r haen rydych yn ei hystyried

Mae mynegiad fel tcp port 443 yn dewis cysylltiad TCP mewnol. Wrth fynd allan, mae'r cysylltiad hwnnw eisoes wedi dod yn ESP erbyn i'r soced gael ei ymgynghori, felly nid yw'r hidlydd yn cyfateb i ddim. Os ydych am gyfrif traffig gwarchodedig, hidlwch ar y ffurf allanol yn lle hynny: protocol 50 ar gyfer ESP amrwd, neu borth UDP 4500 pan fo NAT traversal ar waith. Mae'r ddau hidlydd yn rhoi cyfrif pecynnau y gellir ei gymharu rhwng y ddau bartner, sef fel arfer y rheswm dros gyfrif o gwbl. Nid yw'r naill na'r llall yn dweud wrthych a gafodd y cais mewnol ateb.

Peidiwch â chyfrif UDP 4500 fel cyfrif pecynnau ESP. Mae IKE hefyd yn defnyddio'r porth hwnnw ar gyfer negeseuon cadw'n fyw NAT-T ac ar gyfer y gyfnewidfa wedi'i chapswleiddio, felly mae'r rhif yn cynnwys traffig nad yw'r data roeddech yn bwriadu ei fesur. Mae angen hidlydd ei hun ar y gyfnewidfa IKE gychwynnol ar UDP 500 os dyna'r cwestiwn. Mae rhif sy'n cymysgu traffig rheoli â data hefyd yn gwneud unrhyw amcangyfrif lled band yn anghywir o ffin anhysbys. Mae cyfrifon ar wahân yn ateb cwestiynau ar wahân.

Ysgrifennwch yr hidlydd wrth ymyl y cwestiwn y mae'n ei ateb. Mae «Faint o ESP a adawodd y blwch» a «a adawodd y cais gwe y blwch» yn fesuriadau gwahanol â hidlyddion gwahanol, ac ni all un dal ddatrys y ddau. Heb y nodyn hwnnw, bydd dau berson yn cymharu rhifau nad oeddent erioed yn cyfrif yr un peth.

Arsylwch cyn y trawsnewidiad, nid ar ei ôl

Os oes angen i chi weld y testun clir allan, symudwch y pwynt arsylwi yn gynt, cyn prosesu allbwn IPsec. Mae NFLOG yn rhoi bachyn Netfilter i chi lle gall rheol gopïo pecynnau dethol i soced gofod defnyddiwr, y gall tcpdump ei ddarllen. Mae canllaw dympio traffig strongSwan yn dogfennu'r dull hwn yn union am y rheswm hwn.

Mae'r cyfatebiaeth polisi yn cyfyngu'r rheol i draffig sydd ar fin mynd i mewn i dwnnel. -m policy --pol ipsec --dir out sydd yn gwneud y rheol yn benodol yn lle logio pob pecyn y mae'r blwch yn ei anfon. Yna darllenwch y grŵp log gyda dal cyfyngedig: mae cyfrif ciplun bach a therfyn maint yn cadw'r diagnosteg rhag troi'n archif traffig. Mae dal cyfyngedig hefyd yn haws i'w roi i adolygydd heb lusgo llwyth anghysylltiedig gyda chi. Penderfynwch y cyfrif cyn i chi ddechrau, nid ar ôl gweld faint a gyrhaeddodd.

iptables -I OUTPUT 1 -d 10.83.0.44/32 -p tcp --dport 8443 -m policy --pol ipsec --dir out -j NFLOG --nflog-group 5
tcpdump -ni nflog:5 -s 128 -c 20 'host 10.83.0.44 and tcp port 8443'

Dewiswch y bachyn i gyd-fynd â'r llif. Mae OUTPUT yn cynnwys traffig y mae'r porth yn ei gynhyrchu ei hun; mae tramwyo o gleient LAN yn mynd trwy gadwyn FORWARD yn lle hynny, ac ni fydd rheol ar OUTPUT byth yn ei weld. Mae'r cyfeiriad a'r porth uchod yn ddeiliad lle ar gyfer cyrchfan prawf a gymeradwywyd.

Beth mae'r arsylwi yn ei brofi

Mae NFLOG yn darged logio, nid yn benderfyniad derbyn. Mae pecyn sy'n ymddangos yno yn dangos ei fod wedi cyrraedd y bachyn ac wedi cyfateb i'r rheol. Nid yw'n dangos bod hidlydd diweddarach wedi caniatáu iddo, bod y ddyfais wedi'i drosglwyddo, neu bod y partner wedi derbyn unrhyw beth.

Mae log gwag yr un mor amwys. Gwiriwch gyfrifydd pecynnau'r rheol, cadarnhewch y cyfeiriad, cadarnhewch fod y llif wedi cyfateb i bolisi IPsec mewn gwirionedd, a chadarnhewch y cyrchfan. Dim ond cyfrifydd cyfatebol ar y ddau bartner sy'n troi arsylwi yn gasgliad. Yna cymharwch gyfrifyddion y gymdeithas diogelwch ar y ddau bartner ar gyfer yr un ymgais reoledig, oherwydd cyfrifyddion SA yw'r cofnod awdurdodol o'r hyn a warchodwyd ac a anfonwyd.

Un bag arall: mae «testun clir» yn y cyd-destun hwn yn golygu y tu allan i haen amgryptio IPsec. Mae gan sesiwn HTTPS fewnol ei TLS ei hun o hyd. Nid yw dal y pecyn wedi'i ddadgapsiwleiddio yn dadgryptio TLS y cymhwysiad, ac mae gweld HTTP darllenadwy yno yn golygu nad oedd y cymhwysiad yn defnyddio HTTPS o gwbl.

Glanhewch a chymharwch y ddau ben

Tynnwch yr union reol a fewnosodwyd gennych, yn ôl ei pherchennog, cyn gynted ag y bydd yr arsylwi ar ben. Mae gadael rheol logio yn ei lle yn costio CPU ar bob pecyn cyfatebol ac yn creu problem cadw data yn dawel. Dilëwch trwy ailadrodd y rheol gyda -D yn lle fflysio cadwyn nad ydych yn berchen arni.

iptables -D OUTPUT -d 10.83.0.44/32 -p tcp --dport 8443 -m policy --pol ipsec --dir out -j NFLOG --nflog-group 5

Os yw'r defnyddiad yn defnyddio IPsec gofod defnyddiwr, rhyngwyneb XFRM, neu ollwng i galedwedd, mae'r pwyntiau arsylwi yn symud ac efallai na fydd y rysáit hon yn berthnasol o gwbl. Gyda libipsec, y man dogfennedig i wylio traffig mewnol yw'r ddyfais TUN. Nodwch y llwybr yn gyntaf, yna dewiswch y pwynt sy'n ateb y cwestiwn, a disgwyliwch i'r ddau gyfeiriad edrych yn wahanol dim ond pan fyddwch yn edrych ar ochr anghywir y trawsnewidiad.

Erthyglau cysylltiedig