Підвищення рівня приватності в застосунках Linux
Цей список щойно створив для себе, на випадок організації чистої системи, свого роду нагадування / чек-лист по якому пройтись і не забути вимкнути дірки в плані мережних витоків. Це не анти-деанон, але частково може бути корисним у даному векторі, поряд з адблоками та іншими костилями. Для більш суворої фільтрації трафіку, дивіться нотатки:
Rhythmbox
Через плагін "Cover art search" хтось знає що ви слухаєте локально - вимикаємо:
Firefox
HTTP/HTML - вони такі. Для різних завдань - у мене різні браузери, в цілому я користуюсь PAC:
- чи варто нагадувати про реферальні заголовки, розмір вікна, користувацький агент і "відбитки"? =)
DNS
Для резольву доменів, я користуюсь власним проксі-сервером.
Alfis
Alfis DNS - це альтернативна система реєстрації доменів в блокчейн, що також включає в себе вбудований проксі-сервер для резольву локальних та глобальних доменів Інтернет. Таким чином, через нього відбувається визначення IP для усіх потрібних мені мереж. По цій темі, я написав декілька матеріалів:
В контексті теми цього допису, звертаю увагу на стандартний файл конфігурації, в якому я вимикаю всі не явні DNS і додаю статичні внутрішньо-мережні IP Yggdrasil в парі з опцією yggdrasil_only (або yggdrasil_mode для гілки Yggdrasil/Mycelium):
[net]
peers = [
# вимикаю не явні, міксовані DNS (постачаються в стандартній конфігурації)
# "peer-v4.alfis.name:4244",
# "peer-v6.alfis.name:4244",
# "peer-ygg.alfis.name:4244",
# додаю визначені мною вручну адреси пірів
# * до списку треба додати актуальні вузли на момент конфігурації резольвера
"[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148]:4244",
"[200:f8e5:2383:c1f8:7c73:8e74:2a5e:197e]:4244",
"[200:f8e5:2383:c1f8:7c73:8e74:2a5e:197e]:4244",
"[200:31b6:1c3a:3a1c:d322:3ed7:e109:4b3]:4244",
"[200:1106::a702:9841:e607:9b3]:4244",
"[208:84:68:55:2f91:8484:8d60:2fca]:4244",
"[208:25:40:bd:6ea9:89fc:ac75:87be]:4244",
"[208:62:45:62:59b8:f1a2:62ca:f87c]:4244",
"[225:ca89:40a8:611e:78b8:ab81:999a:d4d7]:4244",
"[301:84f7:4bc0:2f3a::53]:4244"
]
# стандартна гілка (https://github.com/Revertron/Alfis)
yggdrasil_only = true
# якщо гілка mycelium-network-mode
# https://github.com/YGGverse/Alfis/tree/mycelium-network-mode
#
# yggdrasil_mode = true
# mycelium_mode = true
- якщо хоча б один пір зі списку буде онлайн, цього достатньо для ініціації
- також звертаємо увагу на net.forwarders, net.bootstraps і net.public, net.listen
BitTorrent
qBittorrent
Зненацька помітив, що на бінді IPv6 цілком можливі конекти через Веб-сокет IPv4:
rqbit
Мій сабж описаний в рамках тікету #469:
- проблема в тому, що клієнт інтерактує з пірами через PEX, навіть якщо DHT вимкнено
Оскільки ледачий, цю проблему поки що "вирішив" засобами "blocklist".
Формат PDF є цілком та повністю дірявим:
- мета-інформація про рушій та браузер, в якому було згенеровано файл
- можливість вбудованого віддаленого вмісту (наприклад, зображення)
- JavaScript, тощо
Конкретні налаштування з фільтрації залежатимуть від бекенду операційної системи та клієнта.
Деякі тематичні матеріали на цю тему:
Xash3D / FWGS
Half-Life
Аудит рушія та самої гри на предмет відбитків та витоків я не проводив, але в контексті приватної гри по локалці Yggdrasil, щонайменше варто звернути увагу на опцію лаунчера "Configuration" > "Multiplayer" > "Customize" > "Adv options" > "Allow download":
- це (ймовірно) дозволить запобігти прямим з'єднанням при завантаженні кастомних карт і скінів
Окремо, я вимикаю мікрофон, не знаю чи він дійсно вимикається, але так:
voice_enable 0
Нагадаю, що для цього рушія було створено окремі гілки для оверлейного і гібридного режимів. Вони включають адаптації для локальної гри (зокрема локальні майстер-сервери) а звідти - підвищену приватність:
- утім наразі, вони майже не розвиваються а їх апстрім - відстає від офіційних релізів (зараз не до ігор)
Детальніше про рушій Xash3D / FWGS в контексті Half-Life, також можна почитати тут:
FreeTube / Invidious
В мережі Yggdrasil періодично з'являються експериментальні інстанси Invidious. Одного разу, мені стало цікаво перейти в режим Yggdrasil-only. Обравши відповідний проксі я помітив, що через мої налаштування фільтрації трафіку, половина функцій перестає працювати. Власне, я не розбирався як саме працює цей "приватно-орієнтований клієнт", але на практиці виходить так, що адміністратор Invidious просто налаштовує веб-проксі, забуваючи про інші складові API. Для користувача FreeTube (який обрав проксі та не заблокував трафік на інші вузли) все виглядатиме заплановано, але на практиці - трафік йтиме кудою завгодно.
Сам я все ще користуюся цим клієнтом, але для інших потреб: формування приватних підписок без підмішування туди рекламних трендів Google. Просто майте на увазі, що цей застосунок в його поточній реалізації більше підходить для обходу блокувань, а не деперсоналізації і тим більше анонімізації користувача.
Стосовно додатку FreeTube, раніше я писав про нього невеличкий огляд:
VSCode
Тут, мабуть, немає сенсу зупинятись, адже "електронний" VSCode - нашпигований телеметрією та різними API синхронізації додатків. Утім, на згадку, додам одне виключення: для комерційних проєктів, я користуюсь додатком обліку часу Wakatime:
По суті, цей (доволі зручний) додаток надсилає докладну статистику по файлам, операційній системі та всьому іншому в рамках проєкту - щоб окрім загального звіту по часу, можна було проаналізувати свою активність по мовам програмування та всьому іншому. Якщо працюємо з різними "приватними" програмами і не хочемо, щоб про це знав увесь світ (навіть якщо вимкнули галку поширення з усіма) - вимикаємо додаток і для роботи пускаємо окремий контейнер VSCode / VSCodium.
IRC
Halloy
Стандартно, цей клієнт дозволяє прев'ю віддаленого вмісту (ака мікро-розмітка) - у приватних мережах, це потенційний де-анон, вимикаємо:
[preview] enabled = false
Також вимикаю функцію передачі файлів, оскільки та - може використовувати пасивний режим:
[file_transfer] enabled = false
- Я особисто не перевіряв, чи вбудована реалізація Halloy "обгортає" згадані вище сокети, якщо так, то подібну функціональність можна не вимикати.
ZNC
Нещодавно поставив собі баунсер:
У цьому гайді, згадується релевантний пункт з вимикання модуля "simple_away", що може використовуватись для типу атак, що базуються на таймінг-трекінгу:
soju
Ще один, більш сучасний, баунсер:
Він застосовує зміну статусу "away" за замовченням. Вимикається це командою на прикладі окремої мережі:
/msg BouncerServ network update ID -auto-away false
- ID - назва або URL мережі
Monero
Якось недавно запустив у якості тестів Monero і був приємно здивований функціональністю GUI гаманця. Після того як біржа з моїми донатами накрилась, я перекочував на локальний гаманець, обравши цю валюту в якості основної. За одно, почав розбирати гаманець на технічні деталі, в своєму репертуарі.
Здивувало, що хоч ця валюта позиціонується як приватна, з приватного в неї - лише модель транзакцій. Конекти при цьому йдуть на Інтернет DNS (сіди). Почав копати рішення I2P, але рішень тому немає, все лише тільки в стадії розвитку, щонайменше саме для цікавого мені формату GUI:
Загальні рекомендації
Хоч це більше стосується сервер-сайду, на десктопі також варто звернути увагу і завчасно розставити права 0600 на "чутливі" файли профілю окремих застосунків типу крипто-гаманців, роутерів та інших програм, робота яких базується на приватних ключах.