diff --git a/public/uk/filter-outgoing-connections-with-ufw.gmi b/public/uk/filter-outgoing-connections-with-ufw.gmi new file mode 100644 index 0000000..bb00511 --- /dev/null +++ b/public/uk/filter-outgoing-connections-with-ufw.gmi @@ -0,0 +1,58 @@ +# Обмеження вихідних з'єднань на Інтернет з ufw + +ufw - це фронтенд утиліта командного рядка для спрощеного керування правилами iptables; зручна своєю простотою а також тим, що зберігає правила перманентно між системними сесіями. + +Як відомо, стандартна конфігурація правил ufw блокує виключно вхідний трафік: + +``` bash +# ufw status verbose +Status: active +... +Default: deny (incoming), allow (outgoing), disabled (routed) +... +``` + +Тут, статус `allow (outgoing)` передбачає вихідні з'єднання, що може бути чутливим питанням у випадках, коли сервер має взаємодіяти виключно з мережами Yggdrasil / Mycelium, але його софт реалізує інтерактивний API (наприклад ActivitiPub, BitTorrent / PEX, SMTP, деякі реалізації FTP, тощо) і таким чином, можливі зовнішні звернення в Інтернет через вхідні запити з локальних мереж. + +Найпростішим рішенням є блокування усіх вихідних з'єднань поряд з `deny (incoming)` та використання явних правил по білому списку, зокрема для DNS і apt: + +``` bash +ufw default deny outgoing +``` + +Після цього, дозволимо вихід на усі адреси Yggdrasil / Mycelium по відповідному діапазону: + +``` bash +ufw allow out to 0200::/7 +ufw allow out to 0400::/7 +``` +* можна явно задати порт, наприклад `... port 80 proto tcp` + +## DNS + +Далі, дивимось адреси DNS для системного резольвера (наприклад в /etc/systemd/resolved.conf), та додаємо їх до списку; для Cloudflare - це буде 1.1.1.1:53: + +``` bash +ufw allow out to 1.1.1.1 port 53 proto udp +``` + +або просто дозволяємо всі можливі: + +``` bash +ufw allow out to any port 53 proto udp +``` + +Якщо використовується локальний DNS для Yggdrasil (https://yggdrasil-network.github.io/services.html#dns) або Mycelium, цей крок можна пропустити, адже вище ми вже дозволили усі вихідні з'єднання на ці мережі. + +## apt + +Для системних оновлень, найпростіше підключити локальні дзеркала або проксі, для Yggdrasil це: + +``` /etc/apt/apt.conf.d/proxy.conf +Acquire::http::Proxy "http://[324:71e:281a:9ed3::fa11]:3128/"; +``` + +## Дивіться також + +=> linux-isolation-from-direct-internet-connections-based-on-qemu-virtual-machine-manager-with-vsock.gmi Ізоляція Linux від прямих Інтернет з'єднань на базі QEMU / Virtual Machine Manager з VSOCK +=> yggdrasil-is-network-with-distributed-routing.gmi Yggdrasil - мережа з децентралізованою маршрутизацією \ No newline at end of file diff --git a/public/uk/index.gmi b/public/uk/index.gmi index 4bb7ed1..b606905 100644 --- a/public/uk/index.gmi +++ b/public/uk/index.gmi @@ -9,6 +9,7 @@ ### Нотатки +=> filter-outgoing-connections-with-ufw.gmi 2025-09-29 Обмеження вихідних з'єднань на Інтернет з ufw => linux-isolation-from-direct-internet-connections-based-on-qemu-virtual-machine-manager-with-vsock.gmi 2025-09-25 Ізоляція Linux від прямих Інтернет з'єднань на базі QEMU / Virtual Machine Manager з VSOCK => setup-icecast-ezstream-web-radio-on-linux.gmi 2025-09-24 Веб-радіо в Linux: встановлення сервера Icecast та базове налаштування ротації з Ezstream => bypass-js-cookies-anti-bot-on-website-dump-with-wget.gmi 2025-09-18 Копіювання Веб-сайту з обходом анти-бот захисту через wget