Чи apt-get
використовується https чи будь-який вид шифрування? Чи є спосіб налаштувати його на використання?
Чи apt-get
використовується https чи будь-який вид шифрування? Чи є спосіб налаштувати його на використання?
Відповіді:
apt-get
(та інші команди маніпулювання пакетом, які є переднім до тих же бібліотек APT) можуть використовувати HTTP, HTTPS і FTP (і змонтовані файлові системи). Якщо вказати https://
URL-адреси в /etc/apt/sources.list
і /etc/apt/sources.list.d/*
, тоді APT використовуватиме HTTPS.
APT перевіряє підпис пакетів. Тому вам не потрібно мати транспортну форму, яка забезпечує аутентифікацію даних. Якщо зловмисник модифікує завантажені файли, це буде помічено. Використовувати перевірку підпису краще, ніж використовувати з'єднання HTTPS, оскільки воно виявить атаку на сервері, з якого ви завантажуєте, а не лише атаку під час транзиту.
Точніше, (спрощений) потік даних для пакету полягає в наступному:
HTTPS забезпечує, що крок 4 відбувається правильно. Підписи пакета гарантують, що кроки 2 - 4 відбуваються правильно.
Насправді, для кроку 4 є одна невелика перевага для HTTPS: підписи пакета гарантують лише достовірність пакета. Зловмисник на кроці 4 може представити себе законним сервером і обслуговувати устарені версії пакету. Наприклад, зловмисник може перешкодити вам завантажувати будь-які оновлення безпеки, сподіваючись скористатися вразливістю на вашій машині, яку ви б зафіксували, якби не атака. Це не дуже реалістичний сценарій, тому що він вимагає активного зловмисника (так що це повинен був би хтось контролювати ваше інтернет-з'єднання), але це може статися в принципі.
Іншою перевагою для HTTPS буде, якщо ви намагаєтесь приховати факт завантаження пакетів Ubuntu від когось, хто прослуховує ваше мережеве з'єднання. Вже тоді підслуховувач міг бачити, до якого господаря ви підключаєтесь; якщо ви підключитесь до дзеркала Ubuntu і завантажуєте сотні мегабайт, зрозуміло, що ви завантажуєте пакети Ubuntu. Підслуховувач також може здебільшого визначити, які пакунки ви завантажуєте з розміру файлів. Тож HTTPS буде корисний лише у тому випадку, якщо ви завантажуєте з сервера, який також пропонує інші файли подібного розміру - я не бачу жодного сенсу, крім сторонніх пакетів, і лише в дуже незвичних обставинах.
Повторюю: звичайна перевага HTTPS, яка полягає в тому, що ви знаєте, що ви підключені до реального сервера, марно під час завантаження пакетів Ubuntu. Підтвердження підпису на пакетах дає більш гарантію, ніж HTTPS.
apt-get update
повідомляв про помилку при спробі доступу до посилань. З ppas: те саме. Хтось пробував?
archive.ubuntu.com
ні . Ви можете перевірити в вашому браузері , якщо сервер підтримує випереджаючи https: // в URL і побачити , якщо ви отримаєте список каталогів і т.д.
Для APT, як правило, важливіше не те, що ваше з'єднання зашифроване, а те, що файли, які ви отримуєте, не були підроблені.
APT має вбудовану перевірку підписів для забезпечення цього.
Шифрування перешкоджало б підслуховувачам не бачити, що ви завантажуєте, але те, що ви насправді завантажуєте (і запитуєте), є досить суперечливим: воно буде таким самим, як завантажують тисячі інших користувачів Ubuntu, а файли нічого не містять " t вільно доступний на багатьох серверах. Однак якщо вам потрібна конфіденційність щодо пакунків, які ви завантажуєте, HTTPS можна використовувати (вказати його у своєму source.list).
Підтвердження підпису, вбудоване в APT, гарантує, що отримані файли не були підроблені. Насправді не важливо, звідки беруться файли, і навіть можна отримати проксі-сервери або зворотні проксі-сервери між вами та сервером, щоб зменшити завантаження сервера або пришвидшити вас. Перевірка підпису все ще гарантує, що ви отримуєте немодифікований файл, співпадаючи з підписом, який можна було б виготовити криптографічно, з оригінальним файлом та копією приватного ключа Ubuntu.
Якщо ви перейдете на HTTPS, ви більше не зможете скористатися проксі-серверами для прискорення доступу або зменшення навантаження. І це не додасть більше впевненості щодо невтручання, яке підтвердження підписів APT вже не дає. Однак це означатиме, що підслуховувачі (наприклад, ваш Інтернет-провайдер) не зможуть побачити, які пакунки ви завантажуєте (що, швидше за все, не є конфіденційним, і як зазначив Жилл, вони могли вгадати з розміру файлу).
apt update
і чоловік у середині годує тебе фіктивними показниками, apt з радістю бере все, що дає тобі чоловік у середині, і записує це у / var / lib / apt / списки. Це не лише зі злим чоловіком посередині, але, як якщо ви перебуваєте на WiFi готелю та перенаправляєтесь на сторінку входу, якщо ви запускаєтесь apt update
перед тим, як увійти, ваш / var / lib / apt / списки потраплять у сміття з HTML-сторінкою готелю. БОГУС! У будь-якому разі, звичайна перевірка сертифіката TLS виключила б це негайно.
Останні версії APT мають вбудовану підтримку TLS, тому вам просто потрібно замінити дзеркальні URL-адреси ваших пакетів сховищ на https
-фіксовані. Для Debian це може виглядати так:
deb https://deb.debian.org/debian/ stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb https://deb.debian.org/debian/ stretch-updates main
Це корисно, навіть якщо APT включає власний протокол підпису для запобігання підробці пакунків, оскільки в APT можуть бути помилки (як це було: CVE-2016-1252 , CVE-2019-3462 ). Протоколи HTTP / TLS та їх шифри підлягають інтенсивному контролю, тому серйозна вразливість за нульовий день набагато менше, якщо ви додасте цей рівень безпеки.
Я думаю, що це питання може використовувати відповідь із вказівками для мирян, так що ...
APT досі не використовує HTTPS за замовчуванням у щоденних складах Ubuntu 19.10 (Eoan) (який ще розробляється). Це можна перевірити, вивчивши файл /etc/apt/sources.list та зазначивши, що всі вихідні URL-адреси використовують схему URL-адрес "http:".
Щоб налаштувати його на використання HTTPS, можна дотримуватися наступних інструкцій:
Спочатку знайдіть надійне офіційне дзеркало архіву Ubuntu, яке підтримує HTTPS:
Наприклад, я вважаю, що фонд Вікімедіа є надійним, тому я відвідав дзеркальну URL-адресу http://mirrors.wikimedia.org/ubuntu/ і згодом змінив її на https://mirrors.wikimedia.org/ubuntu/ , яка успішно вирішується.
Якщо ви використовуєте Firefox (67.0.4) і встановлено розширення HTTPS Everywhere (2019.6.27) з увімкненою функцією "Шифрувати всі сайти, придатні" (через панель кнопки інструментів), кроки (4) та (5) можна пропустити оскільки розширення автоматично модифікує URL-адресу для використання HTTPS, дозволяючи одночасно визначити, чи буде вирішена версія "https:" URL-адреси.
По-друге , оновіть список джерел APT:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
для резервного копіювання списку джерел оновлення.sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.list
дзеркальною URL-адресою потрібного дзеркала та виконайте команду.По-третє , слід вивчити вміст каталогу /etc/apt/sources.list.d/ на предмет "http:" джерел, які можуть бути змінені на "https:" після встановлення програмного забезпечення за межами архіву Ubuntu.
Наприклад, пакет Visual Studio Code від Microsoft додає до цього каталогу файл vscode.list, який вказує URL "http:". Проста зміна схеми URL з "http:" на "https:" дозволяє оновлювати HTTPS.
Розгляньте резервну копію будь-яких таких вихідних файлів, перш ніж змінювати їх.
Нарешті , проведіть оновлення, щоб переконатися, що оновлення працюватимуть правильно:
sudo apt-get update
команду.sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
команду.Також варто зазначити, що існує пакет apt-transport-https для додавання HTTPS-підтримки до APT. Однак цей пакет, мабуть, непотрібний відповідно до веб-сторінки https://launchpad.net/ubuntu/eoan/+package/apt-transport-https і не потрібен з APT 1.5 відповідно до інформації, показаної після виконання команди apt-cache show apt-transport-https
.