Firewall, HTB podział pasma - GOTOWIEC

Jacek Rzęsista jasio w jcentrum.net
Pią, 9 Wrz 2005, 20:05:46 CEST


Dnia środa, 7 września 2005 23:55, Sławomir Kawała napisał:
[CIACH]
> Coz, hax00rem od basha nie jestem, naklepalem takie cos:
>
> http://slwkk.alternatywa.net/mod_load
>
> chyba sie nigdzie nie walnalem... (testowalem u siebie pobieznie). Moze
> ktos to umie lepiej zrobic (1szy regex niedoskonaly - wiem).
> btw, sprawdza tylko mody w jajku - mozna dorzucic sprawdzanie modow
> iptables (*.so w katalogu iptables).
Już się przyglądam :)


[CIACH]
> > A co złego w module limit ? Dla mnie działa, a wedle starej zasady
> > elektronika  - jak cos działa, nei ruszaj bo zepsujesz :). A tak na
> > poważnie - mógłbys cos  szerzej napisać w czym dstlimi/hashlimit jest
> > lepszy od limit w tym  zastosowaniu ?
>
> dstlimit/hashlimit to rozwiazania dedykowane... modul limit OIDP byl
> tworzony do limitowania ilosci logow... ok - teraz dziala tez z
> pakietami... co zyskujemy uzywajac dstlimit/hashlimit... mniejsza ilosc
> regul fw w przypadku ograniczania ilosci pkt/s od hostow... np regula:
>
> iptables -t filter -I FORWARD -i int_lan -o int_wan -p tcp -m hashlimit
> --hashlimit-mode dstip --hashlimit 200/s --hashlimit-name bla -j ACCEPT
>
> akceptuje 200 pkt tcp/s z kazdego ip wchodzacego int_lan i wychodzacego
> int_wan ... lepsza (zazwyczaj...) 1 regula niz X
>
> btw, to samo sie tyczy connlimit, a wiec w Twoich skryptach mozesz tez
> sobie darowac "-s kazdy_ipek" tylko zaprojektowac jak w ww. przykladzie
>
> Dstlimit/hashlimit ma wiecej opcji niz limit: iptables -m
> dstlimit/hashlimit --help or
> http://www.netfilter.org/patch-o-matic/pom-submitted.html
OK, dzięki - poczytam/doczytam :)

> No na poziomie kodu Ci nie zanalizuje przewagi jednego nad drugim bo na
> tyle sie nie znam.
Nie o to mi chodziło ;) Generalnie zrobiłem to w ten sposób - po regułce na 
IP, że po wylistowaniu liczników od razu widać, że ktos sporo przekracza - i 
jeżeli dzieje się to w krótkich odcinkach czasu - można zacząć podejrzewać, 
że na takim kliencie jakiś wirus grasuje :) A wtedy należy się bliżej 
przyjrzeć ....

> > > 9. Limitowanie icmp echo request 1/s to chyba juz lekka paranoja...
> > > imo za malo.
> >
> > Czemu ? Wystarczy, zeby było widać, że host żyje i odpowiada ......
> > zresztą w  takim ustawieniu nie jestem "osamotniony" - wzorowałem się
> > na przykładach z  netu, grup dyskusyjnych itd.
>
> Np masz skrypty monitorujace co n-minut czy serwer zyje przez icmp...
> ktokolwiek (lub cokolwiek, bo niektore serwisy tez sprawdzaja przez
> icmp) teraz sprobuje 'pingnac' takiego hosta nie dostanie odpowiedzi.
> 5/s to imo optymalna wartosc - 5pps dla kernela/pc-ta/ to jest tyle co
> i nic...
OK - przyjmuję argumentację :)

> > > 10. Markowanie pakietow pod htb w stylu ack, syn jakies tam 53 udp
> > > itp imo lepiej globalnie zastapic markowaniem pakietow powiedzmy do
> > > 100 bajtow
> >
> > Specjalnie zrobiłem tak a nie inaczej - programy p2p wysyłają często
> > dużo  malutkich pakietów z danymi - jeżeli by zrobić tylko takie
> > ogólne  ograniczenie - takie pakiety łapałyby się na to znakowanie - i
> > potem  leciałyby do kolejki priorytetowej ...... A one mają trafić do
> > kolejki o  najmniejszym priorytecie i o niepełnym wykorzystaniu łącza.
>
> Zgadza sie ... na pewno zlapia sie jakies p2p pakiety do 100 bajtow
> (choc nie u Ciebie akurat bo wycinasz p2p), aczkolwiek ja zauwazylem u
> siebie, ze czym bardziej rozbudowany skrypt do QoS tym bardziej ociezale
> i mniej wydajnie to dziala .. dlatego swoj pisalem maksymalnie prosty z
> jak najmniejsza iloscia regul, na razie sprawdza sie w miare ok -
> niedlugo zamierzam zainteresowac sie hfsc.
Nie to, że wycinam - mocno ograniczam ;) A skrypt qos sprawdza mi się i na 
sieci z kilkunastoma kompami i na sieciach z ~90 kompami. Na większych 
jeszcze nie było okazji sprawdzać ......  O hfsc wiem tyle, że podobno trochę 
lepszy ale bardziej skomplikowany i mało dokumentacji ;)

