Certyfikat VPN hunan-lofnod: beth y mae'n ei olygu ac i beth y mae'n ymddiried
Mae certyfikat VPN hunan-lofnod yn dal i amgryptio traffig. Yr hyn sy'n newid yw pwy y gwnaethoch chi ei gyhoeddi i ymddiried ynddo, pa storfa sy'n derbyn yr ymddiriedaeth honno, a pha wiriadau sy'n parhau.
Mae dau gred yn gwneud y rhan fwyaf o'r difrod yma: bod certyfikat VPN hunan-lofnod yn golygu nad yw'r tiwnel wedi'i amgryptio, a bod gosod beth bynnag a ofynnodd y cleient VPN amdano yn effeithio ar y VPN yn unig. Nid oes yr un ohonynt yn goroesi cyswllt â defnydd go iawn. Mae certyfikat hunan-lofnod yn disgrifio perthynas llofnod, nid barn diogelwch, ac mae cyrhaeddiad yr ymddiriedaeth a gewch yn dibynnu ar ba storfa y mae'n glanio ynddi. Rwyf wedi gweld desg gymorth yn mewnforio gwraidd darparwr i beiriant Windows i dawelu un rhybudd, ac yna'n treulio prynhawn yn esbonio pam roedd y porwr wedi rhoi'r gorau i gwyno am borth annibynnol. Mae dwy hanner y cwestiwn hwn yn perthyn gyda'i gilydd, felly triniwch nhw fel un.
Nid yw certyfikat yn storfa ymddiriedaeth
Mae'r ffeil y mae'r gweinydd yn ei chyflwyno yn cario allwedd gyhoeddus, enw pwnc, enw dyroddwr, dyddiadau dilysrwydd ac estyniadau. Hunan-lofnod yn golygu bod y pwnc a'r dyroddwr yr un endid ac mae'r llofnod yn dilysu gydag allwedd y certyfikat ei hun. Nid oes unrhyw beth yn y diffiniad hwnnw'n dweud bod y cysylltiad yn wan, ac nid oes unrhyw beth yn dweud y bydd y cleient yn ei dderbyn.
Daw derbyniad o rywle arall: ffeil CA rydych chi'n cyfeirio'r cleient ati, ôl-bys rydych chi'n ei gymharu â llaw, neu wreiddyn sydd eisoes mewn storfa y mae'r cleient yn ei darllen. Gall defnydd fod yn hollol gadarn tra byddai ei certyfikat yn methu pob prawf cyhoeddus. Bydd openssl verify yn erbyn y bwndel system yn adrodd dyroddwr anhysbys, ac mae'r adroddiad hwnnw'n gywir yn hytrach na'n fai.
Opsiwn ca OpenVPN yw'r achos cleiriaf o ymddiriedaeth a gwmpaswyd gan ap. Mae'r ffeil honno'n enwi'r angorau y bydd y cleient yn eu derbyn, a gall ddal un CA preifat neu, mewn defnydd bach, gertyfikat hunan-lofnod y gweinydd ei hun. Mae fersiwn 2.6 hefyd yn derbyn --peer-fingerprint ar gyfer pinio ôl-bys SHA-256 yn lle dosbarthu ffeil CA. Mae WireGuard yn sefyll ymhellach allan fyth: nid oes ganddo gertyfikatau o gwbl, dim ond allwedd gyhoeddus statig fesul cymar, felly nid yw'r cwestiwn hunan-lofnod yn mapio iddo.
Lle rydych chi'n gosod ymddiriedaeth sy'n penderfynu pwy sy'n ei etifeddu
Rhowch yr un certyfikat mewn tri lle a chewch dri radiws ffrwydrad gwahanol. Mae bwndel a ddarllenir yn unig gan y cleient VPN yn effeithio ar y cleient hwnnw. Mae gwraidd yn storfa'r system weithredu yn effeithio ar bob rhaglen sy'n ymgynghori â'r storfa honno. Gall porwr â'i gronfa ddata ymddiriedaeth ei hun anwybyddu'r ddau, a dyna pam y gall rhybudd oroesi mewnforiad a ymddangosai'n gweithio.
Ar Debian neu Ubuntu, mae gollwng ffeil yn /usr/local/share/ca-certificates/ a rhedeg update-ca-certificates yn newid y bwndel system-gyfan. Ar Windows, mae certutil -addstore -f Root yn ysgrifennu i storfa'r peiriant ac yn gofyn am riff canfyddiadol uchel, tra bod ychwanegu -user yn targedu storfa'r defnyddiwr cyfredol yn lle hynny; nid yw'r ddau yn gyfnewidiol. Mae Firefox yn cadw ei gronfa ddata NSS ei hun, felly efallai na fydd mewnforiad ar lefel OS byth yn ymddangos yno.
Mae cwmpas yn bwysig oherwydd yr hyn y gall awdurdod ei wneud. Gall CA sy'n dyroddi lofnodi enwau nad oes ganddo unrhyw berthynas â nhw, felly bydd unrhyw beth sy'n ymddiried yn y storfa honno yn derbyn y llofnodion hynny. Ni all deilen unigol wedi'i phinio wneud hynny; mae'n dilysu union un hunaniaeth cymar. Os mai'r nod yw gwneud un VPN i gysylltu, mae CA a gwmpaswyd gan ap neu ddalen wedi'i phinio yn ei gyrraedd, tra bod gwraidd ar draws y peiriant yn gonsesiwn lawer mwy nag sydd ei angen ar y symptom.
Rydych chi'n dal i amgryptio heb CA gyhoeddus
Mae'r ysgwyd llaw TLS yn deillio allweddi sesiwn p'un a yw certyfikat y cymar yn cadwyno at rywbeth rydych chi'n ymddiried ynddo'n barod ai peidio. Nid yw hunan-lofnod yn golygu testun plaen, ac nid yw'n golygu bod y traffig yn ddarllenadwy ar y pryd. Yr hyn y mae'n ei olygu yw nad oes gan y cleient unrhyw reswm a priori i gredu bod yr allwedd yn perthyn i'r gweinydd y gofynnodd amdano.
Yn y bwlch hwnnw y mae ymosodiadau go iawn yn byw. Bydd cleient a ffurfweddiwyd i dderbyn unrhyw gertyfikat, naill ai drwy osodiad dilysu wedi'i analluogi neu drwy fotwm ymddiried-beth-bynnag a gliciwyd unwaith ac a anghofiwyd, yn amgryptio'n llawen i bwy bynnag sy'n ateb. Mae'r rhyng-gipio'n digwydd yn y cam dilysu, cyn i ddata'r ap symud. Mae amgryptio heb wiriad hunaniaeth yn cadw arsylwr goddefol allan ac yn gwneud ychydig mwy.
Nid yw ymddiried yn y dyroddwr yn hepgor y gwiriad enw
Mae dilysu cadwyn, cyfateb enw a phwrpas certyfikat yn benderfyniadau ar wahân. Gall cadwyn fod yn ddilys tra bo'r enw'n anghywir, a gall enw gyfateb tra bo'r certyfikat wedi'i ddyroddi ar gyfer rôl wahanol. Mae RFC 5280 yn diffinio'r meysydd sy'n cario'r cyfyngiadau hynny, ac mae pa mor lym y mae cleient yn eu gorfodi yn fater fesul ap.
Mae OpenVPN yn gwneud y rhaniad yn weladwy. Mae verify-x509-name yn pinio'r pwnc disgwyliedig drwy gyfateb name, name-prefix neu subject. Mae remote-cert-tls server yn mynnu bod certyfikat y cymar yn ddefnyddiadwy fel certyfikat gweinydd, sy'n gwrthod certyfikat cleient yn unig hyd yn oed pan fo'r dyroddwr yn cael ei ymddiried. Nid oes y naill osodiad na'r llall yn cael ei ddisodli gan anfon ffeil CA.
Archwiliwch y certyfikat cyn penderfynu unrhyw beth:
openssl x509 -in server.crt -noout -subject -issuer -dates -ext subjectAltNameyn dangos pwy a'i dyroddodd, ar gyfer pa enwau, a hyd pryd.openssl verify -CAfile ca.crt server.crtyn gwirio a yw'r gadwyn rydych chi'n bwriadu ei hanfon yn dilysu'r ddalen mewn gwirionedd.openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -CAfile ca.crt -verify_return_erroryn gweithio ar gyfer pwyntiau terfyn TLS fel porth gwe; nid yw'r protocol OpenVPN ar 1194 yn ffrwd TLS plaen, felly nid yw'r prawf hwnnw'n berthnasol yno.
Mae certyfikat â dyddiad wedi dod i ben, heb subjectAltName ar gyfer yr enw rydych chi'n cysylltu ag ef, neu heb ddefnydd serverAuth yn methu waeth pa mor ofalus y gosodwyd yr angor.
Pum gwiriad cyn i chi dderbyn un
Cymharwch yr ôl-bys dros sianel nad yw'r cysylltiad rydych chi'n ceisio ei drwsio: consol, gosodwr sydd gennych yn barod, ffeil ffurfweddu wedi'i llofnodi. Mae openssl x509 -in server.crt -noout -fingerprint -sha256 ar y gweinydd a'r un gwerth yn nogfen y cleient yn ddigon i wybod eich bod yn edrych ar un gwrthrych.
Nesaf, penderfynwch beth rydych chi'n ei osod: un ddalen, neu awdurdod sy'n gallu bathu mwy. Yna penderfynwch i ble mae'n mynd, ac enwch yr apiau sy'n darllen y storfa honno. Ysgrifennwch y llwybr tynnu tra byddwch chi'n dal i'w gofio, oherwydd ymddiried-a-symud-ymlaen yw sut mae mewnforiad dros dro yn troi'n barhaol.
Yn olaf, cynlluniwch y newid. Rhaid diweddaru certyfikat neu ôl-bys wedi'i binio drwy'r un sianel ymddiriedig pan fydd y certyfikat yn cylchdroi, ac mae gan CA preifat ei gylch bywyd dyroddi a dirymu ei hun. Os yw'r allwedd breifat yn gollwng, nid yw ail-ymddiried mewn copi o'r un certyfikat yn trwsio dim; rhaid disodli'r hunaniaeth.
Os yw rhybudd yn goroesi'r pum gwiriad i gyd, y cwestiwn defnyddiol nid yw pa fotwm sy'n ei dawelu ond pa storfa y mae'r cleient yn ei darllen mewn gwirionedd ac o ble y daeth y gwraidd hwnnw. Atebwch hynny, a bydd y mewnforiad rydych chi ar fin ei wneud yn benderfyniad yn lle adwaith.