OpenVPN-profiili, joka toimii muualla, ilmoittaa, ettei AES-256-GCM löydy tai ettei osapuolilla ole yhteistä salakirjoitusta, ja ensimmäinen vaisto on muokata profiilia. Nämä kaksi viestiä kuvaavat eri vikoja. Toinen sanoo, ettei paikallisessa ohjelmassa ole sellaista algoritmia; toinen, että molemmilla puolilla on algoritmeja mutta ei yhteistä valintaa. Profiilin muokkaaminen ei korjaa kumpaakaan ennen kuin tiedät, kumpi sinulla on.

Lue virheen tarkka teksti ja ohjelma, joka sen tuotti.

Selvitä, kumpi virhe sinulla on

Viesti salakirjoituksesta, jota ei löydy, tulee paikallisen koneen valintojen jäsennyksestä ennen kuin yhtään pakettia lähetetään. Se tarkoittaa, ettei edessäsi oleva suoritettava tiedosto tai kirjasto, johon se linkittyy, tarjoa sitä algoritmia. Viesti yhteisen salakirjoituksen puuttumisesta saapuu myöhemmin neuvottelun aikana ja tarkoittaa, että molemmat puolet tukevat salakirjoituksia mutta eivät pääse sopuun yhdestä.

Erolla on merkitystä, koska toinen on ohjelmistoversion ongelma ja toinen kokoonpanon ongelma. Ensimmäisen ratkaisee versionumero. Toisen ratkaisee kahden luettelon vertailu.

Paikallinen ominaisuuspuute

Vanhat yhteisön koontiversiot ovat nykyisiä oletuksia vanhempia, ja työpöytäsovellus voi tuoda mukanaan oman moottorinsa, joka eroaa viereen asennetusta komentorivipaketista. Tee tarkistukset siltä suoritettavalta tiedostolta, joka todella käynnisti yhteyden, ja valitse sitten tuettu koontiversio sen sijaan, että opettaisit vanhalle ohjelmalle uuden algoritmin.

openvpn --version
openvpn --show-ciphers | grep -i gcm
openvpn --show-tls | head -5

Jos AES-256-GCM ei näy luettelossa, mikään profiilirivi ei lisää sitä. Ratkaisu on uudempi asiakasohjelma tai toinen koontiversio, ja vanhemman osapuolen rajoituksista tulee erillinen suunnittelukysymys.

OpenVPN 3 -pohjaisissa asiakkaissa moottori ja hyväksytyt direktiivit eroavat yhteisön 2.x-linjasta, joten sama profiiliteksti voi epäonnistua syistä, joilla ei ole mitään tekemistä salakirjoitusluettelon kanssa.

Neuvottelupuute

Kun molemmat osapuolet luettelevat algoritmin, jäljelle jää kysymys siitä, mitä luetteloa kumpikin tarjoaa. Yhteisön OpenVPN nimesi neuvotteludirektiivin uudelleen: ncp-ciphers versiossa 2.4 muuttui data-ciphersiksi versiossa 2.5, ja versiossa 2.6 vanhempi cipher-rivi palvelee lähinnä yhteensopivuutta ja varakeinoa eikä neuvotellun joukon määrittelyä.

Siksi vain vanhan cipher-rivin muuttaminen voi jättää neuvotteluluettelon ennalleen. Vanha rivi on yhä tärkeä varakeinolle, ja se on erillinen työ. Kahden sekoittaminen tuottaa muutoksia, jotka eivät muuta mitään näkyvää.

openvpn --version | head -2
grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn

Vertaa molempien päiden luetteloita ja palvelimen hylkäysviestiä. Jos leikkaus on tyhjä, kohdista luettelot tarkoituksella sen sijaan, että kopioisit arvon toista versiota varten kirjoitetusta artikkelista. Liian väljä luettelo heikentää hiljaa jokaista yhteyttä. Liian kapea luettelo sulkee pois sen osapuolen, jonka halusit pitää.

Pidä yhteensopivuus selvänä

Varakeino yhtä vanhaa osapuolta varten on päätös, jolla on hinta: koko käyttöönotto hyväksyy heikomman vaihtoehdon, jotta yksi laite voi yhdistää. Kirjoita se sellaisena ja rajaa se osapuoleen, joka sitä tarvitsee.

Kaksi ehtoa ratkaisee tuloksen. Jos virhe on paikallinen, vaihda koontiversio. Jos virhe on neuvottelussa, kohdista luettelot molemmissa päissä ja kirjaa, mitä versioita tuet.

Raportoi sitten tarkka virhe ja liitä mukaan version ja ominaisuuksien tuloste. Tämä pari erottaa puuttuvan algoritmin erimielisyydestä ja pysäyttää seuraavan spekulatiivisten muutosten kierroksen ennen sen alkua.

Aiheeseen liittyvät artikkelit