mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
apply corrections
This commit is contained in:
parent
083f0842e8
commit
8dfd199986
1 changed files with 20 additions and 9 deletions
|
|
@ -1,10 +1,10 @@
|
|||
# Перехід на iptables/ufw з firewalld (Fedora 43)
|
||||
|
||||
На дистрибутив Fedora я перейшов приблизно рік тому і він мені сподобався майже усім. Усім, окрім мабуть навороченого firewalld, який досі не розумію та не маю наміру його вивчати, бо за роки адміністрування серверів на базі Debian, приловчився до формування правил з ufw, перевіривши їх часом та практикою.
|
||||
На дистрибутив Fedora я перейшов приблизно рік тому і він мені сподобався майже усім. Усім, окрім мабуть навороченого `firewalld`, який досі не розумію та не маю наміру його вивчати, бо за роки адміністрування серверів на базі Debian, приловчився до формування правил з `ufw`, перевіривши їх часом та практикою.
|
||||
|
||||
Через свою лінь та страх щось міняти зі стандартних пресетів без розуміння теми, довгий час таки сидів на firewalld, налаштовував його засобами графічної утиліти firewall-config, вештаючись зонами та переключалками тимчасових/перманентних правил. Так, цей інструмент можливо зручний для корпоративної інфраструктури, де потрібні оновлення правил маршрутизації без обриву з'єднання та гнучкість їх налаштувань. Але на ПК чи невеличкому приватному сервері - це реально для мене зайве.
|
||||
Через свою лінь та страх щось міняти зі стандартних пресетів без розуміння теми, довгий час таки сидів на `firewalld`, налаштовував його засобами графічної утиліти `firewall-config`, вештаючись зонами та переключалками тимчасових/перманентних правил. Так, цей інструмент можливо зручний для корпоративної інфраструктури, де потрібні оновлення правил маршрутизації без обриву з'єднання та гнучкість їх налаштувань. Але на ПК чи невеличкому приватному сервері - це реально для мене зайве.
|
||||
|
||||
До того ж, тільки днями на свіжій інсталяції помітив можливість підключатись до сусідньої машини Fedora на 22 порт, який від її встановлення не дозволяв там явно. Я користуюсь локальними мережами [Yggdrasil](https://devzone.org.ua/post/yggdrasil-mereza-z-detsentralizovanym-routynhom) та Mycelium, де "локальними" тут є потенційно тисячі анонімних користувачів цих мереж і будь хто з них може брутфорсити мій обліковий запис root не подаючи при цьому жодних ознак активності, а логи при цьому я не читаю. Хоч сам sshd не увімкнений з коробки, він може періодично пускатись вручну. Цей мій провтик у дебрях переключалок firewall-config став останньою краплею терпіння і я все таки вирішив повернутись назад, на iptables.
|
||||
До того ж, тільки днями на свіжій інсталяції помітив можливість підключатись до сусідньої машини Fedora на 22 порт, який від її встановлення не дозволяв там явно. Я користуюсь локальними мережами [Yggdrasil](https://devzone.org.ua/post/yggdrasil-mereza-z-detsentralizovanym-routynhom) та [Mycelium](https://devzone.org.ua/post/vstanovlennia-routera-merezi-mycelium-v-linux), де "локальними" тут є потенційно тисячі анонімних користувачів цих мереж і будь хто з них може брутфорсити мій обліковий запис `root` не подаючи при цьому жодних ознак активності, а логи при цьому я не читаю. Хоч сам `sshd` не увімкнений з коробки, він може періодично пускатись вручну. Цей мій провтик у дебрях переключалок `firewall-config` став останньою краплею терпіння і я все таки вирішив повернутись назад, на `iptables`.
|
||||
|
||||
## Видалення залежностей firewalld
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ sudo systemctl stop firewalld
|
|||
sudo systemctl disable firewalld
|
||||
```
|
||||
|
||||
Видалив саму службу та її залежності, включно з firewall-config:
|
||||
Видалив саму службу та її залежності, включно з `firewall-config`:
|
||||
|
||||
``` bash
|
||||
sudo dnf remove firewalld
|
||||
|
|
@ -24,11 +24,12 @@ sudo dnf remove firewalld
|
|||
|
||||
## Встановлення iptables/ufw
|
||||
|
||||
На цьому кроці, я згідно гугло-інструкцій спочатку поставив iptables-services, а потім ufw. Але в мене сталась якась плутанина з iptables-nft, ip6tables та ще бог зна чим. Тому я це все діло дропнув та виконав встановлення лише одним пакунком ufw, який в свою чергу, підтягнув потрібний мені iptables-legacy:
|
||||
На цьому кроці, я згідно гугло-інструкцій спочатку поставив `iptables-services`, а потім `ufw`. Але в мене сталась якась плутанина з `iptables-nft`, `iptables-legacy`, `ip6tables` та ще бог зна чим. Тому я це все діло дропнув та виконав встановлення лише одного пакунку `ufw`:
|
||||
|
||||
``` bash
|
||||
sudo dnf install ufw
|
||||
```
|
||||
* на Fedora 43 передвстановлено `iptables-nft`, якщо його видалити, то при встановленні `ufw` - буде запропоновано залежність `iptables-legacy`: тут обирайте, кому який бекенд подобається.
|
||||
|
||||
### Базове налаштування ufw
|
||||
|
||||
|
|
@ -38,7 +39,7 @@ sudo dnf install ufw
|
|||
sudo ufw status verbose
|
||||
```
|
||||
|
||||
то побачимо той само дозвіл на 22/tcp порт та 5353/udp, тому видалив це послідовністю нумерованих команд:
|
||||
побачимо дозволи на 22/tcp і 5353/udp, тому я видалив їх послідовністю нумерованих команд:
|
||||
|
||||
```
|
||||
sudo ufw delete 1
|
||||
|
|
@ -48,10 +49,10 @@ sudo ufw delete 1
|
|||
* допоки не буде чисто.
|
||||
* можна видалити командами по ключу SSH але ті що з айпішниками реально не вийшло підібрати, тому видалення номерами - тут стало в нагоді.
|
||||
|
||||
Також, при перевірці статусу з verbose, буде показано стандартну політику фаєрволу: в мене заборонені всі вхідні та дозволені всі вихідні з'єднання. Тобто, стандартно, якщо список порожній - ніхто не зможе нікуди підключатись на вхідних, чого цілком достатньо для більшості юзерів ПК.
|
||||
Також, при перевірці статусу з `verbose`, буде показано стандартну політику фаєрволу: в мене заборонені всі вхідні та дозволені всі вихідні з'єднання. Тобто, стандартно, якщо список порожній - ніхто не зможе нікуди підключатись на вхідних, чого цілком достатньо для більшості юзерів ПК.
|
||||
|
||||
Інакше, додаємо ті порти, які кому потрібно. Деякі приклади для одного зі своїх асетів занотував в матеріалі [Обмеження вихідних з'єднань на Інтернет з ufw](https://devzone.org.ua/post/obmezennia-vykhidnykh-zyednan-na-internet-z-ufw)
|
||||
* це суто окремий сценарій бо я там блокую вихідний трафік для запобігання діркам в smtp/activity pub та інших балакучих протоколах.
|
||||
* це суто окремий сценарій бо я там блокую вихідний трафік для запобігання діркам в SMTP/ActivityPub та інших "балакучих" протоколах.
|
||||
|
||||
Тепер, важливо запустити сервіс нашого високорівневого фаєрволу:
|
||||
|
||||
|
|
@ -83,4 +84,14 @@ sudo ufw status
|
|||
```
|
||||
* має бути активним (active)
|
||||
|
||||
Активні правила `iptables`:
|
||||
|
||||
``` bash
|
||||
sudo iptables -L -v -n
|
||||
```
|
||||
|
||||
Щоб переконатись, що це дійсно працює фактично, можна спробувати підключитись з іншої машини на неоголошений правилами порт.
|
||||
|
||||
## Посилання
|
||||
|
||||
* [Тред на LOU](https://linux.org.ua/index.php?topic=12318.0)
|
||||
Loading…
Add table
Add a link
Reference in a new issue