Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-08-06 11:42:14

  Piotrus Pan - Użytkownik

Piotrus Pan
Użytkownik
Zarejestrowany: 2009-07-15

Prośba o wyjąsnienie sytuacji z iptables i netstat

Cześć.

Z góry chciałem powiedzieć, że nie chodzi mi o wyjaśnienie od podstaw jak iptables czy netstat działają. Po prostu nie rozumiem mojej sytuacji i może ktoś mógłby pomóc.

W iptables ustawiłem takie reguły:
sudo iptables -L -n -v --line-numbers

Kod:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        2   100 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 ctstate NEW
3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:993 ctstate NEW
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 ctstate NEW
5     208K  308M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate ESTABLISHED
6      715  142K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Dla czego reguły 2,3,4 są nieużywane? Skoro reguła 5 ma przepuszczać tylko już działające połączenia, to kto te połączenia rozpoczął i jakim cudem?
Jak wywalę reguły 2,3,4 to nic się nie dzieje ale jak wywalę regułę 5 to nie mam internetu.

Jeżeli chodzi o netstat to możliwe, że on wyjaśnia tą sytuację z iptables ale o to też właśnie chciałem się zapytać:
sudo netstat -natp

Kod:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:5939          0.0.0.0:*               LISTEN      3396/teamviewerd    
tcp        0      0 192.168.1.XX:41448      188.93.174.78:443       ESTABLISHED 4159/firefox-esr    
tcp        0      0 192.168.1.XX:41450      188.93.174.78:443       ESTABLISHED 4159/firefox-esr

To jest przy oglądaniu YT. Dla czego moje połączenie wychodzi po takim kosmicznym porcie? Czy to jest związane z tym, że jestem za NAT, za routerem? Mój komputer po tym dziwnym porcie wysyła zapytanie do routera a router przekierowuje to na 443 do serwera YT?

uname -a

Kod:

Linux 4.6.0-1-amd64 #1 SMP Debian 4.6.4-1 (2016-07-18) x86_64 GNU/Linux

sudo dpkg -l | grep -i network

Kod:

network-manager-gnome                 1.2.2-2                              amd64

Offline

 

#2  2016-08-06 12:28:50

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

3111

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:43:00)

Offline

 

#3  2016-08-06 12:58:19

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Bo port docelowy w INPUT jest skierowany na twoją maszynę, a ty nawiązałeś połączenie z serwerem na necie.

Połączenie może zostać ustanowione jak masz 5 rzeczy określonych: protokół, src-ip, src-port, dst-ip, dst-port. Jak ty nawiązujesz połączenie z serwerem www, to masz protokół: tcp, dst-ip 1.2.3.4, dst-port 80. Znasz też src-ip (twój własny), a src-port? Jest on dynamicznie dobierany z puli wolnych portów, zwykle te pięciocyfrowe (porty efemeryczne). Potem jak serwer ci odpowiada, to robi on to z portu 80 na ten port wybrany przez twój system. Potem jak ci pakiet wraca, to iptables patrzy te twoje reguły i widzi dst-port 80/443 i nie dopasowuje pakietów, bo te są przeznaczenie na te porty co masz w netstat: 41448 i 41450.

Offline

 

#4  2016-08-06 15:16:23

  Piotrus Pan - Użytkownik

Piotrus Pan
Użytkownik
Zarejestrowany: 2009-07-15

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Ok, czyli mam zdefiniowane INPUT (czyli to co do mnie idzie od serwera) na te 80/443 ale mój komputer wysłał (OUTPUT) przez 41448 i 41450 więc droga powrotna od serwera do mnie też będzie przez 41448 i 41450. Serwer 443-> 443 Router 41448 -> 41448 mój PC
To teraz pytanie powstaje, dla czego komunikacja poszła przez 41448 i 41450? To jest związane z tym, że jestem na podsieci i router nie może tej komunikacji odebrać na portach 80/443 bo zamknąłby wtedy komunikację na tych portach dla innych urządzeń? Dobrze rozumiem?
Jeszcze jakbym te reguły zdefiniował na OUTPUT to wszystko powinno być cacy, prawda?

Zastanawia mnie też dla czego zdecydowana większość poradników dla iptables definiuje reguły na INPUT? Bo wydaje mi się że większość ludzi jest zawsze za routerem i będzie miała tą samą sytuację jak ja. Rozumiem, że jakbym się łączył bezpośrednio to reguły na INPUT działałyby poprawnie.
https://help.ubuntu.com/community/IptablesHowTo

Jeżeli chodzi o tą regułę 5 z tymi ustalonymi pakietami. Ja to testowałem, wyłączyłem przeglądarkę, nawet kabel sieciowy odłączyłem, więc nie powinno być już istniejących połączeń.
Czytałem, że iptables nie lubi jak jest network-manager ale w tym wypadku network-manager działałby jak trojan skoro pomija "niewygodne" reguły iptables.

Offline

 

#5  2016-08-06 15:31:13

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Ja dodam tylko, że w ogóle masz wyłączony firewall, przepuszcza wszystko.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2016-08-06 15:46:47

  arecki - Użytkownik

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Jacekalex napisał(-a):

Ja dodam tylko, że w ogóle masz wyłączony firewall, przepuszcza wszystko.

Nie tak do końca, regułka 6 porzuca pakiety, co chyba załatwia sprawę akceptującej polityki łańcucha.

Ostatnio edytowany przez arecki (2016-08-06 15:48:32)

Offline

 

#7  2016-08-06 15:50:56

  Piotrus Pan - Użytkownik

