Peer moja ya zamani inalazimisha TLS 1.0: weka kikomo kwenye ubaguzi, sio mwenyeji
Kifaa kimoja kilichokwama kwenye TLS 1.0, au cheti cha zamani cha mtoa huduma, kinaweza kulazimisha kiwango cha chini dhaifu. Weka kikomo cha ubaguzi, kisha pima kile kilichojadiliwa kweli.
Kifaa kimoja cha zamani kinaonekana, kushindwa kuunganisha, na ukarabati unaoonekana wa haraka zaidi ni kudhoofisha mwenyeji mzima hadi muunganisho ufaulu. Biashara hiyo haionekani wakati huo na ni ya kudumu kivitendo, kwa sababu hakuna anayeondoa kiwango cha chini kinachofanya kazi hatimaye. Shinikizo linasababishwa na hitilafu mbili tofauti kabisa, na moja tu kati yao inahusu cipher kabisa. Panga hitilafu kwanza, kisha weka ubaguzi mahali usiweze kuenea.
Gawanya kushindwa katika mbili kabla ya kubadilisha maagizo
Mstari wa kumbukumbu ya seva kuhusu hakuna cipher ya pamoja, au kuhusu toleo la itifaki lisilotumika, unatoka kwenye kituo cha udhibiti: pande mbili hazikuweza kukubaliana jinsi ya kulinda mazungumzo yenyewe. Mstari wa mteja unaosema kwamba hakuna njia ya uthibitishaji wa cheti cha seva iliyowashwa unatoka mahali pengine kabisa, kwa sababu mteja huyo haangalii hata nani alijibu. Kubadilisha cipher ya data hakusaidii kwa kesi ya pili, na kuongeza ukaguzi wa jukumu hakusaidii kwa ile ya kwanza.
Chukua mstari wa kwanza ulioshindwa kutoka kila upande badala ya mstari wa mwisho kabla ya kukatika, kwa sababu wa mwisho kawaida ni matokeo. Kisha bainisha ni faili gani mteja alifungua kweli: wasifu ulioingizwa mara nyingi upo mara mbili chini ya majina tofauti ya kuonyesha, na kuhariri nakala ambayo hakuna anayeisoma huzalisha ukosefu wa mabadiliko unaoshawishi. Mchakato unaoendelea huhifadhi mipangilio uliyoanza nayo, kwa hivyo faili iliyohifadhiwa si faili iliyopakiwa. Amri zilizo hapa chini zinaonyesha mazungumzo ya mteja kando ya mtazamo wa seva kuhusu jaribio hilo hilo.
openvpn --config <profile>.ovpn --verb 4 2>&1 | head -n 40
journalctl -u [email protected] --since '-10 min' | grep -iE 'cipher|tls|verify'
Msikilizaji wa pili ni mahali pa uaminifu kwa kiwango dhaifu
Wakati kifaa kinasimama kwenye TLS 1.0 na kituo cha data kabla ya 2.5, seva lazima itoe kiwango cha chini cha kituo cha udhibiti na cipher ya data ambayo mteja wa zamani anaitambua. Maagizo ya akiba yapo kwa ajili ya peer huyo hasa, wakati orodha ya cipher inabakisha wateja wa kisasa kwenye seti za kisasa. Maagizo yote mawili ni ya msikilizaji na si ya mtumiaji au muunganisho, na hakuna chaguo la kila mteja linaloyapunguza baadaye. Ndiyo sababu kifaa kimoja cha zamani kwenye bandari kuu ni uamuzi kuhusu kila peer anayeshiriki bandari hiyo.
Mahali jukwaa linaporuhusu, endesha msikilizaji wa zamani kama kipande chake kwenye bandari tofauti, ruhusu bandari hiyo tu kutoka anwani ya kifaa, na uache huduma kuu kwa amani. Andika kwa nini msikilizaji wa pili upo, katika faili inayobeba usanidi wake, kwa sababu vinginevyo usafishaji wa baadaye utaisoma kama mabaki. Mgawanyiko una thamani tu ikiwa kiwango dhaifu kinaishia mahali kifaa kinapoishia.
tls-version-min 1.0
data-ciphers AES-128-GCM:AES-256-GCM:AES-256-CBC
data-ciphers-fallback AES-256-CBC
Cheti cha zamani cha mtoa huduma kinavunja nini kweli
Hitilafu ya uthibitishaji ni kiungo cha jukumu kinachokosekana: bila hicho mteja atakubali cheti chochote kinachounganishwa na CA inayoaminika, iwe kimetolewa kwa seva au la. Funga cheti na jukumu la seva kwanza, na chukulia kiungo kama hitaji badala ya kitufe cha kurekebisha. Ni wasifu ambao bado unashindwa baada ya hatua hiyo pekee ulio na tatizo la kweli la cheti.
Cheti cha zamani cha mtoa huduma ambacho ukubwa wa ufunguo au algoriti ya sahihi haikidhi tena sera chaguo-msingi ya OpenSSL ni kesi ya mabadiliko yenye mipaka ya kiwango cha usalama kwenye kituo cha udhibiti. Kupunguza kiwango hapo hakuizimi uthibitishaji, na kamwe hakupaswi kuunganishwa na CA tupu, uthibitishaji uliozimwa au jina la mwenyeji lisilokaguliwa. Weka mstari ndani ya wasifu mmoja unaouhitaji; kuhamisha usanidi wa OpenSSL uliolegezwa kwa kimataifa kungetoa ulegevu huo huo kwa kila programu kwenye mashine.
remote-cert-tls server
tls-cipher "DEFAULT:@SECLEVEL=0"
Soma thamani zilizojadiliwa, sio bango
Kwenye verbosity 4 pande zote mbili huchapisha toleo la TLS na cipher ya kituo cha udhibiti walizokubaliana, na cipher ya data ya kikao. Soma mistari hiyo badala ya bango la uanzishaji, linaloripoti mafanikio na sio masharti yake. Kisha unganisha tena mteja wa kisasa kwenye msikilizaji mkuu na uthibitisha kwamba bado anatua kwenye seti ya kisasa, kwa sababu ubaguzi uliovuja kwenye usanidi wa pamoja huonekana hapa kwanza. Thamani unazonakili huwa msingi wa mapitio yajayo.
Jaribu kifaa cha zamani peke yake: kinapaswa kuunganisha, na kinapaswa kuwa kikao pekee kwenye kumbukumbu kinachoonyesha vigezo dhaifu. Ikiwa peer ya pili pia inajadili seti ya zamani, ubaguzi ni mpana kuliko ilivyokusudiwa na mgawanyiko wa wasikilizaji haukutokea kweli. Rekodi uchunguzi wote wawili na sio hitimisho pekee.
Kila ubaguzi unahitaji mmiliki na tarehe
Ubaguzi usio na sharti la kuondolewa huwa chaguo-msingi kimya kimya, kwa hivyo weka kifaa, mmiliki, sababu na tarehe inapoondoka karibu na usanidi unaouhalalisha. Bila mstari huo kiwango dhaifu kinaishi zaidi ya maunzi yaliyokihitaji.
Kubadilisha mteja, au kuomba wasifu wa sasa kutoka kwa mtoa huduma, ni matokeo ya kulenga; ubaguzi ni ucheleweshaji na sio muundo. Kifaa kinapostaafu, ondoa msikilizaji na wasifu katika mabadiliko yale yale ili hakuna nusu inayoendelea kufanya kazi. Hakuna kati ya haya kunafanya vigezo vya zamani kuwa salama, kinazuia tu kikomo cha kifaa kimoja kuwa msingi wa kila mtu.