Skocz do zawartości
Fizyda

Firewall - ruch wychodzący

Polecane posty

Podczas konfigurowania iptables (CSF) do działania z kontenerami LXC (dalej nazywane VM'kami) zacząłem zastanawiać się nad ruchem wychodzącym oraz bezpieczeństwem. CSF domyślnie blokuje większość portów wychodzących (OUTPUT) i pozostawia tylko kilka otwartych między innymi 53, 80, 443.

 

Zacząłem zastanawiać się czy takie srogie restrykcje mają jakieś uzasadnienie pod kątem bezpieczeństwa, czy ma to jakiś sens.

 

Moja konfiguracja wygląda w ten sposób że host pełni rolę routera. Na VMki przekierowywane są konkretne porty w zależności od usług które na nich działają. Zrobione jest to przez csf.redirect. Prosto i skutecznie, lecz w takiej konfiguracji VMki nie mają połączenia z internetem.

 

Brak komunikacji z internetem dla VMek to spory problem bo nie można zaktualizować nic, ani zainstalować, dodatkowo jeśli np serwer HTTP będzie miał jakiś skrypt w PHP który pobiera coś z zewnętrznego serwera to zwyczajnie nie będzie działał. To samo tyczy się np TS3.

 

Sposobem jaki znalazłem na to by VMki miały połączenie z internetem (dla ruchu wychodzącego) jest dodanie reguł w csfpre.sh:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Co jest zaczerpnięte stąd https://wiki.debian.org/LXC/SimpleBridge, plus zezwolenie na forwarding (csf ustawia domyślną politykę na drop)

iptables -A FORWARD -i eth0 -o br-vm0 -j ACCEPT
iptables -A FORWARD -i br-vm0 -o eth0 -j ACCEPT

Takim oto sposobem mam połączenie z internetem na VMkach oraz przekierowane odpowiednie porty.

Problem jest taki że ruch wychodzący z VMek jest jakby poza firewallem hosta, co za tym idzie jeśli np. na hoście zablokuję cały ruch wychodzący VMki i tak mogą się łączyć z internetem.

 

Ponieważ nie da się zrobić przekierowań nat za firewallem, a przynajmniej tak przeczytałem na jednej ze stron to zacząłem zastanawiać się jak to naprawić. Jedyne co mi przyszło do głowy to instalacja CSF na VMkach, tylko szkoda zasobów i instalowania tego co już jest na hoscie.

Dlatego zacząłem się zastanawiać czy jest w ogóle sens blokowania ruchu wychodzącego. Jeśli jest to jaki?

 

W obecnej konfiguracji VMki i tak są ukryte w sieci lokalnej, a ruch przychodzący jest przekierowywany do nich taki jak ustawię na hoście. Więc czy instalować CSF na VMkach lub chociaż konfigurować na nich firewall (iptables)?

 

-- lekki offtop --

Dodatkowo mam dziwną sytuację bo po jakimś czasie csf blokuje mi dostęp do SSH na hoście. Dziwna bo przeinstalowałem dziś CSF ponieważ miałem właśnie ten problem i myślałem że coś na grzebałem w plikach i w sumie wszystko działało przez jakiś czas. Teraz problem jakby powrócił, a ustawień nie zmieniałem.

Klient SSH nie jest blokowany w hosts.denny bo sprawdzałem w iptables również brak jego ip.

Nie aktualne, znalazłem przyczynę - zbanowało mnie co innego :P

 

EDIT:

Tak sobie myślę firewall na VMkach w sumie się przyda, bo ruch po przekierowanych portach i tak nie jest filtrowany przez firewall hosta więc przyda się coś do blokowania wszelkiego rodzaju syfu nawet na porcie 80/443 a tym bardziej przyda się to do zabezpieczenia TS3 by filtrować pakiety które mają ubić serwer.

 

Chyba muszę zacząć stosować metodę gumowej kaczuszki :P Dużo przemyśleń mam a co za tym idzie często doznaję olśnienia chwilę po wysłaniu posta :D

Edytowano przez Fizyda (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

Tak sobie myślę firewall na VMkach w sumie się przyda, bo ruch po przekierowanych portach i tak nie jest filtrowany przez firewall hosta więc przyda się coś do blokowania wszelkiego rodzaju syfu nawet na porcie 80/443 a tym bardziej przyda się to do zabezpieczenia TS3 by filtrować pakiety które mają ubić serwer.

 

Chyba muszę zacząć stosować metodę gumowej kaczuszki :P Dużo przemyśleń mam a co za tym idzie często doznaję olśnienia chwilę po wysłaniu posta :D

 

Monitoruj sobie ruch chodzący w te i z powrotem a jak coś to blokuj całą VMkę. Nie baw się w jakieś skomplikowane filtrowania. Z reguły takie rozwiązanie jest dobre.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×