Dvije osobe mogu pogledati isto postavljanje SSTP i doći do suprotnih zaključaka. Jedna čita dokumentaciju proizvoda, vidi slova SSL i pretpostavlja da tunel pokreće protokol povučen prije godina. Druga pokazuje na moderno rukovanje i zaključuje da je pitanje zatvoreno. Oboje raspravljaju iz oznaka, a ne iz dogovorene verzije, i samo je jedno od toga dokaz. Usporedba koju vrijedi napraviti je između onoga što ime obećava i onoga što usluga doista odabire.

Dva odgovora na isto pitanje

Argument oznakom lako je izreći: SSTP se opisuje kao sigurni protokol tuneliranja preko utičnica, povijesno ime kaže SSL, dakle veza mora biti SSL 3.0. Drži se jer ime doista dolazi iz te linije i jer većina onih koji to ponavljaju nikada nije pogledala rukovanje. Drži se i zato što zaključak zvuči oprezno, kao da je pretpostavka najgoreg siguran izbor. Pretpostavljati najgore i mjeriti stvarnu verziju dvije su različite djelatnosti i samo jedna od njih nešto mijenja.

Argument dokazom postavlja uže pitanje. O kojoj su se verziji protokola ovaj klijent i ovaj poslužitelj složili, na ovoj krajnjoj točki, u ovom trenutku? Odgovor dolazi od usluge koja završava TLS, a ne s marketinške stranice ili iz preglednika koji je stigao na slično nazvano mjesto.

Dva se argumenta razlikuju po tome što mogu dokazati. Oznaka ne može razlikovati staro postavljanje od zakrpanoga, a rukovanje ne može reći što radi nepovezana usluga na istom hostu. Rabite drugo i prestanite rabiti prvo.

Pročitajte verziju koju usluga doista odabire

Počnite imenovanjem komponenti: implementacija klijenta, implementacija poslužitelja, krajnja točka TLS i sve između što završava i ponovno uspostavlja TLS. Uravnoteživač opterećenja koji završava TLS i s pozadinom govori obični HTTP mijenja to čiju politiku trebate čitati.

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null> | grep -E 'Protocol|Cipher'
Get-WinEvent -LogName System -ProviderName Schannel -MaxEvents 20

Zapišite krajnju točku i vrijeme uz rezultat, jer kasnija izmjena politike čini nedatirano opažanje beskorisnim. Ponovite provjeru s klijenta na istom mrežnom putu kao korisnici do kojih vam je stalo, jer presretački uređaj može završiti TLS vlastitim postavkama. Ako se dva stajališta ne slažu, pronašli ste komponentu koja je važna. Ako se slažu, imate dokaz umjesto slogana.

Odvojite polje zapisa od pregovaranja

Staromodan broj verzije u jednom polju nije ista činjenica kao sesija SSL 3.0. RFC 7568 promatra verziju sloja zapisa i dogovoreni protokol kao odvojena pitanja i upravo iz tog razlikovanja dolaze samouvjereni pogrešni odgovori. Pročitajte dogovoreni protokol, zatim šifru i tek onda donesite zaključak o sesiji.

Isti je dokument nedvosmislen o samom protokolu: SSL 3.0 ne smije se rabiti, a pregovaranje ili vraćanje na njega zabranjeni su. Razlog je slomljena konstrukcija CBC koju je iskoristio napad POODLE, a to je svojstvo protokola, ne konfiguracija jedne aplikacije.

Zato „ovo opterećenje vjerojatno je teško iskoristiti“ nije argument za zadržavanje uključenog SSL 3.0. Zahtjev je ukloniti protokol, a ne pobijediti raspravu o jednoj demonstraciji.

Povucite SSL 3.0 s politikom koju možete braniti

U sustavu Windows postavke protokola Schannel nalaze se pod ključem Protocols i čitaju se odvojeno za ulogu klijenta i poslužitelja, zato promjena koja popravlja jedan smjer može drugi ostaviti netaknutim. Trenutne postavke i njihove zahtjeve za ponovnim pokretanjem dokumentira Microsoft, a biblioteka TLS treće strane na istom hostu posve ih zanemaruje.

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server'
Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols'

Promijenite politiku podržanim putem administracije, potvrdite da vlasnička usluga ponovno preuzima konfiguraciju i zadržite odobren put povratka. Lijepljenje široke skripte registra iz drugog okruženja način je na koji popravak jedne usluge postaje prekid rada za svakog TLS klijenta na stroju. Opseg ponovnog pokretanja ovdje je važan: postavka koja izgleda primijenjena može još biti u memoriji usluge koja je nije ponovno učitala.

Partner koji još zahtijeva zastarjelu verziju treba ažuriranje ili plan migracije. Nedokumentirana iznimka koja tiho vraća stari protokol nije strategija kompatibilnosti i neće preživjeti sljedeću reviziju.

Prihvatite promjenu s novim vezama

Testirajte novim sesijama nakon promjene politike, jer veza uspostavljena prije promjene ništa ne dokazuje o konfiguraciji koja sada vrijedi. Potvrdite da dopušteni protokol uspijeva, a zabranjeni ne uspijeva u ovlaštenom postupku provjere, i zatim ostavite identitet certifikata i provjere povjerenja točno onakvima kakve su bile.

Sjetite se što rukovanje ne pokriva. SSTP prenosi PPP autentifikaciju nakon sloja TLS, pa moderna verzija protokola ne govori ništa o tome koji je korisnik ovlašten ili do kojih resursa sesija može doći. To su odvojene kontrole s odvojenim dokazima.

Zapišite rezultat kao usluga, pozadina, dopuštena politika i opažena verzija. Takav zapis točno odgovara na sigurnosno pitanje, što ni argument oznakom ni argument neugodnošću nikada ne čine.

Povezani članci