> > > 12. Po co w tabeli mangle dawac cokolwiek z -j ACCEPT, skoro nigdzie
>
> (...)
>
> > A na wyjściu nie  będzie to dokładne - bo ruch z proxy będzie leciał z
> > IP serwera a nie hosta.  A MARK jak pewnie zauważyłeś - unikam :)
>
> Bedzie jesli dodasz te druga regula liczaca ruch do proxy... wtedy mark
> ma przewage nad accept bo mozesz 2 reguly (i wiecej) zaznaczyc jednym
> 'markiem'. Generalnie rzecz rozbija sie tu o idee... wolisz dawac
> ACCEPT, choc i tak te pakiety sa defaultowo akceptowane, ja wole MARK ;]
Dokładnie jak mówisz - kwestia tego co kto lubi ;)

> > lstat-a też nie jest ono  potrzebne ;)
>
> w ogole btw lepiej poznac rrdtool i skrobnac swoje skrypty niz opierac
> sie na 'kombajnie' (kombajn jest nadmiarowy przez co wynikaja problemy -
> bugi w sofcie.. wide ostatni, gdzie mozna bylo czytac all pliki z
> serwera z uprawnieniami usera, na ktorym dzialal lstat)
Wiem, wiem, ale kiedyś trzeba jeszcze sypiać i zajmować się rodziną :D

> > Założyłem, że w sieci lokalnej nie ma złośliwych crackerów którzy
> > czyhają na  mój biedny serwer :) Ale można tu oczywiście zastosować
> > reguły z zewnętrznego  interfejsu.
>
> Zle zalozenie... :)
>
> > > To samo sie tyczy:
> > >
> > > $ipt -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
> > > $ipt -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j
> > > ACCEPT $ipt -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j
> > > ACCEPT
> >
> > Czemu ? To pozwala na kontynuację połączeń już nawiązanych i
> > "powiązanych" -  jak np. ftp ....
>
> Zbyt ogolne... nie precyzujesz interfejsow, skad dokad, -p all odpowiada
> calemu /etc/protocols gdzie w znacznej wiekszosci wystarczy tcp/udp/icmp
>
> jakis script kiddie wbija Ci sie na router, zakladamy, ze nie ma
> roota... nawiazuje sobie polaczenie ssh z jakims przejetym serwerem,
> gdzie ma swoja 'baze'... binduje Ci socks na >1024 porcie i teraz z
> 'bazy' moze sie polaczyc z Twoim routerem na porcie gdzie zabindowal
> socks i wykorzystac Twoj router jako proxy dla roznych uslug. Tym samym
> staje sie (prawie) anonimowy. Gdybys zrobil restrykcyjniejsze,
> szczegolowsze reguly z routera nie moznaby sie laczyc na 'baze', nic
> poza okreslonymi uslugami na routerze nie byloby dostepne z zewnatrz
> itd.
Bardzo pesymistyczny scenariusz :) Na szczęście u mnie ludzie korzystają z 
netu w innych celach :) Jeszcze się mi od script kiddi nie dostało ;)


> > > 14. Ruch wychodzacy z serwera zaokraglilbym do kilku hostow przy
> > > state NEW
> >
> > Kwestia polityki - ale jeżeli na serwerze masz serwer poczty, www, ftp
> > - to  nie możesz ograniczać tylko do kilku hostów ......
>
> Nie uznaje poczty, www, ftp na pc, ktory robi za router... router ma
> robic za router + fw (imo), w ogole nie uznaje www, ftp, poczty na
> Linuksie...wole do tego FreeBSD.
Znowu kwestia idei ;)  I czasu poświęconego na pewne rzeczy :)

> > > Generalnie widac, ze to skrypty robione pod Twoja siec i wedle
> > > jakichs tam upodoban... brak w nich uniwersalizmu i mnogosci wyboru
> > > miedzy roznymi rozwiazaniami ... (co jest zrozumiale bo pisales pod
> > > siebie w sumie).
> >
> > Dokładnie - dlatego publikując te skrypty mam nadzieję, że nastąpi ich
> > rozwój :)
>
> IMO robienie czegos uniwersalnego to straszna robota... kazdy fw
> powinien byc dopasowany do konkretnej sieci. Oczywiscie do pewnego
> stopnia da sie napisac uniwersalnego fw, ale to by musial byc dosc
> skomplikowany i duzy projekt, praktycznie pisany od 0 z mysla o
> uniwersalnosci.
Racja. Dlatego ja swoje skrypty publikuję jako wyjściowy szkielet do tworzenia 
własnych rozwiązań. Zawsze to jakaś baza wiedzy - jak to zrobili inni.

> > A na koniec dołączam jfirewall po lekkim tuningu na podstawie Twoich
> > uwag :)
>
> Zerkne jeszcze jutro za dnia, ten connlimit mozesz poprawic o ile Ci nie
> zalezy na listowaniu kto limity przekracza - np. ja wole mniejsza ilosc
> regul.
Tak jak pisałem - wyżej - mnie akurat zależy na wylistowaniu kto przekracza 
limity - przydatne.
-- 
Jacek Rzęsista
GG 61213



Więcej informacji o liście dyskusyjnej pld-users-pl