Mae dau gwestiwn yn penderfynu ble mae allwedd breifat VPN yn perthyn: a ellir y deunydd allwedd ei gopïo oddi ar y gwesteiwr, ac a all proses ei defnyddio heb neb wrth y bysellfwrdd. Nid yw label marchnata storfa yn ateb y naill na'r llall. Mae daemon twnnel sy'n rhaid dod yn ôl ar ôl ailgychwyn angen defnydd di-bresenoldeb, sy'n diarddel unrhyw beth sy'n gaeth i PIN a deipiwyd gan ddyn.

Dewis rhwng copïo a defnyddio

Mae copïo a defnyddio yn methu'n wahanol, felly triniwch nhw fel dau ofyniad yn hytrach nag un. Mae ymosodwr sy'n gallu darllen bytes yr allwedd yn cario'r hunaniaeth i westeiwr arall, ac nid yw'r peiriant gwreiddiol yn sylwi. Mae ymosodwr na all ddarllen y bytes ond sy'n gallu cyrraedd y broses lofnodi yn dal i ddilysu cyhyd ag y bydd y mynediad hwnnw'n para.

Mae allwedd ffeil yn hawdd ei chopïo, a dyna hefyd pam ei bod yn hawsaf ei chadw'n ôl a'i hadfer. Mae storfa allwedd meddalwedd yn newid yr API, nid y ffin: mae'r darparwr yn gwrthod ei alwadau allforio ei hun, ond mae gan yr un cyd-destun gweinyddwr a osododd yr allwedd fel arfer lwybrau eraill at y deunydd. Mae na ellir ei hallforio mewn darparwr meddalwedd yn ddatganiad am weithrediadau a gefnogir, nid yn brawf o wal galedwedd. Triniwch ef fel twmpath cyflymder yn erbyn copïo achlysurol, nid fel amddiffyniad rhag rhywun sydd eisoes yn dal eich sesiwn.

Mae TPM neu gerdyn clyfar yn rhedeg y llawdriniaeth lofnodi y tu mewn i galedwedd ac yn dychwelyd y canlyniad yn unig. Mae hynny'n cau'r llwybr copïo tra'n gadael y llwybr defnyddio'n agored i unrhyw beth sy'n gallu gofyn am lofnod.

Cyfateb y storfa i'r daemon twnnel

Mae'r daemon yn cyfyngu hyn yn fwy na'r polisi diogelwch. Mae WireGuard yn cymryd allwedd breifat base64 o ffeil neu o fewnbwn wg set ac nid oes ganddo lwybr i mewn i storfa tystysgrifau, felly nid yw allwedd rhyngwyneb â chefnogaeth TPM ar y bwrdd. Gall OpenVPN a adeiladwyd yn erbyn OpenSSL 3 lwytho allwedd drwy URI darparwr, ac mae strongSwan yn cludo ategyn TPM ochr yn ochr â chefnogaeth PKCS#11, ond mae'r ddau yn dibynnu ar sut y cafodd eich pecyn ei grynhoi.

Mae daemon na all gyrraedd y storfa a ddewiswyd yn troi'r ffin galedwedd yn addurn. Mae rhywun yn allforio'r allwedd unwaith, yn ei gadael mewn ffeil, ac mae gweddill y dyluniad yn rhedeg yn dawel ar y copi hwnnw.

Adnewyddu yw hanner arall y cyfatebiad, a dyna lle mae'r rhan fwyaf o ddyluniadau yn syrthio'n ddarnau. Mae storfa sy'n gweithio ar gyfer y cofrestriad cyntaf ond sy'n mynnu mewngofnodi consol ar gyfer pob ailgyhoeddiad yn cael ei hosgoi y tro cyntaf y bydd tystysgrif yn dod i ben ar awr anghyfleus. Profwch y llwybr ailgyhoeddi tra bo gan yr allwedd bresennol fisoedd i fynd.

Rhestru'r allwedd cyn ei symud

Cofnodwch beth yw'r allwedd cyn newid ble mae'n byw, oherwydd mae mudo sy'n colli'r subject alternative names yn torri'r twnnel mewn ffordd sy'n darllen fel nam llwybro. Dympwch y dystysgrif, cadarnhewch fod yr allwedd breifat yn ddarllenadwy lle mae'r daemon yn ei disgwyl, a gwiriwch fod y pâr wir yn cyfateb.

openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256

Rhaid i'r ddau ddeuolyn olaf fod yn unfath. Os nad ydyn nhw, mae'r daemon yn gorffen ei osodiad ac yna'n methu pob ymgais gyda gwall tystysgrif neu lofnod sy'n pwyntio ymhell o'r gwir achos. Mae cyfwerth WireGuard yn fyrrach, oherwydd deillir yr allwedd gyhoeddus yn uniongyrchol o'r un breifat: rhaid i wg pubkey < /etc/wireguard/wg0.key argraffu allwedd y cymar sydd eisoes gan eich gweinydd.

