Pokrewne
- Strona Główna
- ipf.pl
- ipf (2)
- Bartłomiej Farrar Josephine Tey
- Joseph P. Farrell Wojna nuklearna sprzed 5 tysięcy lat
- Diderot Denis Zakonnica
- Ringo John Wojny Rady Tom 1 Tam Będą Smoki
- The Linux Users' Guide
- DiMercurio Michael Wektor zagrozenia (2)
- Chmielewska Joanna Krowa Niebianska (www.ksiazki4u
- Adobe.Photoshop.7.PL.podręcznik.uzytkownika.[osiolek.pl] (3)
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- streamer.htw.pl
[ Pobierz całość w formacie PDF ]
.Licznik ten jest zmniejszany z każdą sekundą gdy wpis nie jest używany, aż w końcu połączenie zostaniezerwane jeśli zostanie pozostawione bezczynnie.Licznik jest również zerowany na wartość 864000 za każdymrazem, gdy użyjemy wpisu, więc połączenie nie zostanie zamknięte w trakcie jego używania.Możemy równieżodczytać, że przepuściliśmy przez to połączenie 196 pakietów składających się na około 17kB danych.Oprócz tegomożna odczytać porty po obu stronach - 987 i 22, co oznacza że ten wpis symbolizuje połączeniu z adresu100.100.100.1 portu 987 na adres 20.20.20.1 na port 22.Bardzo duże numery w drugiej linijce to numerysekwencyjne TCP wygenerowane dla tego połączenia, pomagające zabezpieczyć je przed wpuszczeniemdodatkowych, spreparowanych pakietów.Pokazane jest również okno TCP.Trzecia linia stanowi wynik reguły którazostała wygenerowana przez regułę keep state i pokazuje ona że jest to połączenie przychodzące.7.2 Narzędzie ipmonipfstat jest fajny jeśli chodzi o sprawdzenie aktualnego stanu systemu, ale zwykle chcemy mieć również jakiś log,by oglądać wydarzenia dziejące się w czasie.Służy do tego ipmon.Jest on zdolny do sprawdzania logów pakietów(tworzonych przez słowo kluczowe log w regułach), logu tabeli stanów i logu NAT, lub dowolnej kombinacji tychtrzech.Narzędzie to może pracować zarówno na pierwszym planie, lub jako demon który loguje informacje dosyslog lub pliku.Jeśli chcielibyśmy zobaczyć listę stanów w akcji, użyjemy polecenia ipmon -o S# ipmon -o S01/08/1999 15:58:57.836053 STATE:NEW 100.100.100.1,53 -> 20.20.20.15,53 PR udp01/08/1999 15:58:58.030815 STATE:NEW 20.20.20.15,123 -> 128.167.1.69,123 PR udp01/08/1999 15:59:18.032174 STATE:NEW 20.20.20.15,123 -> 128.173.14.71,123 PR udp01/08/1999 15:59:24.570107 STATE:EXPIRE 100.100.100.1,53 -> 20.20.20.15,53 PR udp Pk01/08/1999 16:03:51.754867 STATE:NEW 20.20.20.13,1019 -> 100.100.100.10,22 PR tcp01/08/1999 16:04:03.070127 STATE:EXPIRE 20.20.20.13,1019 -> 100.100.100.10,22 PR tcpWidzimy zapytanie DNS z zewnętrznej maszyny do naszego serwera, dwa pingi xntp to dobrze znanych serwerówczasu i połączenie wychodzące ssh które trwało bardzo krótko.ipmon jest również w stanie pokazać nam jakie pakiety są logowane.Na przykład, kiedy używamy stanów, częstospotkasz pakiety takie jak ten:# ipmon -o I15:57:33.803147 ppp0 @0:2 b 100.100.100.103,443 -> 20.20.20.10,4923 PR tcp len 20 14Co to oznacza? Pierwsze pole to oczywiście stempel czasu.Drugie jest również raczej oczywiste, to interfejs naktórym wydarzyło sie zdarzenie.Trzecie pole @0:2 to coś, co ludzie zwykle pomijają.To oznaczenie reguły któraspowodowała zdarzenie.Pamiętasz ipfstat -in? Jeśli chciałbyś wiedzieć co spowodowało zalogowanie pakietu,powinieneś obejrzeć regułę 2 w grupie 0.Czwarte pole, małe b mówi że pakiet został zablokowany, i generalniebędziesz to ignorował, chyba że logujesz również pakiety które przepuszczasz, co spowoduje pokazanie się literki'p'.Piąte i szóste pole nie wymagają chyba wyjaśnienia, mówią one skąd pakiet przyszedł i gdzie miał dotrzeć.Siódme (PR) i ósme pole to protokół, a dziewiąte długość pakietu.Ostatnia część, -A' to flagi które były ustawione;ten pakiet ma ustawioną flagę ACK.Dlaczego wspomniałem na początku stany? Ponieważ często w Interneciezdarzają się lagi, pakiety są regenerowane i czasami dostaniesz dwa takie same, co spowoduje stwierdzenie przezkod odpowiedzialny za śledzenie połączeń, że to pakiet należący do innego połączenia.Być może trafi on na regułę.Zwykle zobaczysz tutaj ostatni pakiet sesji zalogowany, ponieważ kod keep state już wyrzuci połączenie, zanimostatni pakiet będzie miał szansę dotrzeć do twojej ściany ogniowej.To normalne zachowanie, nie denerwuj się.Innym przykładem pakietu może być:12:46:12.470951 xl0 @0:1 S 20.20.20.254 -> 255.255.255.255 PR icmp len 20 9216 icmpJest to broadcast rozpoznawczy ICMP routera.Możemy to stwierdzić na podstawie typu ICMP: 9/0.Na koniec, ipmon pozwala również na obejrzenie tabeli NAT:# ipmon -o N01/08/1999 05:30:02.466114 @2 NAT:RDR 20.20.20.253,113 20.20.20.253,113 [100.101/08/1999 05:30:31.990037 @2 NAT:EXPIRE 20.20.20.253,113 20.20.20.253,113 [10Widzimy tu przekierowanie do serwera identd, który kłamie twierdząc że udostępnia usługę ident dla maszyn zanaszym NATem, ponieważ zwykle nie mogą one sobie same zapewnić tej usługi przy zwykłym NATcie.8.Specyficzne zastosowania Filtra IP - rzeczy które nie pasowaływyżej, ale są warte wspomnienia8.1 Utrzymywanie stanu (ang.keep state) oraz flagi i serweryUtrzymywanie stanu jest fajną sprawą, ale bardzo łatwo jest popełnić błąd decydując w którą stronę będziemyutrzymywać stan.Generalnie, będziesz chciał ustawić słowo kluczowe keep state przy pierwszej regule którawchodzi w interakcję z pakietami inicjującymi dany rodzaj połączenia.Jednym z najczęściej spotykanych błędówjest, w momencie łączenia śledzenia stanów z filtrowaniem według flag, jest tak jak poniżej:block in allpass in quick proto tcp from any to 20.20.20.20/32 port = 23 flags Spass out all keep stateReguły wyraznie umożliwiają tworzenie połączeń do serwera telnetu pod adresem 20.20.20.20 i odsyłanieodpowiedzi ze strony serwera.Jednak gdy spróbujesz użyć tych reguł, zadziałają ale na krótko.Ponieważwpuszczamy tylko pakiety z ustawioną flagą SYN, pozycja w tabeli stanów nigdy nie zostanie dokończona, i poprzekroczeniu domyślnego czasu na ustanowienie połączenia (60 sekund) połączenie zostanie zamknięte.Możemy rozwiązać ten problem, przepisując reguły na jeden z dwóch sposobów:block in allpass in quick proto tcp from any to 20.20.20.20/32 port = 23 keep stateblock out alllub:block in allpass in quick proto tcp from any to 20.20.20 [ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl agnieszka90.opx.pl
.Licznik ten jest zmniejszany z każdą sekundą gdy wpis nie jest używany, aż w końcu połączenie zostaniezerwane jeśli zostanie pozostawione bezczynnie.Licznik jest również zerowany na wartość 864000 za każdymrazem, gdy użyjemy wpisu, więc połączenie nie zostanie zamknięte w trakcie jego używania.Możemy równieżodczytać, że przepuściliśmy przez to połączenie 196 pakietów składających się na około 17kB danych.Oprócz tegomożna odczytać porty po obu stronach - 987 i 22, co oznacza że ten wpis symbolizuje połączeniu z adresu100.100.100.1 portu 987 na adres 20.20.20.1 na port 22.Bardzo duże numery w drugiej linijce to numerysekwencyjne TCP wygenerowane dla tego połączenia, pomagające zabezpieczyć je przed wpuszczeniemdodatkowych, spreparowanych pakietów.Pokazane jest również okno TCP.Trzecia linia stanowi wynik reguły którazostała wygenerowana przez regułę keep state i pokazuje ona że jest to połączenie przychodzące.7.2 Narzędzie ipmonipfstat jest fajny jeśli chodzi o sprawdzenie aktualnego stanu systemu, ale zwykle chcemy mieć również jakiś log,by oglądać wydarzenia dziejące się w czasie.Służy do tego ipmon.Jest on zdolny do sprawdzania logów pakietów(tworzonych przez słowo kluczowe log w regułach), logu tabeli stanów i logu NAT, lub dowolnej kombinacji tychtrzech.Narzędzie to może pracować zarówno na pierwszym planie, lub jako demon który loguje informacje dosyslog lub pliku.Jeśli chcielibyśmy zobaczyć listę stanów w akcji, użyjemy polecenia ipmon -o S# ipmon -o S01/08/1999 15:58:57.836053 STATE:NEW 100.100.100.1,53 -> 20.20.20.15,53 PR udp01/08/1999 15:58:58.030815 STATE:NEW 20.20.20.15,123 -> 128.167.1.69,123 PR udp01/08/1999 15:59:18.032174 STATE:NEW 20.20.20.15,123 -> 128.173.14.71,123 PR udp01/08/1999 15:59:24.570107 STATE:EXPIRE 100.100.100.1,53 -> 20.20.20.15,53 PR udp Pk01/08/1999 16:03:51.754867 STATE:NEW 20.20.20.13,1019 -> 100.100.100.10,22 PR tcp01/08/1999 16:04:03.070127 STATE:EXPIRE 20.20.20.13,1019 -> 100.100.100.10,22 PR tcpWidzimy zapytanie DNS z zewnętrznej maszyny do naszego serwera, dwa pingi xntp to dobrze znanych serwerówczasu i połączenie wychodzące ssh które trwało bardzo krótko.ipmon jest również w stanie pokazać nam jakie pakiety są logowane.Na przykład, kiedy używamy stanów, częstospotkasz pakiety takie jak ten:# ipmon -o I15:57:33.803147 ppp0 @0:2 b 100.100.100.103,443 -> 20.20.20.10,4923 PR tcp len 20 14Co to oznacza? Pierwsze pole to oczywiście stempel czasu.Drugie jest również raczej oczywiste, to interfejs naktórym wydarzyło sie zdarzenie.Trzecie pole @0:2 to coś, co ludzie zwykle pomijają.To oznaczenie reguły któraspowodowała zdarzenie.Pamiętasz ipfstat -in? Jeśli chciałbyś wiedzieć co spowodowało zalogowanie pakietu,powinieneś obejrzeć regułę 2 w grupie 0.Czwarte pole, małe b mówi że pakiet został zablokowany, i generalniebędziesz to ignorował, chyba że logujesz również pakiety które przepuszczasz, co spowoduje pokazanie się literki'p'.Piąte i szóste pole nie wymagają chyba wyjaśnienia, mówią one skąd pakiet przyszedł i gdzie miał dotrzeć.Siódme (PR) i ósme pole to protokół, a dziewiąte długość pakietu.Ostatnia część, -A' to flagi które były ustawione;ten pakiet ma ustawioną flagę ACK.Dlaczego wspomniałem na początku stany? Ponieważ często w Interneciezdarzają się lagi, pakiety są regenerowane i czasami dostaniesz dwa takie same, co spowoduje stwierdzenie przezkod odpowiedzialny za śledzenie połączeń, że to pakiet należący do innego połączenia.Być może trafi on na regułę.Zwykle zobaczysz tutaj ostatni pakiet sesji zalogowany, ponieważ kod keep state już wyrzuci połączenie, zanimostatni pakiet będzie miał szansę dotrzeć do twojej ściany ogniowej.To normalne zachowanie, nie denerwuj się.Innym przykładem pakietu może być:12:46:12.470951 xl0 @0:1 S 20.20.20.254 -> 255.255.255.255 PR icmp len 20 9216 icmpJest to broadcast rozpoznawczy ICMP routera.Możemy to stwierdzić na podstawie typu ICMP: 9/0.Na koniec, ipmon pozwala również na obejrzenie tabeli NAT:# ipmon -o N01/08/1999 05:30:02.466114 @2 NAT:RDR 20.20.20.253,113 20.20.20.253,113 [100.101/08/1999 05:30:31.990037 @2 NAT:EXPIRE 20.20.20.253,113 20.20.20.253,113 [10Widzimy tu przekierowanie do serwera identd, który kłamie twierdząc że udostępnia usługę ident dla maszyn zanaszym NATem, ponieważ zwykle nie mogą one sobie same zapewnić tej usługi przy zwykłym NATcie.8.Specyficzne zastosowania Filtra IP - rzeczy które nie pasowaływyżej, ale są warte wspomnienia8.1 Utrzymywanie stanu (ang.keep state) oraz flagi i serweryUtrzymywanie stanu jest fajną sprawą, ale bardzo łatwo jest popełnić błąd decydując w którą stronę będziemyutrzymywać stan.Generalnie, będziesz chciał ustawić słowo kluczowe keep state przy pierwszej regule którawchodzi w interakcję z pakietami inicjującymi dany rodzaj połączenia.Jednym z najczęściej spotykanych błędówjest, w momencie łączenia śledzenia stanów z filtrowaniem według flag, jest tak jak poniżej:block in allpass in quick proto tcp from any to 20.20.20.20/32 port = 23 flags Spass out all keep stateReguły wyraznie umożliwiają tworzenie połączeń do serwera telnetu pod adresem 20.20.20.20 i odsyłanieodpowiedzi ze strony serwera.Jednak gdy spróbujesz użyć tych reguł, zadziałają ale na krótko.Ponieważwpuszczamy tylko pakiety z ustawioną flagą SYN, pozycja w tabeli stanów nigdy nie zostanie dokończona, i poprzekroczeniu domyślnego czasu na ustanowienie połączenia (60 sekund) połączenie zostanie zamknięte.Możemy rozwiązać ten problem, przepisując reguły na jeden z dwóch sposobów:block in allpass in quick proto tcp from any to 20.20.20.20/32 port = 23 keep stateblock out alllub:block in allpass in quick proto tcp from any to 20.20.20 [ Pobierz całość w formacie PDF ]