Вашиот VPN клуч е читлив за сите: што да исправите
Приватен клуч треба да биде читлив само за услугата што го користи и за никого друг. Исправете го режимот, пронајдете ги копиите и заменете го клучот ако датотеката била изложена.
Првиот знак обично е предупредување, а не дефект. Клиент одбива да вчита клуч зашто датотеката е читлива за групата или за сите, или безбедносна проверка наоѓа client.key со режим 644 во папка на профил во која има и извезени пакети. Ништо уште не е расипано, и токму затоа предупредувањето се игнорира. Клучот работи, тунелот се крева, а датотеката е читлива за секоја сметка на машината.
Симптомот е предупредување за дозволи, а не прекин
На Unix-сличен систем приватен клуч треба да биде читлив само за сметката што ја извршува услугата. Режимот 600 со точниот сопственик е вообичаениот распоред. Режимот 644 значи дека секој локален корисник може да го копира клучот, а на заеднички build хост тоа е вистинска публика.
Клиентите што го проверуваат ова ви прават услуга. Оние што не проверуваат не се доказ дека датотеката е безбедна, а успешна врска не кажува ништо за тоа кој друг може да го чита материјалот што ја овозможил. Третирајте го предупредувањето како целиот наод. Тоа е точно и дојде пред некој да ја копира датотеката.
Усогласете го режимот со идентитетот на услугата
Пристапот само за сопственикот одговара на клуч што го користи тој сопственик. Услуга со намерно заедничка група може да бара друг контролиран распоред, како читање од групата на клуч што го поседува сервисна сметка. Слепото поставување на еден броен режим за сите датотеки ги крши поддржаните клиенти, а chmod -R 777 не е решение за ништо.
Проверете го сопственикот и сервисната сметка пред да промените нешто. Јавните CA сертификати и приватните клучеви за идентитет имаат различни барања за тајност дури и кога се во иста папка, затоа рекурзивниот режим на целата папка ги третира двете како ист објект.
ls -l /etc/openvpn/client/
stat -c '%U %G %a %n' /etc/openvpn/client/*.key
id openvpn
На други платформи користете го документираното складиште за клучеви или моделот за контрола на пристап, наместо да преведувате Unix режими во претпоставка. Име на датотека што завршува на private е ознака, а не механизам за спроведување.
Најдете ги копиите што режимот не ги покрива
Уредници, архиви за резервни копии, извезени профили и привремени пакети можат секој да го задржат истиот идентитет. Заштитете ги тие копии според нивната содржина, зашто затегнувањето на оригиналната датотека не прави ништо за онаа во архивата од минатиот месец.
Лозинка на датотека со клуч е корисна за зачуван материјал и не оправдува објавување на шифрираната датотека покрај нејзината лозинка. Дозволите го штитат тековниот објект на датотечниот систем; тие не кажуваат ништо за акредитив веќе копиран на друго место.
Барајте ги копиите пред да ја прогласите работата завршена: grep -rl редот на заглавието на клучот во веројатните папки и поглед на исклучоците за резервни копии. Резултатот обично е поинтересен од датотеката со која почнавте.
По исправката, проверете и заменете
Тестирајте дека предвидената услуга уште се автентификува, потоа потврдете дека ниту една непотребна сметка не добила пристап. Ограничете го дијагностичкиот излез на метаподатоци, зашто печатењето на клучот не е потребно за да се докаже дека датотеката е читлива и го става материјалот во дневник.
Ако клучот бил изложен, затегнете го режимот, потоа заменете го акредитивот и откажете го стариот. Спецификацијата POSIX chmod објаснува што значи секој бит од режимот, што вреди да се знае пред следната проверка да побара да го оправдате избраниот број.