Mae uwchraddio gwrandäwr i TLS 1.3 yn newid yr hyn y gall arsylwr ei ddarllen, ond nid cymaint ag y mae rhif y fersiwn yn ei awgrymu. Mae'r ClientHello yn teithio o hyd cyn i unrhyw amgryptiad gael ei drafod, ac mewn cysylltiad cyffredin mae'r enw gweinydd y gofynnwyd amdano yn sefyll yno mewn testun clir. Encrypted Client Hello yw'r mecanwaith sy'n ei guddio, ac mae'n osod ar wahân gyda'i ragofynion ei hun. Rhedewch y pedwar cam hyn cyn ysgrifennu polisi sy'n tybio'r naill ymddygiad neu'r llall.

Beth mae'r ysgwyd llaw yn ei ddatgelu mewn gwirionedd

Mae TLS 1.3 yn amgryptio tystysgrif y gweinydd a'r rhan fwyaf o'r ysgwyd llaw sy'n dilyn y ServerHello. Mae popeth y mae'r cleient yn ei anfon gyntaf y tu allan i'r amddiffyniad hwnnw, oherwydd nad yw'r allweddi yn bodoli eto. Mae'r dynodiad enw gweinydd yn rhan o'r hediad cyntaf hwnnw, a dyna pam y gall arsylwr goddefol ei ddarllen o hyd heb dorri dim.

Mae'r manyleb ECH, RFC 9849, yn newid hyn drwy amgryptio ClientHello mewnol ar gyfer gweinydd sy'n cydweithredu. Mae'r ysgwyd llaw allanol yn parhau ac yn cario enw cyhoeddus y gall y rhwydwaith ei weld, felly mae angen hunaniaeth allanol o hyd ar y gosodiad sy'n gwneud synnwyr i gyfryngwyr. Yr enw allanol hwnnw yw'r rhan y mae pobl yn ei cholli pan fyddant yn disgwyl i'r cysylltiad ddod yn anhysbys. Enw clawr ydyw, nid enw cudd, ac mae'n rhaid iddo ddatrys a dilysu fel unrhyw un arall.

Nid oes dim o hyn yn cuddio'r llwybr danfon. Mae cyfeiriadau ffynhonnell a chyrchfan, porthladdoedd, meintiau pecynnau ac amseriadau yn parhau i fod yn arsylladwy, ac maent yn aml yn dweud mwy am pwy sy'n siarad na'r enw. Mae datrys enwau a pherthnasoedd ar lefel cymhwysiad yn haen arall eto, pob un â'i welededd ei hun.

Darllenwch ClientHello yn hytrach na thybio

Nid yw'r fersiwn yn y ServerHello yn dweud wrthych beth a anfonodd y cleient. Edrychwch ar yr hediad cyntaf yn uniongyrchol, o safle sy'n cynrychioli'r arsylwr sy'n bwysig i chi.

openssl s_client -connect app.plant.example:443 -servername app.plant.example -tls1_3 </dev/null> 2>/dev/null | head -20
sudo tcpdump -ni eth0 -c 40 'tcp port 443' -w /tmp/tls.pcap
tshark -r /tmp/tls.pcap -Y 'tls.handshake.extensions_server_name' -T fields -e tls.handshake.extensions_server_name

Mae'r gorchymyn cyntaf yn perfformio ysgwyd llaw ac yn dangos y paramedrau a drafodwyd, gan gynnwys fersiwn y protocol a'r enw y gofynnoch amdano. Mae'r ail yn dal pecynnau cyntaf cysylltiad go iawn, ac mae'r trydydd yn echdynnu'r maes SNI o'r dal hwnnw. Os yw'r maes wedi'i lenwi, gall yr arsylwr a efelychwyd gennych ei ddarllen.

Delwch ar wahân ar ochr y cleient ac ar y llwybr pan nad yw'r ddau yn cytuno, oherwydd gall dal lleol ddangos enw y mae middlebox yn ei ailysgrifennu neu'n ei ollwng yn ddiweddarach. Delwch hefyd o westeiwr nad yw'n terfynu TLS ei hun, gan fod dirprwy sy'n terfynu yn gweld testun clir yn ôl ei gynllun ac nid yw'n profi dim am yr hyn y mae'r rhwydwaith yn ei weld.

Triniwch estyniad ECH fel haeriad, nid fel prawf

Nid yw gweld estyniad ECH mewn ClientHello yn golygu i'r cysylltiad ddefnyddio ECH. Mae cleientiaid yn anfon GREASE ECH pan nad oes ganddynt gyfluniad defnyddiadwy, yn union fel bod eu hysgwyd llaw yn edrych yn unffurf. Mae'r estyniad yn bresennol, mae'r hello mewnol yn abwyd, ac mae'r enw gwirioneddol yn dal yn ddarllenadwy.

dig +short HTTPS app.plant.example
openssl s_client -connect app.plant.example:443 -tls1_3 -status </dev/null> 2>/dev/null | grep -i -E 'ech|status_request'

Mae'r gorchymyn cyntaf yn dangos a yw'r tarddiad yn cyhoeddi cofnod adnodd HTTPS â pharamedr cyfluniad ECH, a dyna sut y mae cleientiaid yn dysgu'r allwedd. Mae'r ail yn chwilio am wybodaeth statws yr ysgwyd llaw, er mai neges lwyddiant cleient yw'r prawf cryfach. Derbyniad yw'r peth sy'n cyfrif: ni all gweinydd nad yw'n dal yr allwedd gyfatebol ddadgryptio'r hello mewnol, ac mae'r cysylltiad yn cilio'n ôl.

Gwiriwch y cleient hefyd, gan fod cymorth porwyr a chyfluniad yn amrywio yn ôl fersiwn a phlatfform. Mae polisi wedi'i adeiladu ar „mae porwyr modern yn defnyddio ECH“ yn ddyfaliad am fflyd, nid yn ffaith am eich fflyd. Rhestroch y fersiynau sy'n cysylltu mewn gwirionedd, yna profwch un o bob un. Efallai na fydd yr un dudalen sy'n gweithio o borwr bwrdd gwaith cyfredol yn cuddio dim rhag cleient hŷn ar yr un rhwydwaith.

Ysgrifennwch gwmpas yr arsylwr yn y polisi

Nodwch ble mae'r arsylwr yn eistedd a beth sy'n weladwy ar y pwynt hwnnw cyn penderfynu ar beth y gall rheolaeth ddibynnu. Mae cysylltiad porwr â gwefan, cludiant VPN allanol a dirprwy sy'n terfynu TLS yn datgelu set wahanol o ffeithiau bob un, ac anaml y mae rheol a ysgrifennwyd ar gyfer un safle yn trosglwyddo'n lân i un arall.

Os yw rheolaeth yn dibynnu ar ddarllen SNI, profwch sut mae'r cleientiaid a osodwyd yn ymddwyn pan fydd ECH ar gael a phan nad yw. Yna cofnodwch y canlyniad cydnawsedd, oherwydd mae hidlydd sy'n stopio cyfateb yn dawel yn waeth na'r un na osodwyd erioed.

Yn olaf, cadwch yr ansicrwydd yn y cofnod. Mae disodli hen haeriad cyffredinol ag un mwy newydd yn gadael yr un bwlch o dan enw protocol gwahanol, a bydd y nesaf adolygwr yn credu hynny yr un mor gadarn.

Erthyglau cysylltiedig