Portál AbcLinuxu, 25. května 2024 01:11


Dotaz: Nové servery a řešení dobré firewallu na jednotlivých serverech

6.1. 14:11 alfik
Nové servery a řešení dobré firewallu na jednotlivých serverech
Přečteno: 547×
Odpovědět | Admin
Zdravím,

mám takový problém - poslední dobou zjišťuji, že pořádně nevím jak vhodně řešit firewall na serverech, aby byl dostatečně restriktivní (co nejvíce to jde - požadavek firmy) a zároveň dobře udržovatelný.

- Požadavky jsou omezit služby (ideálně přímo aplikace - to není v linuxu moc proveditelné; systemd to trochu umí) na konkrétní doménu a port - umožnit nějakou aktualizaci, když se změní na doméně ip adresa - omezit ostatní systémové služby (apt, ntp, dns - pouze na konrétní opět dns aktuální záznamy) - validovat dns - přidat pár povolených dns záznamů a pak nějaké konkrétní ip

Situace se má tak, že např. ntp/apt se někdy mění a nemají cidr s rozsahem, ale poskytují pouze dns, záznam. Podobně u jedné aplikace, mám mít povolenou komunikaci pouze např. na účetní soft (fakturoid), ale tam se někdy změní ip také..

V tuto chvíli staticky aktualizuji ip tables/nftables a snažím se vygenerovat konfiguraci a udržovat jí, ale je to těžké realizovatelné s tím jak se to mění. Snažil jsem se najít nějaký doporučený / udržovaný nástroj ideálně přímo součástí nft/iptables a nic jsem nenašel.

Myslel jsem, si, že některé problémy > přiřadit omezení pouze pro konkrétní aplikaci, lze vyřešit přes systemd - je tam právě to, že IpAddressAllow/deny je vztaženo přímo k aplikaci - což trošku pomáhá, ale jsou tam opět pouze ip. asi by se to nějak dalo aktualizovat přes timer a pak resetnout/nějak aktualizovat službu?

Jak toto řešíte?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.1. 14:14 alfik
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Odpovědět | | Sbalit | Link | Blokovat | Admin
OPRAVA - špatné formátování
- Požadavky jsou omezit služby (ideálně přímo aplikace - to není v linuxu moc proveditelné; systemd to trochu umí) na konkrétní doménu a port
- umožnit nějakou aktualizaci, když se změní na doméně ip adresa
- omezit ostatní systémové služby (apt, ntp, dns - pouze na konrétní opět dns aktuální záznamy)
- rozšiřovat a dlouhodobě udržovat v konzistenci na různých serverech (různé nastavení pro server)
- povolit i nějaké přímo ip
- mít i nějakou analýzu firewallu (komunikaci na konkrétním serveru)
6.1. 14:38 X
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vy nepouzivate dedikovany firewall, ze to musis resit rucne per server? To je nejaky vtip?
6.1. 15:45 Alfik
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Používáme - bohužel nařízení se vztahuje i na jednotlivé servery (máme je v různých datacentrech/různí dodavatelé)
6.1. 15:47 alfik
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Jinak nemusím to řešit ručně - ani to neřeším ručně. Ručně ale musím kontrolovat, kde všude se v jaký čas změní ip nějaké služby (apt, dns, ntp, ten účetní program, healthchecky a tak dál..)
6.1. 15:50 alfonz
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
mám skript, který ty změny najde a připraví porovnání a pak už jen zaktualizuji servery a je hotovo, ale spíše bych chtěl vědět zda na to existuje nějaké ucelené řešení - ideálně takové, které se jednoduše nahradí/připojí. a prostě vyřeší pořádně firewall na serveru.
6.1. 18:40 X
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Cele je to postavene na hlavu. Jak pozadavky "vedeni" ktere ais netusi jak to dnes funguje, tak reseni. Pokud nemas automatizovanou infrastrukturu mas proste smulu. Nemas Ansible, nemas Docker, orchestrace 0 nic. Tak si alespon vyrob placnu Gitlab CI/Deploy misto toho prasiveho skriptu. Takovych moznosti dnes. Nechapu.
6.1. 18:53 alfik
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
A jak mi to pomůže? Jen tak mimo mám to v ansiblu+python...Ten problém to neřeší. Stejně musím jít a udělat ty změny, kontrolovat, že se někde něco externího změnilo a opět zkontrolovat, že se někde něco nerozbije. Tzn není to řešení problému.
6.1. 19:34 X
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
No jak, uz jsi nekdy videl firewall, ktery za tebe pohlida zmeny DNS, nebo zmeny IP adresy uplne ciziho serveru? Hadam nic takoveho neni. Pokud nechces resit zmenu IP pouzij DNS nazvy. Pokud protistrana zmeni DNS nazev = smula. Na zaklade ceho to budes detekovat? Jak zjistis novy nazev? Co kdyz se zmeni zaroven DNS i IP adresa? Kde se dozvis spravne hodnoty?
6.1. 20:31 alfik
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Dns právě použít moc dobře nejde jelikož např. iptables při použítí -> dns záznam pouze přeloží a použije aktuální ip > což znamená, že např. za chvilku to u některé domény může přestat platit. Lze však dokola spouštět skript s nastavením pravidel a tím aktualizovat IP, ale nad tím není pak moc kontrola.

