Доброго Времени Суток Всем ВсеЗнайкам!
Собственно, Вопрос заключается в том, как качать Обновы ИсХодников с Официального Зеркала так, чтобы ни Одна Зараза не прицепилась «по Дороге»?
При скачивании Образов Релиза можно проверить SHA256 и SHA512, а потом открыть ту же Страницу через Сеть Tor и проверить ещё раз.
Но на СвежеУстановленной Системе (например, с Boot-Only Образа) Сертификаты отсутствуют «ИсКаропки».
При Этом (например рекомендуемая Hand-Bookом) Команда SVNLite через HTTPS:
Код:
#svnlite checkout "HTTPS://SVN.FreeBSD.Org/base/releng/$(uname -r | grep --max-count=1 --only-matching "[\.\,0-9]*")" "/usr/src"
^^^^^
Предлагает сравнить Отпечаток Сервера с Оригиналом (Самостоятельно, то есть Ру́ками и Гла́зами!) и Принять/Отклонить.
Если же запустить SVNLite по Протоколу SVN:
Код:
#svnlite checkout "SVN://SVN.FreeBSD.Org/base/releng/$(uname -r | grep --max-count=1 --only-matching "[\.\,0-9]*")" "/usr/src"
^^^
то Она будет работать, но (ЕМНИП) Протокол SVN, работающий через Порт 3690, сам по себе не обеспечивает Шифрования.
Ещё есть Программа SVNUp, которой, кажется, пофиг на Сертификаты, и Она будет работать через 443 Порт:
Код:
#svnup Release -f -b "base/releng/$(uname -r | grep --max-count=1 --only-matching "[\.\,0-9]*")" -h "SVN.FreeBSD.Org" -k "/tmp" -l "/usr/src" -p "HTTPS" -v 2
^^^^^
# sockstat -L | grep --extended-regexp --ignore-case "(Fetch|SVN|Pkg)"
root svnup 970 3 tcp4 AA.BB.CC.DD:37756 213.138.116.72:443
^^^
Возможно, Это и есть «Правильно», но где же Её взять на «СвежеУстановленной Системе»? Дело в том, что «pkg install svnup» херачит по 80 Порту (проверено ВышеУказанной Командой «sockstat»), то есть через НиЧем не Защищённый HTTP. По тому же Принципу работает и рекомендованный Hand-Bookом «portsnap fetch». Используемый Порт на Удалённой Машине всё так же можно посмотреть Командой «sockstat», приведённой выше, если запустить Её во Время Скачивания из другой Консоли.
Чем не устраивает HTTP/SVN? Да просто ИнтерНет-Провайдер на Своём Шлюзе может запросто подставить DNS Другого Сервака, или завернуть IPшники Официальных Серверов FreeBSD.Org на «НеОфициальные», на которых содержатся «ПроПатченные» ИсХодники и Соответствующие Бинарники, причём Любых Программ. Провайдер даже может подменить Серверы Сертификации (это, конечно, тот ещё Геморрой, но, теоретически — может).
Конечно, скорее всего (пока), ВсеВидящее Око не пережёвывает Все Компоненты Свободного Софта, но некоторые Тревожные Звоночки в Сети уже проскакивают. Там указывают на Попытки «НеДоброСовестных» ISP (не будем указывать на Конкретных, пока не будем) подменить Сертификаты Сайтов и ПереНаправить Трафик «Куда Надо». Подобные Хулиганства могут также происходить в рамках ПоПыток ОтГраничить «Наш InterNet» от «Ихнего, Буржуйского». Проделывать все эти Шутки на Шифрованных Протоколах будет, мягко говоря, Сложнее и ЗаТратнее. Правда, были Там Идеи по поводу Запрета на Шифрование по Сети вообще, но Это, скорее всего, не прокатит.
Поэтому и возникает Вопрос к Знатокам: Как «Правильно» качать Сырцы и Порты на Системе без установленного «CA_Root_NSS», чтобы не стянуть Трояна на уровне Ядра OS или Команды «echo/date/bash/nginx»?