Python + Firewall + Debian 11

CPU

  • *****
  • 613
    • Zobrazit profil
    • E-mail
Python + Firewall + Debian 11
« kdy: 16. 03. 2022, 21:06:28 »
Zdravím,

pro Debian 11 mám prý použít UFW (jako frontend k IPtables) jako nejlepší a nejsnazší volba.
Ale čím to řídit? Potřebuji za běhu přidávat pravidla, ideálně Pythonem, prý nejsnáze přes python-ufw, který je dostupný a snadno aktualizovatelný přes APT (apt-get install python-ufw).

https://debian.pkgs.org/10/debian-main-arm64/python-ufw_0.36-1_all.deb.html

Jenže na balík python-ufw se (jako obvykle) několik let nesáhlo a rád bych se ujistil, že tohle je dobrá cesta.


« Poslední změna: 16. 03. 2022, 21:08:41 od CPU »


Re:Python + Firewall + Debian 11
« Odpověď #1 kdy: 16. 03. 2022, 22:19:57 »
Ansible + Community.general.ufw role?

Ale mozna jenom nechapu ten use-case a vyznamu "za behu"

CPU

  • *****
  • 613
    • Zobrazit profil
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #2 kdy: 16. 03. 2022, 23:06:47 »
Chci dynamicky přidávat a odebírat IP adresy klientů.
Přihlásí se na webu, což pro danou IP otevře dodatečné porty (PPTP VPN, DB, SSH) podle oprávnění.
Není to 100% zabezpečení, ale silná dodatečná vrstva.

1. uživatel Ruda se přihlásí
2. pro jeho IP se vytvoří SSH tunel do DMZ na stroj Srv01
3. za 180 minut to spadne

Nebo:
1. uživatel JAN se přihlásí
2. pro jeho IP se povolí VPN
3. za 180 minut to spadne

Podobná řešení jsou, ale nevyhovují, chci si napsat svoje.

Re:Python + Firewall + Debian 11
« Odpověď #3 kdy: 17. 03. 2022, 10:29:06 »
Moc mi to nedává smysl, pokud necháš tu VPN otevřenou ven a budou tam slušná hesla, zabezpečení máš slušné a jdeš od válu. Ta opičárna okolo je přebytečná.

CPU

  • *****
  • 613
    • Zobrazit profil
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #4 kdy: 17. 03. 2022, 12:33:07 »
pokud...pokud...pokud...pokud...pokud....pokud...

Prosím jen k věci, pro svoje konání mám velmi dobré důvody.
Pokud se chcete vyjádřit k řízení firewallu, budu velmi rád.

Z technického hlediska bude oddělený webový server (před DMZ) a firewall chránící DMZ, který si bude z webového serveru stahovat data a parsovat je. Hacknutí webového serveru tedy nepovede k průniku do firmy.


robin martinez

  • *****
  • 1 138
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #5 kdy: 17. 03. 2022, 12:56:32 »
no tak si to res pres ten pythonni balik, ne? Problem vyresen
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

CPU

  • *****
  • 613
    • Zobrazit profil
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #6 kdy: 17. 03. 2022, 13:26:59 »
no tak si to res pres ten pythonni balik, ne? Problem vyresen

Jenže se na něj dost dlouho nesáhlo.
Tak jestli není něco lepšího.

robin martinez

  • *****
  • 1 138
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #7 kdy: 17. 03. 2022, 13:35:49 »
One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

CPU

  • *****
  • 613
    • Zobrazit profil
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #8 kdy: 17. 03. 2022, 13:43:10 »
Myslíš, že jsem to neudělal?

pyufw 2019
python-ufw 2018
Ještě jsem našel dvě starší...

Nic, co by nevypadalo mrtvě.
Pokud je tam za rok 0 commitů, je to mrtvé, nerad používám mrtvé knihovny, byť tam třeba hned nehrozí bezpečnostní díra.