Mae caniatadau yn perthyn i'r un rhestr. Dylai stat -c '%a %U:%G' /etc/wireguard/wg0.key ddychwelyd 600 root:root, ac mae unrhyw beth sy'n ddarllenadwy i grŵp neu'r byd yn golygu bod yr allwedd eisoes wedi bod ar gael i brosesau na fwriadwyd gennych.

Gwirio'r storfa a'r llwybr defnyddio

Mae gan y gwiriad dri rhan, ac mae'r drydedd yn cael ei hepgor. Cadarnhewch fod yr allwedd yn bodoli yn y storfa a ddewiswyd gennych, cadarnhewch fod y daemon wedi llwytho'r allwedd honno ac nid copi a adawyd, ac yna cadarnhewch ei fod yn dal i gychwyn pan fydd artifact yr allforiad wedi mynd.

certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts

Ar Windows mae'r gorchymyn cyntaf yn rhestru'r storfa bersonol ac yn argraffu'r darparwr allwedd wrth bob cofnod, a dyna lle mae tystysgrif sy'n edrych fel un â chefnogaeth galedwedd ond sy'n eistedd yn y darparwr meddalwedd yn ymddangos. Mae'r ail yn rhestru allweddi sy'n cael eu dal gan ddarparwr crypto'r platfform, felly mae hunaniaeth VPN ar goll yno tra bo ei thystysgrif yn bresennol yn golygu bod yr hanner preifat yn byw yn rhywle arall. Ar giât Linux, mae ipsec listcerts yn adrodd beth lwythodd strongSwan, gan gynnwys allweddi a ddaeth o ategyn TPM. Cymharwch olion bysedd neu hashes allwedd gyhoeddus â'r rhestr yn hytrach na dibynnu ar nifer y cofnodion.

Y prawf negyddol yw'r un sy'n profi'r dyluniad. Symudwch yr allwedd a allforiwyd allan o gyfeiriadur ffurfweddu'r daemon, ailgychwynnwch y gwasanaeth, a darllenwch y log ar gyfer yr hunaniaeth y mae'n ei chyflwyno. Mae twnnel sy'n dal i ddod i fyny yn defnyddio'r storfa; mae cychwyn wedi methu yn golygu bod y dyluniad wir yn rhedeg ar gopi.

Ysgrifennu adnewyddu ac ôl-gyflwyno

Mae ôl-gyflwyno yn wahanol iawn rhwng y ddau deulu, ac mae'r gwahaniaeth hwnnw'n perthyn i'r nodyn dylunio, nid i alwad digwyddiad. Gellir cadw allwedd ffeil yn ôl yn amgryptiedig a'i hadfer, felly mae mudo wedi methu yn gildroadwy. Ni ellir cadw allwedd na ellir ei hallforio yn ôl o gwbl, sy'n gwneud ailgyhoeddi ac ailaflofrestru yr unig lwybr adfer pan fydd y ddyfais yn marw.

Gwiriwch y dyddiad dod i ben cyn iddo droi'n fethiant gwasanaeth: mae openssl x509 -in vpn.crt -noout -checkend 2592000 yn gorffen gyda chod di-nod pan fydd y dystysgrif yn dod i ben o fewn trideg diwrnod, felly mae'n disgyn yn syth i mewn i wiriad monitro. Mae rhediad wythnosol o'r llinell honno yn dal yr adnewyddiad na threfnwyd gan neb.

Mae dileu yn digwydd ar y gweinydd: dilëwch y cymar neu diddymwch y rhif cyfresol, yna cadarnhewch fod y twnnel yn methu, gan y gall cleient sydd â sesiwn wedi'i chache hidlo diddymiad hanner-gorffenedig am gyfnod. Rhaid i'r diddymiad hefyd gyrraedd llwybr CRL neu OCSP y crynhowr, nid yn unig cronfa ddata'r CA. Mae tystysgrif yn ddogfen gyhoeddus, ac mae proffil RFC 5280 yn ymdrin â sut y caiff ei dilysu; nid yw unrhyw ran o'r dilysu hwnnw yn amddiffyn allwedd breifat a gopïwyd cyn y cylchdro.

Ysgrifennwch y penderfyniad mewn un man: pa storfa sy'n dal yr allwedd, pa broses a gaiff ei defnyddio, pwy all ei hailgyhoeddi a beth yw'r ôl-gyflwyno. Y paragraff hwnnw yw'r hyn y mae archwilwyr yn gofyn amdano, a dyma'r hyn sy'n goroesi newid staff.

Erthyglau cysylltiedig