mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-18 22:12:40 +00:00
58 lines
No EOL
3.3 KiB
Text
58 lines
No EOL
3.3 KiB
Text
# Обмеження вихідних з'єднань на Інтернет з 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 - мережа з децентралізованою маршрутизацією |