robin martinez

  • *****
  • 1 138
  • Have you hugged your toilet today?
    • Zobrazit profil
    • Null Storage
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #9 kdy: 17. 03. 2022, 14:08:33 »
a to je potreba mit kazdy tyden novou verzi nejake knihovny? Pokud funguje, tak se na to nemusi x mesicu/let sahnout.

Jak tu psali ostatni, jsem s to, ze nevime, proc to tak vubec chces resit, a je to tvoje vec, ale pokud ti nesedi 'zastarala' knihovna, tak to v pythonu vyres pres os.system nebo subprocess a volej si ufw s pozadovanymi parametry a vis presne, co se tam deje a bude to tak bezpecny, jak to sam napises :)



One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.

I do Linux, Hardware and spaghetti code in PHP, Python and JavaScript

Re:Python + Firewall + Debian 11
« Odpověď #10 kdy: 17. 03. 2022, 14:42:54 »
Myslíš, že jsem to neudělal?

pyufw 2019
python-ufw 2018
Ještě jsem našel dvě starší...

Nic, co by nevypadalo mrtvě.
Pokud je tam za rok 0 commitů, je to mrtvé, nerad používám mrtvé knihovny, byť tam třeba hned nehrozí bezpečnostní díra.

Proč by někdo upravoval funkční věc? Jen aby někomu udělal radost? Já ti nevím, mě to přijde jako vážně zvláštní přístup...

CPU

  • *****
  • 613
    • Zobrazit profil
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #11 kdy: 17. 03. 2022, 15:43:21 »
Proč by někdo upravoval funkční věc? Jen aby někomu udělal radost? Já ti nevím, mě to přijde jako vážně zvláštní přístup...

A máš vůbec nějaké zkušenosti s vývojem software?
Pokud se na něco dost dlouho nesáhne, už je to mrtvé napořád, i kdyby se objevila sebevětší bezpečnostní díra.
(EDIT: Čest výjimkám.)

BTW, os.system("blabla") je možná docela dobrý nápad, protože bych se obešel bez té knihovny a v podstatě od toho nechci nic světoborného.

Aka: os.system("firewall-cmd --reload >/dev/null 2>&1")

Díky, to je dobrá myšlenka k uvážení...

rmrf

Re:Python + Firewall + Debian 11
« Odpověď #12 kdy: 17. 03. 2022, 18:37:01 »
Udělej ipsec VPN, přiděluj jednotlivým uživatelům stálé privátní adresy a nakonfiguruj firewall napevno.
Udělej ipsec VPN host-to-host(net), markuj jednotlivá spojení podle uživatele a nakonfiguruj firewall napevno.
(Udělej ipsec VPN host-to-host(net) a pomocí updown scriptu zařiď tu úpravu firewallu.)

Prostě bych se pokud možno nezabýval dynamickou úpravou firewallu, ale řešil bych to na úrovni VPN.

CPU

  • *****
  • 613
    • Zobrazit profil
    • E-mail
Re:Python + Firewall + Debian 11
« Odpověď #13 kdy: 17. 03. 2022, 19:28:27 »

Jenže to není jen o VPN, ale i hromadě dalších služeb, které budou dostupné jen po předchozím "před-přihlášení".


Re:Python + Firewall + Debian 11
« Odpověď #14 kdy: 20. 03. 2022, 10:15:58 »
Chci dynamicky přidávat a odebírat IP adresy klientů.
Přihlásí se na webu, což pro danou IP otevře dodatečné porty (PPTP VPN, DB, SSH) podle oprávnění.
Není to 100% zabezpečení, ale silná dodatečná vrstva.

1. uživatel Ruda se přihlásí
2. pro jeho IP se vytvoří SSH tunel do DMZ na stroj Srv01
3. za 180 minut to spadne

Nebo:
1. uživatel JAN se přihlásí
2. pro jeho IP se povolí VPN
3. za 180 minut to spadne

Podobná řešení jsou, ale nevyhovují, chci si napsat svoje.
Co když uživatel Jan ve 180 minutách změní ipadresu? To se má logovat znovu?