Piotrus Pan
Użytkownik
Zarejestrowany: 2009-07-15

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Jacekalex napisał(-a):

Ja dodam tylko, że w ogóle masz wyłączony firewall, przepuszcza wszystko.

Kod:

6      715  142K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Porzuca wszystko co nie zostało zdefiniowane.


Tak jak morfik napisał. Żeby zrobić co chciałeś to reguły 1,2,3,4 pewnie musiałbyć dać do łańcucha OUTPUT, a w INPUT zostawić tylko 1 i 5-tą. Przy czym prawdopodobnie będziesz chciał jeszcze korzystać z DNS i DHCP, czyli należałoby dodać do OUTPUT również UDP o odpowiednich portach.

Tak, tak, wiem, że jeszcze mi brakuje kilku serwisów otwartych. Chciałem tylko zaczerpnąć informacji na prostym przykładzie, żeby łatwiej było wyjaśniać.

Offline

 

#8  2016-08-06 18:36:45

  Piotrus Pan - Użytkownik

Piotrus Pan
Użytkownik
Zarejestrowany: 2009-07-15

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Wygląda na to, że działa:

Kod:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       39  5331 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
2    2435K 3595M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate ESTABLISHED
3    24962 4843K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
2     5631  610K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 ctstate NEW,ESTABLISHED
3    27906 2142K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 ctstate NEW,ESTABLISHED
4        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:993 ctstate NEW,ESTABLISHED
5        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:53 ctstate NEW,ESTABLISHED
6      276 17845 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:53 ctstate NEW,ESTABLISHED
7        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:67 ctstate NEW,ESTABLISHED
8        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:68 ctstate NEW,ESTABLISHED
9       21  1863 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

Jeszcze będę testować.
Jak ktoś ma jeszcze jakąś wiedzę na ten temat to chętnie poczytam.
Dzięki wielkie :-)

Offline

 

#9  2016-08-06 18:50:11

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Dlaczego polityki domyślne trzymasz na ACCEPT?

Moim zdaniem zarówno w INPUT jak i FORWARD powinieneś je ustawić na blokowanie,
a potem regułami zezwalać na konkretne typu połączeń.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2016-08-06 18:57:35

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

3113

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 01:43:02)

Offline

 

#11  2016-08-06 20:25:24

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Piotrus Pan napisał(-a):

Ok, czyli mam zdefiniowane INPUT (czyli to co do mnie idzie od serwera) na te 80/443 ale mój komputer wysłał (OUTPUT) przez 41448 i 41450 więc droga powrotna od serwera do mnie też będzie przez 41448 i 41450. Serwer 443-> 443 Router 41448 -> 41448 mój PC
To teraz pytanie powstaje, dla czego komunikacja poszła przez 41448 i 41450? To jest związane z tym, że jestem na podsieci i router nie może tej komunikacji odebrać na portach 80/443 bo zamknąłby wtedy komunikację na tych portach dla innych urządzeń? Dobrze rozumiem?
Jeszcze jakbym te reguły zdefiniował na OUTPUT to wszystko powinno być cacy, prawda?

To nie jest "przez", tylko "z" i "do". Jak wysyłasz zapytanie na port 443, to leci ono "do" tego portu na serwerze, a jak wraca, to leci "z" tego portu. Podobnie z tymi twoimi portami. Wysyłasz pakiet "z" portu 41448, a gdy pakiet wraca, to leci do 41448 portu. W INPUT nie masz tego portu, to ci iptables nie dopasowuje pakietu. Poza tym, te porty efemeryczne są tylko ważne na czas jednego połączenia i ulegają zmianie, dlatego są efemeryczne.

Piotrus Pan napisał(-a):

Zastanawia mnie też dla czego zdecydowana większość poradników dla iptables definiuje reguły na INPUT? Bo wydaje mi się że większość ludzi jest zawsze za routerem i będzie miała tą samą sytuację jak ja. Rozumiem, że jakbym się łączył bezpośrednio to reguły na INPUT działałyby poprawnie.
https://help.ubuntu.com/community/IptablesHowTo

Bo zapora ma głównie sens na serwerach, czy innych maszynach udostępniających usługi sieciowe, jak ten przykładowy serwer www. Ty nie masz serwera www, dlatego nie potrzebny ci otwarty port docelowy, na który ludzie z netu będą mogli słać pakiety, tak jak to ty teraz robisz wchodząc, np. na to forum.

Piotrus Pan napisał(-a):

Jeżeli chodzi o tą regułę 5 z tymi ustalonymi pakietami. Ja to testowałem, wyłączyłem przeglądarkę, nawet kabel sieciowy odłączyłem, więc nie powinno być już istniejących połączeń.

Ale co testowałeś? Czy zlicza pakiety? Jak uwalisz kabel, to nie będzie zliczać nic w INPUT, za wyjątkiem interfejsu lo. Połączenia mogą istnieć ale być zawieszone i czekać na timeout protokołu TCP ale wartości są różne. Popatrz se w /proc/net/nf_conntrack . Poza tym, w dalszym ciągu twój komp może próbować nawiązać połączenie i odświeżać te wpisy albo nawet tworzyć nowe, mimo, że nie jesteś podłączony do sieci.

Offline

 

#12  2016-08-07 11:00:40

  Yampress - Imperator

Yampress
Imperator
Zarejestrowany: 2007-10-18

Re: Prośba o wyjąsnienie sytuacji z iptables i netstat

Pokaż lepiej regułki tego firewalla.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)