diff --git a/public/uk/block-direct-internet-connections-but-openvpn-tun-with-ufw.gmi b/public/uk/block-direct-internet-connections-but-openvpn-tun-with-ufw.gmi index a16ec96..5e7a5f5 100644 --- a/public/uk/block-direct-internet-connections-but-openvpn-tun-with-ufw.gmi +++ b/public/uk/block-direct-internet-connections-but-openvpn-tun-with-ufw.gmi @@ -14,23 +14,23 @@ * не правильно налаштований системний сервіс та відсутність авто-старту на ребуті або якийсь збій в налаштуваннях таблиці маршрутизації через кастомні налаштування системи * якийсь глюк в network-manager на обнові -* збій в локальний мережі та обрив з'єднання тунелю +* збій в локальний мережі та обрив з'єднання з тунелем Іншими словами, може бути що завгодно. Спеціалізований софт від провайдерів VPN, як правило, дбає про запобігання витокам; про це й дбає системний сервіс клієнта OpenVPN, налаштовуючи пріоритет таблиці маршрутизації (щонайменше в Linux) але я нікому не вірю, навіть собі. ## Чому ufw -Цей фронтенд (iptables) мені подобається тим, що він дозволяє встановлювати перманентні правила, виключаючи помилку синтаксису. А також тим, що за ці роки я просто до нього звик і розумію його поведінку. Ось, навіть був днями таки поставив на Fedora: +Цей фронтенд (iptables) мені подобається тим, що він дозволяє встановлювати перманентні правила, виключаючи помилку синтаксису з блокуванням самого себе десь на сервері з вимкненим локальним терміналом. А також тим, що за ці роки я просто до нього звик і розумію його поведінку. Ось, навіть був днями таки поставив на Fedora: => downgrade-to-iptables-ufw-from-firewalld-on-fedora-43.gmi Перехід на iptables/ufw з firewalld (Fedora 43) -Звісно, делегувати фільтрацію трафіку на останній рубіж фаєрволу - таке собі, але в мене тут немає мети сильно заморочуватись, хочу лише зменшити об'єм витікаючих з під мене слідів у цьому болоті. Кому цікава тема більш "глибокої" ізоляції, рекомендую до читання матеріал: +Звісно, делегувати фільтрацію трафіку на останній рубіж фаєрволу - таке собі, але в мене тут немає мети сильно заморочуватись, хочу лише зменшити об'єм витікаючих з під мене слідів у це болото, в яке перетворився колись далекий від зомбо-ТВ острівок свободи. Кому цікава тема більш "глибокої" само-ізоляції, рекомендую до читання матеріал: => linux-isolation-from-direct-internet-connections-based-on-qemu-virtual-machine-manager-with-vsock.gmi Ізоляція Linux від прямих Інтернет з'єднань на базі QEMU / Virtual Machine Manager з VSOCK -### До справи +## До справи Не так багато роботи, як передісторії :) -Встановлюємо, якщо якимось дивом ще сидите без фаєрволу: +Встановлюємо ufw зі стандартним бекендом iptables (в залежностях) якщо якимось дивом ще сидите без фаєрволу: ``` bash apt install ufw @@ -53,7 +53,7 @@ Default: deny (incoming), deny (outgoing), disabled (routed) ``` * тут я ще не впевнений, стосовно "disabled (routed)" - можливо це слабке місце, але поки так -Ну, і на системах з systemd глянемо, чи сервіс дійсно працює: +Ну, і на системах з systemd глянемо, чи сервіс дійсно працює (active) і стартує з системою (enabled): ``` bash systemctl status ufw @@ -65,7 +65,7 @@ systemctl status ufw ufw allow out on tun0 ``` -Інтерфейс "tun0" може відрізнятись, якщо у вас динамічна конфігурація. Подивитись як він зветься та вказати свій, можна в файлі налаштувань OpenVPN (в залежності від софту) або при наявності такого з'єднання - переглянути активні: +Інтерфейс "tun0" може відрізнятись, якщо у вас динамічна конфігурація. Подивитись як він зветься та вказати свій, можна у файлі налаштувань OpenVPN (в залежності від софту) або при наявності такого з'єднання - переглянути активні: ``` bash ifconfig @@ -82,9 +82,8 @@ ifconfig Коротке правило ufw виглядатиме наступним чином: ``` bash -ufw allow out to 95.173.205.159 port 5060,51820,80,4569,1194 proto udp comment 'ProtonVPN [NO]' +ufw allow out to 95.173.205.159 port 5060,51820,80,4569,1194 proto udp ``` -* тут я лишаю опціональний комент, щоб не забути що воно таке, хоча 1194 є типовою підказкою По аналогії додаємо стільки серверів, скільки потрібно і не забуваємо перевірити статус: