Váš VPN klíč může číst kdokoli: co opravit
Soukromý klíč by měl být čitelný jen službou, která ho používá, a nikým jiným. Opravte režim, najděte kopie a klíč vyměňte, pokud byl soubor vystaven.
Prvním signálem je obvykle varování, ne výpadek. Klient odmítne načíst klíč, protože soubor je čitelný pro skupinu nebo pro všechny, nebo bezpečnostní kontrola najde client.key s režimem 644 v adresáři profilu, kde leží i exportované balíčky. Nic zatím neselhalo, a právě proto se varování přehlíží. Klíč funguje, tunel se naváže a soubor je čitelný pro každý účet na stroji.
Příznakem je varování o oprávněních, ne výpadek
V systému typu Unix má být soukromý klíč čitelný jen účtem, který službu spouští. Režim 600 se správným vlastníkem je obvyklé uspořádání. Režim 644 znamená, že klíč může zkopírovat každý místní uživatel, a na sdíleném build hostu je to skutečné publikum.
Klienti, kteří to kontrolují, vám dělají laskavost. Ti, kdo nekontrolují, nejsou důkazem, že je soubor v bezpečí, a úspěšné připojení nic neříká o tom, kdo další může číst materiál, který ho umožnil. Berte varování jako celý nález. Je přesné a přišlo dřív, než soubor někdo zkopíroval.
Sladěte režim s identitou služby
Přístup jen pro vlastníka se hodí ke klíči, který používá právě tento vlastník. Služba s úmyslně sdílenou skupinou může potřebovat jiné řízené uspořádání, třeba čtení skupinou u klíče vlastněného servisním účtem. Slepé nastavení jednoho číselného režimu na všechny soubory rozbíjí podporované klienty a chmod -R 777 není řešením ničeho.
Před jakoukoli změnou zkontrolujte vlastníka a servisní účet. Veřejné CA certifikáty a soukromé klíče identity mají různé požadavky na utajení, i když leží ve stejném adresáři, takže rekurzivní režim na celou složku s nimi zachází jako se stejným objektem.
ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn
Na jiných platformách použijte dokumentované úložiště klíčů nebo model řízení přístupu, místo abyste překládali unixové režimy na odhad. Název souboru končící na private je označení, ne vynucovací mechanismus.
Najděte kopie, které režim nepokrývá
Editory, záložní archivy, exportované profily a dočasné balíčky mohou každý uchovat stejnou identitu. Chraňte tyto kopie podle jejich obsahu, protože utažení původního souboru nic neudělá pro ten v loňském taru.
Přístupová fráze na souboru klíče je užitečná pro uložený materiál a neospravedlňuje zveřejnění zašifrovaného souboru vedle jeho hesla. Oprávnění chrání aktuální objekt souborového systému; nic neříkají o pověření už zkopírovaném jinam.
Než práci prohlásíte za hotovou, kopie najděte: grep -rl řádek hlavičky klíče v pravděpodobných adresářích a pohled na vyloučení záloh. Výsledek bývá zajímavější než soubor, se kterým jste začali.
Po opravě ověřte a vyměňte
Otestujte, že zamýšlená služba se stále autentizuje, a pak potvrďte, že žádný zbytečný účet nezískal přístup. Omezte diagnostický výstup na metadata, protože vytištění klíče není k prokázání čitelnosti souboru potřeba a materiál se dostane do logu.
Pokud byl klíč vystaven, utáhněte režim, potom vyměňte pověření a zneplatněte staré. Specifikace POSIX chmod vysvětluje, co znamená každý bit režimu, což se hodí vědět dřív, než příští kontrola bude chtít obhájit zvolené číslo.