Co se týče ip, tak to nic moc neřeší. Očekával bych, že právě existuje nástroj, kde se zadají domény/porty a on to v nějakých intervalech kontroluje a nabídne aktualizaci, kterou již pak jen aplikuji. Pokud se změní dns, tak to už bude problém, ale to se zas tak neděje. Naopak ip se mění často.
Jendа avatar 6.1. 21:10 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Lze však dokola spouštět skript s nastavením pravidel a tím aktualizovat IP, ale nad tím není pak moc kontrola.
Nepomůže, protože CDNky ti klidně dají jinou IP při každém dotazu. Tímhle spoléháš na to, že to zůstalo v DNS cache a proto se to snad za chvilku přeloží znova stejně. To není spolehlivé, cache náhodně vyprší, není garantovaná a tak.

IMHO to nemá řešení (mimo znásilnění systémového resolveru nebo způsobu jak probíhá spojení - proxy), protože aplikace si dělají překlad samy a navenek se už spojují jen na IP adresy -- nemáš možnost tohle párovat.
8.1. 09:59 MP
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Dejte kazdy server do vlastni site/vlan a napojte na centralni fw. Nebudete muset resit problemy fqdn vuci iptables, btw, i to iptables uz dnes spada do kategorie zastaraleho SW.

Nebo si nechte si nacenit support nejake externi firmy, ktera to resi. Az tu cenu vedeni uvidi, mozna jim neco dojde.
6.1. 19:00 alfik
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
btw - jak mi vlastně vůbec může Docker pomoci? Vzhledem k tomu, že chci řešit firewall na serveru jako takovém, tak docker je pravděpodobně úplně k ničemu - chci např. omezit přístup pro apt/ntp/dns a to spravovat.
Jendа avatar 6.1. 19:48 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Jak by jeho problém (omezení komunikace se specifickými pravidly pro jednotlivé aplikace) řešil nějaký dedikovaný firewall?
6.1. 21:22 X
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Jsem nevedel ze ma servery roztahane po datacentrech..
Jendа avatar 6.1. 21:32 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
I kdyby neměl, jak by to mělo fungovat? Externí box netuší, která aplikace spojení vyvolala.
6.1. 23:13 X
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Mam servery a mam firewall ne? Kdo dneska resi firewall na serveru? Mam nasekane virtualy/kontejnery, vlany/vpc a pak mam firewall/proxy, ktera resi security. Hotovo. To, ze ma kazdy server nekde jinde je holt smula. Osobne bych je s takovym pozadavkem poslal tam kde slunce nesviti.

