# Підвищення рівня приватності в застосунках Linux Цей список щойно створив для себе, на випадок організації чистої системи, свого роду нагадування / чек-лист по якому пройтись і не забути вимкнути дірки в плані мережних витоків. Це не анти-деанон, але частково може бути корисним у даному векторі, поряд з адблоками та іншими костилями. Для більш суворої фільтрації трафіку, дивіться нотатки: => filter-outgoing-connections-with-ufw.gmi Обмеження вихідних з'єднань на Інтернет з ufw => linux-isolation-from-direct-internet-connections-based-on-qemu-virtual-machine-manager-with-vsock.gmi Ізоляція Linux від прямих Інтернет з'єднань на базі QEMU / Virtual Machine Manager з VSOCK ## Rhythmbox Через плагін "Cover art search" хтось знає що ви слухаєте локально - вимикаємо: => enhancing-privacy-in-linux-apps/rhythmbox-сover-art-search-plugin.png Скріншот ## Firefox HTTP/HTML - вони такі. Для різних завдань - у мене різні браузери, в цілому я користуюсь PAC: => safe-yggdrasil-websites-browsing-with-yggstack.gmi Безпечний перегляд сайтів Yggdrasil з Yggstack * чи варто нагадувати про реферальні заголовки, розмір вікна, користувацький агент і "відбитки"? =) ## DNS Для резольву доменів, я користуюсь власним проксі-сервером. ### Alfis Alfis DNS - це альтернативна система реєстрації доменів в блокчейн, що також включає в себе вбудований проксі-сервер для резольву локальних та глобальних доменів Інтернет. Таким чином, через нього відбувається визначення IP для усіх потрібних мені мереж. По цій темі, я написав декілька матеріалів: => alfis-dns-domain-registration-in-blockchain.gmi Alfis DNS - реєстрація домену в блокчейн => alternative-alfis-dns-branch-with-mycelium-network-support.gmi Альтернативна гілка Alfis DNS з підтримкою Mycelium => my-alfis-dns-preset-on-yggdrasil-mycelium-router.gmi Мій пресет Alfis DNS на роутері Yggdrasil / Mycelium В контексті теми цього допису, звертаю увагу на стандартний файл конфігурації, в якому я вимикаю всі не явні 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: => unexpected-connection-leaks-in-qbittorrent.gmi Потенційні витоки з'єднань на Інтернет в qBittorrent ### rqbit Мій сабж описаний в рамках тікету #469: => https://github.com/ikatson/rqbit/issues/469 [librqbit] unexpected peers connection #469 * проблема в тому, що клієнт інтерактує з пірами через PEX, навіть якщо DHT вимкнено Оскільки ледачий, цю проблему поки що "вирішив" засобами "blocklist". ## PDF Формат PDF є цілком та повністю дірявим: * мета-інформація про рушій та браузер, в якому було згенеровано файл * можливість вбудованого віддаленого вмісту (наприклад, зображення) * JavaScript, тощо Конкретні налаштування з фільтрації залежатимуть від бекенду операційної системи та клієнта. Деякі тематичні матеріали на цю тему: => https://www.reddit.com/r/PrivacyGuides/comments/tk14jn/opening_pdfs_securely/ Opening PDFs securely => https://superuser.com/questions/893092/can-pdfs-contain-resources-that-are-loaded-from-the-internet Can PDFs contain resources that are loaded from the internet? => https://wiki.scribus.net/canvas/How_to_enhance_your_PDF_forms_with_JavaScript How to enhance your PDF forms with JavaScript => https://www.ghacks.net/2021/05/05/how-to-disable-javascript-in-pdf-documents-in-firefox/ How to disable JavaScript in PDF documents in Firefox ## Xash3D / FWGS ### Half-Life Аудит рушія та самої гри на предмет відбитків та витоків я не проводив, але в контексті приватної гри по локалці Yggdrasil, щонайменше варто звернути увагу на опцію лаунчера "Configuration" > "Multiplayer" > "Customize" > "Adv options" > "Allow download": => enhancing-privacy-in-linux-apps/xash3d-fwgs-fast-download-option.png Скріншот (потрібно зняти хрестик) * це (ймовірно) дозволить запобігти прямим з'єднанням при завантаженні кастомних карт і скінів Окремо, я вимикаю мікрофон, не знаю чи він дійсно вимикається, але так: ``` valve/game.cfg voice_enable 0 ``` Нагадаю, що для цього рушія було створено окремі гілки для оверлейного і гібридного режимів. Вони включають адаптації для локальної гри (зокрема локальні майстер-сервери) а звідти - підвищену приватність: => https://github.com/YGGverse/xash3d-fwgs/branches * утім наразі, вони майже не розвиваються а їх апстрім - відстає від офіційних релізів (зараз не до ігор) Детальніше про рушій Xash3D / FWGS в контексті Half-Life, також можна почитати тут: => half-life-on-linux-using-xash3d-fwgs-engine.gmi Half-Life в Linux на базі рушія Xash3D / FWGS ## FreeTube / Invidious В мережі Yggdrasil періодично з'являються експериментальні інстанси Invidious. Одного разу, мені стало цікаво перейти в режим Yggdrasil-only. Обравши відповідний проксі я помітив, що через мої налаштування фільтрації трафіку, половина функцій перестає працювати. Власне, я не розбирався як саме працює цей "приватно-орієнтований клієнт", але на практиці виходить так, що адміністратор Invidious просто налаштовує веб-проксі, забуваючи про інші складові API. Для користувача FreeTube (який обрав проксі та не заблокував трафік на інші вузли) все виглядатиме заплановано, але на практиці - трафік йтиме кудою завгодно. Сам я все ще користуюся цим клієнтом, але для інших потреб: формування приватних підписок без підмішування туди рекламних трендів Google. Просто майте на увазі, що цей застосунок в його поточній реалізації більше підходить для обходу блокувань, а не деперсоналізації і тим більше анонімізації користувача. Стосовно додатку FreeTube, раніше я писав про нього невеличкий огляд: => freetube-the-private-youtube-client.gmi FreeTube - приватний перегляд YouTube ## VSCode Тут, мабуть, немає сенсу зупинятись, адже "електронний" VSCode - нашпигований телеметрією та різними API синхронізації додатків. Утім, на згадку, додам одне виключення: для комерційних проєктів, я користуюсь додатком обліку часу Wakatime: => https://wakatime.com => https://open-vsx.org/extension/WakaTime/vscode-wakatime По суті, цей (доволі зручний) додаток надсилає докладну статистику по файлам, операційній системі та всьому іншому в рамках проєкту - щоб окрім загального звіту по часу, можна було проаналізувати свою активність по мовам програмування та всьому іншому. Якщо працюємо з різними "приватними" програмами і не хочемо, щоб про це знав увесь світ (навіть якщо вимкнули галку поширення з усіма) - вимикаємо додаток і для роботи пускаємо окремий контейнер VSCode / VSCodium. ## IRC ### Halloy Стандартно, цей клієнт дозволяє прев'ю віддаленого вмісту (ака мікро-розмітка) - у приватних мережах, це потенційний де-анон, вимикаємо: ``` config.toml [preview] enabled = false ``` Також вимикаю функцію передачі файлів, оскільки та - може використовувати пасивний режим: ``` config.toml [file_transfer] enabled = false ``` * Я особисто не перевіряв, чи вбудована реалізація Halloy "обгортає" згадані вище сокети, якщо так, то подібну функціональність можна не вимикати. ### ZNC Нещодавно поставив собі баунсер: => znc-irc-bouncer-setup.gmi Встановлення та налаштування IRC-баунсера ZNC в Linux У цьому гайді, згадується релевантний пункт з вимикання модуля "simple_away", що може використовуватись для типу атак, що базуються на таймінг-трекінгу: => znc-irc-bouncer-setup/simple-away-module.png Модуль "simple_away" в ZNC (скріншот) ## Monero Якось недавно запустив у якості тестів Monero і був приємно здивований функціональністю GUI гаманця. Після того як біржа з моїми донатами накрилась, я перекочував на локальний гаманець, обравши цю валюту в якості основної. За одно, почав розбирати гаманець на технічні деталі, в своєму репертуарі. Здивувало, що хоч ця валюта позиціонується як приватна, з приватного в неї - лише модель транзакцій. Конекти при цьому йдуть на Інтернет DNS (сіди). Почав копати рішення I2P, але рішень тому немає, все лише тільки в стадії розвитку, щонайменше саме для цікавого мені формату GUI: => https://bounties.monero.social/posts/32/140-196m-i2p-baked-into-the-monero-gui 140.196ɱ | i2p baked into the monero GUI => https://github.com/everoddandeven/monero-gui/tree/feature/anonymity-networks Гілка на GitHub ## Загальні рекомендації Хоч це більше стосується сервер-сайду, на десктопі також варто звернути увагу і завчасно розставити права 0600 на "чутливі" файли профілю окремих застосунків типу крипто-гаманців, роутерів та інших програм, робота яких базується на приватних ключах. ## Посилання => gemini://bbs.geminispace.org/s/privacy/34128 Залишити коментар на BBS