Перейти до вмісту

Опублікувала читабельне onion‑дзеркало в Tor

Опублікувала сайт як onion‑дзеркало в Tor за читабельною адресою, що починається з engineer, з ключем, згенерованим поза хостом, тож він ніколи не потрапив ні до цього репозиторію, ні на ноутбук, і залишила цей вхід єдиним із чотирьох, відвідування якого ніколи не рахуються.

  • House, door, entrance
    Фото: anaterate / Pixabay
  • House keys, key, security
    Фото: Schluesseldienst / Pixabay

четверті двері — і єдині, яких не рахують

Ситуація. Сайт уже був доступний за трьома протоколами з однієї збірки. Читач, якому треба було відкрити сайт, не виказуючи, що він туди заходив, усе ще звертався до звичайної адреси через вихідний вузол, а це слабше, ніж власні вхідні двері. Очевидне заперечення проти четвертих дверей — фаєрвол, але воно тут не діє: демон анонімності підключається до мережі, будуючи вихідні ланцюги, тож ззовні ніщо не підключається, жоден порт не відкривається, і жодному з двох рівнів фаєрвола нічого синхронізувати.

Завдання. Дзеркало мало віддавати ті самі сторінки, що й звичайна адреса, публікуватися всюди, де публікуються інші дзеркала, мати адресу, яку людина може прочитати вголос, а не випадковий набір символів, і ніколи не допускати, щоб приватний ключ, який і є адресою, потрапив у цей репозиторій чи на ноутбук.

Дія. Роль встановлює демон із пакета, який постачає сам дистрибутив, записує конфігурацію з вимкненим портом вихідного проксі й не перезаписує ідентифікаційні дані, яких не генерувала, — тож ключ, розміщений вручну, просто використовується. Читабельну адресу неможливо вибрати, її можна лише знайти: адреса — це відкритий ключ у base32, тож префікс купують, генеруючи пари ключів, доки одна з них випадково не закодує потрібні літери, і кожен наступний символ коштує в тридцять два рази більше за попередній. Куплений префікс читається як назва самої компанії. Адреса задана як значення в інвентарі, і кожен прогін converge перевіряє, що справжній файл ідентифікаційних даних на хості їй відповідає, тож якщо ключ підмінено, а значення в інвентарі застаріло, прогін завершується з помилкою, а не минає непомітно. Ключ перехоплюють обидва запобіжники від витоку секретів — після того як вимірювання показало, що очевидний шаблон для файлу ключа збігається з ключем розгортання, але пропускає цей. Відмову від випадкової адреси, з якою дзеркало запустили, провели як поетапний перехід, а не одномоментне перемикання, тож опублікована адреса працювала, поки публікували читабельну. Крок, що здавався останнім, таким не був: ключ розмістили правильно, і прогін converge не повідомив про жодні зміни, бо нову теку ще ніщо не згадувало, тож нову адресу так і не опублікували — тепер роль завершується з помилкою, якщо на диску є ідентифікаційні дані, на які не посилається жодна служба.

Результат. Сайт має четверо вхідних дверей до однієї збірки, і лише тут відвідувачів ніколи не рахують. Запити Gemini та з’єднання Gopher підраховують за кожен день без адреси й без шляху; для onion немає ні лічильника, ні прапорця, щоб його додати, бо підрахунок читачів — це саме те єдине, чому цей протокол покликаний запобігти, і сліпота тут — ціна обраної позиції, а не прогалина у звітності. Дзеркало окупилося ще й як незалежна перевірка: його перші читачі користувалися іншим рушієм браузера, який не підтримує анімацію, прив’язану до прокручування, на яку покладався футер, тож усі вони бачили колофон, намальований поверх головної сторінки. Це був справжній дефект звичайного сайту, і виявила його аудиторія, яка не мала іншого способу про нього повідомити.

Одна частина довшого переліку — і він увесь на цьому сайті.

Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

Переглянути весь перелік