Крыніца APT для VPN: што яна дае і як яе абмежаваць
Крыніца APT для VPN — гэта пастаянны дазвол, а не спампоўка. Абмяжуйце ключ гэтай крыніцай, прачытайце транзакцыю і запішыце крок выдалення, перш чым дадаваць яе.
Спампаваць кліент VPN — гэта аднаразовае рашэнне; дадаць яго рэпазіторый APT — не. Другое паведамляе мэнэджару пакетаў, адкуль могуць паходзіць будучыя праграмы, а гэта пастаянная перадача паўнамоцтваў, а не спампоўка. Гэта можа быць правільнай дамоўленасцю, калі пастаўшчык належна ўтрымлівае рэпазіторый. Тым не менш яно вартае свядомага рашэння, а большасць інструкцый па ўсталяванні гэта апускаюць.
Подпіс пацвярджае архіў, а не яго код
APT правярае падпісаныя метаданыя рэпазіторыя, а затым давярае кантрольным сумам унутры гэтых метаданых для пакетаў, якія ён атрымлівае. Гэта даказвае, што архіў адпавядае таму, што апублікаваў уладальнік ключа, і нічога не кажа пра код унутры яго. Правільна падпісаны пакет можа ўсё яшчэ несці небяспечныя скрыпты суправаджальніка, і гэтыя скрыпты выконваюцца ад імя root падчас усталявання пакета. Дапаможнік apt-secure праводзіць менавіта гэтую мяжу паміж аўтэнтыфікацыяй архіва і аглядам праграмнага забеспячэння.
Такім чынам, карыснае пытанне не ў тым, ці правяраецца подпіс, бо зламаны подпіс і так спыняе ўсталяванне. Яно ў тым, чыяму подпісу вы вырашаеце давяраць з гэтага моманту. Украдзены ключ подпісу горш за ўкрадзены пакет, бо зламыснік працягвае ствараць сапраўдныя метаданыя яшчэ доўга пасля першага дрэннага выпуску. Ратацыя — адзіны рамонт, і яна залежыць ад таго, ці апублікуе пастаўшчык новы ключ праз канал, які вы можаце праверыць самастойна.
Менавіта таму ідэнтычнасць ключа заслугоўвае не меншай увагі, чым URL рэпазіторыя. Ключ, узяты з адраса ў старым адказе на форуме, не сведчыць нічога пра выдаўца, а HTTPS абараняе перадачу да таго, хто адказаў па тэлефоне. Бяспека перадачы і ідэнтычнасць выдаўца — розныя пытанні, і толькі першае вырашаецца сертыфікатам.
Абмяжуйце ключ крыніцай, а не сістэмай
Сучасны APT прымае спасылку Signed-By, спецыфічную для крыніцы. Ключ, якім кіруе аператар, можа жыць у /etc/apt/keyrings/, і запіс крыніцы называе ключ, які можа аўтэнтыфікаваць гэты архіў. Гэта вузей, чым кінуць той жа ключ у глабальна давераны набор, дзе ён можа ручацца за крыніцы, якія вы ніколі не хацелі дазваляць. Ідзіце за ўсталяванай версіяй APT і бягучымі інструкцыямі пастаўшчыка, а не змешвайце фрагменты з розных пакаленняў дапаможнікаў.
curl -fsSL https://repo.example.com/vpn-key.gpg -o /etc/apt/keyrings/vpn.gpg
echo "deb [signed-by=/etc/apt/keyrings/vpn.gpg] https://repo.example.com/debian stable main" > /etc/apt/sources.list.d/vpn.listНіколі не выпраўляйце збой подпісу адключэннем праверкі або пазначэннем невядомага архіва як даверанага. Гэта мяняе бачную памылку на нябачную, а нябачная трывае, пакуль хтосьці не праверыць спіс крыніц. Калі ключ не супадае, правільнае выпраўленне — знайсці патрэбны ключ, а не прыбраць праверку.
Атрымайце звесткі пра рэпазіторый і ідэнтычнасць ключа ў праекта або ў кіраванага адміністратара. Ключ, скапіяваны з паведамлення ў блогу, — гэта заява пра аўтарства, а не доказ яго. Калі пастаўшчык публікуе канал ратацыі, запішыце яго адначасова з ключом, бо менавіта гэты канал робіць магчымай наступную ратацыю.
Замацаванне крыніцы — не спіс дазволеных пакетаў
Абмежаванне ключа адной крыніцай абмяжоўвае тое, які архіў ён можа аўтэнтыфікаваць, а не тое, якія пакеты гэты архіў можа публікаваць. Рэпазіторый можа паставіць значна больш за патрэбны вам кліент VPN, і менавіта выбар кандыдатаў і прыярытэты APT вырашаюць, якая прыдатная версія пераможа. Праглядзіце прапанаваную транзакцыю перад пацверджаннем, уключаючы спіс залежнасцей, бо залежнасці прыходзяць з таго ж архіва. Ахоп ключа не можа выразіць ’толькі гэты пакет’.
Калі патрэбны мацнейшы кантроль, выразіце яго як палітыку адносна імёнаў або версій пакетаў і трымайце гэтую палітыку пад кіраваннем канфігурацыяй. Чытанне транзакцыі займае хвіліну; выяўленне нечаканага пакета праз шэсць месяцаў займае агляд.
Нечаканыя пакеты — гэта момант спыніцца, а не працягваць, і пытанне да ўладальніка архіва — чаму яны патрэбны. Рэпазіторый, які публікуе дзясятак пакетаў вакол аднаго кліента, звычайная справа для пастаўшчыка, што пастаўляе настольны набор. Гэта таксама большая паверхня, чым меркавала інструкцыя па ўсталяванні, і менавіта гэтую частку варта запісаць. Ні адзін з вынікаў не з’яўляецца прычынай не давяраць подпісу; абодва — прычыны запісаць, што вы прынялі.
Запішыце паўнамоцтвы і як іх выдаліць
Запішыце ўладальніка архіва, падтрыманы выпуск аперацыйнай сістэмы, канал ратацыі ключа і працэдуру выдалення. Гэтыя чатыры факты — тое, што патрэбна пераемніку, калі кліент сыходзіць або пастаўшчык мяняе ключ. Без іх наступны чалавек атрымлівае радок крыніц і файл ключа без усякай гісторыі.
Выдаленне — гэта крок, які прапускаюць, таму запішыце яго падчас усталявання. Выдаліце запіс крыніцы і яго адмысловы ключ разам і праверце, ці спасылаюцца на гэты ключ дзесьці яшчэ, перш чым выдаляць файл. Агульны ключ, выдалены без такой праверкі, ператварае прыбіранне ў незвязаны збой, а гэта найгоршы вынік для рутыннай змены. Затым пацвердзіце, што звычайныя абнаўленні ўсё яшчэ вырашаюцца пасля знікнення запісу.
Пасля выдалення рэпазіторыя застаецца адно: любы пакет, ужо ўсталяваны з яго, працягвае працаваць, пакуль нешта яго не заменіць. Сумленнае пытанне — якія паўнамоцтвы вы дадалі і наколькі вузка была выяўлена іх роля.