Uw VPN-sleutel is voor iedereen leesbaar: wat u moet herstellen
Een privésleutel hoort alleen leesbaar te zijn voor de dienst die hem gebruikt, en voor niemand anders. Herstel de modus, vind de kopieën en vervang de sleutel als het bestand is blootgesteld.
Het eerste teken is meestal een waarschuwing, geen storing. Een client weigert een sleutel te laden omdat het bestand voor de groep of voor iedereen leesbaar is, of een beveiligingsaudit vindt client.key met modus 644 in een profielmap die ook geëxporteerde bundels bevat. Er is nog niets misgegaan, en juist daarom wordt de waarschuwing genegeerd. De sleutel werkt, de tunnel komt op, en het bestand is leesbaar voor elk account op de machine.
Het symptoom is een rechtenwaarschuwing, geen uitval
Op een Unix-achtig systeem hoort een privésleutel alleen leesbaar te zijn voor het account dat de dienst uitvoert. Modus 600 met de juiste eigenaar is de gebruikelijke regeling. Modus 644 betekent dat elke lokale gebruiker de sleutel kan kopiëren, en op een gedeelde buildhost is dat een echt publiek.
Clients die dit controleren doen u een plezier. Degenen die het niet doen zijn geen bewijs dat het bestand veilig is, en een geslaagde verbinding zegt niets over wie anders het materiaal kan lezen dat haar mogelijk maakte. Behandel de waarschuwing als de hele bevinding. Hij is juist, en hij kwam voordat iemand het bestand kopieerde.
Pas de modus aan op de identiteit van de dienst
Toegang alleen voor de eigenaar past bij een sleutel die die eigenaar gebruikt. Een dienst met een bewust gedeelde groep kan een andere beheerste regeling nodig hebben, zoals groepslezen op een sleutel van een dienstaccount. Alle bestanden blind op één numerieke modus zetten breekt ondersteunde clients, en chmod -R 777 is voor niets een oplossing.
Controleer de eigenaar en het dienstaccount voordat u iets wijzigt. Openbare CA-certificaten en privé-identiteitssleutels hebben verschillende geheimhoudingseisen, zelfs als ze in dezelfde map staan, dus een recursieve modus op de hele map behandelt beide als hetzelfde object.
ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn
Gebruik op andere platforms de gedocumenteerde sleutelopslag of het toegangscontrolemodel in plaats van Unix-modi in een gok te vertalen. Een bestandsnaam die op private eindigt is een label, geen handhavingsmechanisme.
Vind de kopieën die de modus niet dekt
Editors, back-uparchieven, geëxporteerde profielen en tijdelijke bundels kunnen elk dezelfde identiteit bewaren. Bescherm die kopieën op basis van hun inhoud, want het aanscherpen van het originele bestand doet niets voor die in de tar van vorige maand.
Een wachtwoordzin op een sleutelbestand is nuttig voor opgeslagen materiaal en rechtvaardigt niet dat het versleutelde bestand naast het wachtwoord wordt gepubliceerd. Rechten beschermen het huidige bestandssysteemobject; ze zeggen niets over inloggegevens die al elders zijn gekopieerd.
Zoek de kopieën voordat u het werk als klaar beschouwt: grep -rl de kopregel van de sleutel in waarschijnlijke mappen, en een blik op back-upuitsluitingen. Het resultaat is meestal interessanter dan het bestand waarmee u begon.
Na de correctie: verifieer en vervang
Test dat de bedoelde dienst nog steeds authenticeert, en bevestig dan dat geen onnodig account toegang heeft gekregen. Beperk diagnostische uitvoer tot metadata, want het afdrukken van de sleutel is niet nodig om te bewijzen dat het bestand leesbaar is en het zet het materiaal in een logboek.
Als de sleutel is blootgesteld, scherp de modus aan en vervang dan de inloggegevens en trek de oude in. De POSIX chmod-specificatie legt uit wat elke modusbit betekent, wat de moeite waard is om te weten voordat de volgende audit u vraagt het gekozen getal te rechtvaardigen.