Orezavat NTP, apt? Promin, ale to je trochu paranoia nemyslis?
Max avatar 6.1. 19:42 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takže požadavek je podpora fqdn ve firewallu a to ještě per app? A když vyprší dns záznam, tak se musí refreshnout rula ve fw? A pokud má dns více IP, tak to musí sežrat také. Chápu to tak správně?
Zdar Max
Měl jsem sen ... :(
Jendа avatar 6.1. 20:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
A pokud má dns více IP, tak to musí sežrat také.
No právě, tohle mi přijde při současných CDN/poolech/loadbalancerech docela nereálné, v podstatě by musel provozovat vlastní DNS server, všechny dotazy tlačit přes něj a podle odpovědí dynamicky přidávat povolovací pravidla.

To už bude lepší řešit to na aplikační úrovni a hnát to přes proxy. Vidíš, to by vlastně mohlo docela dobře fungovat, ne? Protože proxy řekneš přímo hostname, na který se chceš připojit.
Max avatar 6.1. 21:58 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Tak já v práci většinu věcí honím přes proxy server, až na výjimky, nemají přímý přístup na net. Zároveň mám fw i mezi servery (komunikace mezi servery je zakázána, až na nezbytné výjimky). Dobře to např. zafungovalo při zero day zranitelnosti Citrixu, kdy tato věc byla zneužívána dávno před oznámením. Došlo tedy k infikaci Citrix GW (Netscaller, to je ta věc, co má kritickou zranitelnost x krát do roka), přes kterou se uživatelé připojují na Citrix. Útočník pozměnil nějaké soubory, otevřel si porty (běžel tam nc) apod. a to všechno mu bylo k prdu, bo se nikam nedobouchal. Infiltrace botem tedy zafungovala, ale tím to také skončilo. Navíc komunikace přes proxy je auditovatelná a dají se tam nastavovat filtrační pravidla.
Zdar Max
Měl jsem sen ... :(
6.1. 20:33 alfik
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
No možná by to cca takhle mohlo fungovat, ale nevím jestli jsou takové věci reálné.
Max avatar 6.1. 22:04 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Jde to dobastlit. Ale mně osobně to přijde naprosto zbytečné a komplikované. Je to vlastně stavění takového domečku z karet, co vyžaduje nadměrnou údržbu. Já to řeším v práci jinak. Trafik do netu honím přes proxy server, kde jdou nastavit globální filtrační pravidla. Mezi servery mám komunikaci zakázanou, resp. povolené nezbytné minimum (icmp, případně pokud jsou dva servery v nějakém druhu clusteru, tak onu komunikaci mezi nimi, nikoli rdp, ssh apod.). U některých služeb mám nastavený filtrační pravidla na úrovni hlavního L3 switche / vlany.
Abych řešil např. filtraci, že jen ntp/chrony daemon může komunikovat s ntp serverem apod., to už mi přijde jako totální zbytečnost.
Zdar Max
Měl jsem sen ... :(
Jendа avatar 6.1. 19:57 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Odpovědět | | Sbalit | Link | Blokovat | Admin
U toho apt a NTP si můžeš vybrat konkrétní server (např. ftp.cz.debian.org a tak.cesnet.cz), protože defaultně ti z poolu samozřejmě loadbalancer přidělí pokaždé nějaký jiný. I tak ale není možné zaručit, že to správce té cizí služby nezmění, leda si provozovat vlastní (cachující) mirror a NTP. To možná stejně chceš, protože nejdřív chceš strašně omezit jednotlivé aplikace na konkrétní adresy (a například ti nepřijde průchodné povolit UDP/123 globálně abys nemusel konkrétní NTP server řešit) a pak je necháš bavit se s náhodným serverem z NTP poolu z internetu, který sis resolvnul přes jejich nezabezpečené DNS.

Ty jednotlivé služby/aplikace - hledej systemd network namespace, můžeš to pak matchovat přes iptables a updatovat to za běhu.

Distribuce pravidel jednotlivé stroje nevím, já bych dělal iptables-save a kopíroval ten soubor :)
Já to s tou denacifikací Slovenska myslel vážně.
6.1. 21:34 X
Rozbalit Rozbalit vše Re: Nové servery a řešení dobré firewallu na jednotlivých serverech
Jenze kdyz si napevno nadefinuje NTP server a dojde ke zmene, musi nejen upravit firewall, ale jeste upravit i konfiguraci klienta..

Mimochodem cemu to osekani ma vlastne branit?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.