Iemand meldt dat de VPN-sleutel openbaar is, en die zin verbergt drie totaal verschillende situaties. Het kan een CA-certificaat zijn dat elke client hoort te hebben, een privé-identiteitssleutel die nooit één machine had mogen verlaten, of een gedeeld geheim van het besturingskanaal dat beide kanten moeten bewaren. De reparatie, de urgentie en de omvang van de schade verschillen per geval, dus de eerste taak is classificatie en niet actie. Wie de categorie verkeerd bepaalt, verdoet elke volgende stap.

Begin bij de richtlijn, niet bij de bestandsnaam

Lees de actieve configuratie en zoek uit welke richtlijn naar het materiaal wijst. De TLS-opties van OpenVPN gebruiken ca voor vertrouwd certificaatmateriaal, cert voor het certificaat van de lokale peer en key voor de bijbehorende privésleutel.

Bestandsnamen bewijzen niets. Een bestand met de naam key.pem kan een certificaat bevatten, en een ingebed blok in het profiel kan precies hetzelfde object bevatten als een apart bestand op schijf. Open het bestand en kijk naar de kop in plaats van de naam te vertrouwen. Die ene controle haalt het grootste deel van de onduidelijkheid uit het rapport.

Als het profiel een PKCS#12-bundel is, pak die dan uit op een gecontroleerde plek om te zien wat er werkelijk in zit. Eén bundel kan een certificaat, de keten en een privésleutel bevatten, wat betekent dat een lek van de bundel een lek van alle drie is.

Schrijf de classificatie op voordat iemand een bestand wijzigt: object, richtlijn, welke peers het hebben en wie het kan lezen. Van die zin hangt de rest van het antwoord af.

Een CA-certificaat is bedoeld om gedeeld te worden

Een openbaar CA-certificaat is vertrouwensmateriaal. Clients hebben het nodig om de server te verifiëren, en het verspreiden ervan is het normale geval en geen incident. Het publiceren ervan publiceert niet de privé-ondertekeningssleutel van de CA, en juist dat object zou een aanvaller in staat stellen nieuwe identiteiten te maken.

Dat onderscheid verdient een expliciete vermelding in het ticket, omdat de twee constant door elkaar worden gehaald. De vraag die beantwoord moet worden is of het gelekt bestand het certificaat of de ondertekeningssleutel is, en een snelle blik op de inhoud beslist dat. Een certificaat bevat een openbare sleutel en een handtekening; de ondertekeningssleutel komt er helemaal niet in voor.

Verspreiding verdient toch zorg. Clients horen het certificaat via het goedgekeurde pad voor profiellevering te krijgen, niet van een plaksite, en een certificaat dat via een onbetrouwbare route aankomt kan onderweg worden vervangen.

Een peersleutel en een tls-auth-geheim zijn niet

De privésleutel van een peer is identiteitsmateriaal. Zodra die is gekopieerd, kan de server het bedoelde apparaat niet meer onderscheiden van iedereen die de kopie heeft, omdat exclusief bezit de eigenschap was die werd aangetoond. Doorgaan met autorisatie en vervanging zijn beslissingen van de VPN-eigenaar, niet van degene die het bestand vond.

Een tls-auth-geheim is een derde ding. Het voegt HMAC-authenticatie toe rond pakketten van het besturingskanaal, zodat onjuist geauthenticeerde pakketten worden weggegooid vóór een TLS-uitwisseling, en het is niet de privésleutel van de peer en ook niet de sleutel die applicatiegegevens versleutelt.

Als dat gedeelde geheim openbaar is, is de barrière die het bood weg voor iedereen die het heeft. Daaruit volgt niet dat elke houder de certificaat- en gebruikerscontroles erachter doorstaat, en daarom is de classificatie belangrijker dan het alarmniveau. Zeg welke barrière is gevallen, en zeg welke blijven.

Repareer de rol die lekte, niet een buurrol

Een gedeeld geheim kan niet weer privé worden gemaakt door het bestand te hernoemen of de downloadlink te verbergen. Vervangen betekent een nieuwe waarde genereren en die in een gecoördineerde wijziging naar elke peer verspreiden, en alleen één kant vervangen breekt de afspraak voor iedereen die de oude waarde nog heeft.

Als een peer-identiteit is blootgelegd, gebruik dan het intrekkings- en herregistratieproces van de operator voor die identiteit. Het wachtwoord van een niet-gerelateerd account wijzigen maakt een gekopieerd certificaat niet ongeldig, en het vervangen van het tls-auth-bestand evenmin.

Bevestig wat de uitgerolde server werkelijk afdwingt voordat je op iets daarvan vertrouwt. Een intrekkingslijst die niet wordt vernieuwd, of een rolcontrole die tijdens een storing is uitgeschakeld, verandert het antwoord volledig. Lees de draaiende configuratie en niet de kopie in de repository.

Beoordeel eerder verkeer op zijn eigen voorwaarden

Een blootgelegd bestand zegt op zichzelf niet of eerder opgevangen sessies kunnen worden ontsleuteld. Dat hangt af van de sleutelopzet, het blootgelegde materiaal en welke gegevens er bestaan, en zowel ‘al het verkeer is verloren’ als ‘er is niets gebeurd’ zijn gissingen zonder die feiten.

Plaats geen tweede kopie van de inloggegevens terwijl je vraagt in welke categorie ze horen. Deel in plaats daarvan richtlijnnamen en niet-geheime metadata via het goedgekeurde supportpad.

De bruikbare conclusie noemt het object, zijn rol, de verloren bescherming en de vereiste gecoördineerde actie. Alles wat korter is, is een kop en geen beoordeling.

Gerelateerde artikelen