iptables - nie rozumiem podstawowej konfiguracji

Dyskusje o wszystkim co służy ochronie systemu i danych przed nieautoryzowanym dostępem.
Mates
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 mar 2017, 20:40
Płeć: Mężczyzna

iptables - nie rozumiem podstawowej konfiguracji

Postautor: Mates » 04 sie 2017, 21:01

WItam
Chciałem się pouczyć iptables i problem - jak to cholerstwo jest skonfigurowane bo nic nie wiadomo.
Posiłkowałem się min. tym przewodnikiem dla systemd - bo taki mam (reszta tutków to dla inita i są bezwartościowe)
https://pl.wikibooks.org/wiki/Debian_-_uniwersalna_instalacja/Konfigurowanie_iptables#Tworzenie_skryptu_firewalla_dla_Systemd

Pytania:
1) gdzie znajduje się domyślny plik z regułami dla iptables (etc/iptables.rules lub cokolwiek podobnego nie ma, dpkg -L iptables nie pokazuje mi niczego co mogłoby sugerować jakiś rules lub config)

2) dlaczego nie wczytuje mi się plik z owego tutka firewall.services / firewall ? (systemctl restart firewall.service/firewall nic nie daje). Po wpisaniu iptables -L mam tylko co następuje:

Kod: Zaznacz cały

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Skąd się bierze reguła pierwsza w INPUT ? (accept itd) ??

W pliku firewall z tutka (czyli /etc/systemd/system/firewall mam co następuje (dla próby jedna reguła). Jak widać na powyższym screenie tej reguły z localhostem w ogóle nie ma. Próbowałem już nawet restart kompa ale zero efektu.

Kod: Zaznacz cały

#!/bin/bash
### BEGIN INIT INFO
# Provides: firewall
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

iptables -A INPUT -i lo -j ACCEPT


Czy moze jest tak, że iptables w systemd nie ma pliku z rulesami domyślnego i tablica filter jest kompletnie czysta domyślnie? Aby temu zaradzić wgrywa się plik 'firewall" z systemd z odpowiednimi regułami jako plik wykonywalny bash. W takim razie czemu nie widać tego w iptables -L i na dodatek z kosmosu jest tam juz skadś jedna reguła jakby domyślnie. Ktoś to wytłumaczy po ludzku?

ps. używam najnowszego xubuntu
ps2 pakiet ufw juz dla pewności wywaliłem (pytanie gdzie i do czego on zapisuje i jak by to kolidowało z moim plikiem.usługą z regułami 'firewall.services'
ps3. oczywiście systemctl status firewall.service jest OK i aktywny.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 3599
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: jacekalex » 05 sie 2017, 16:29

Powinieneś rozgraniczyć skrypty startowe systemd od logiki działania filtra pakietów netfiler zarządzanego przez program iptables.
Mieszanie tych dwóch pojęć wprowadza tylko zamęt.

Tu masz instrukcję obsługi Netfiltera i narzędzia iptables.
https://pl.wikibooks.org/wiki/Sieci_w_L ... /Netfilter
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Mates
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 mar 2017, 20:40
Płeć: Mężczyzna

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: Mates » 05 sie 2017, 17:53

Dziękuje za odpowiedź, ale podany link nie tłumaczy ani tym bardziej nie odpowiada na postawione pytania. (to co tam jest juz wiem)

a) skad bierze się domyślnie w moim systemie pierwszy wpis ACCEPT w pierwszym listingu - sam podałeś linka w którym piszą jesli juz o tym że tablica jest czysta. więc?
b) czy i gdzie jest przechowywana konfiguracja domyślna tj. predefiniowany reguły (czy to jest netfilter przez iptables - to nie zmienia zasadniczej rzeczy) w systemie ubuntu - skoro mam wpis tzn ze musi być.
c) dlaczego nie jest wczytywany plik konfiguracyjny reguł tu: 'firewall' - tak jak podano drugim listingu.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 3599
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: jacekalex » 05 sie 2017, 18:16

Domyślnie, kiedy w ogóle nie konfigurowałeś firewalla ani bezpośrednio, ani żadnym program, wszystko masz na ACCEPT.

Skąd się bierze plik konfiguracyjny?
W ogóle nic takiego nie ma.
Możesz sobie taki założyć.

Może to być albo skrypt uruchamiający Firewalla, albo plik , w którym zapiszą się przy wyłączaniu a wczytają przy włączaniu aktualne reguły.

Zapisanie reguł do pliku:

Kod: Zaznacz cały

iptables-save >/etc/network/firewall.rules

Wczytanie przy starcie:

Kod: Zaznacz cały

iptables-restore < /etc/network/firewall.rules


Polecenia musisz umieścić albo w jakimś skrypcie np do systemd, albo /etc/network/interfaces, w kontekście interfejsu lo:

Kod: Zaznacz cały

auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/network/firewall.rules
down iptables-save  > /etc/network/firewall.rules


Tak to się zawsze w Debianie i jego klonach robiło, chociaż nie wiem, czy Ubuntu jeszcze honoruje wpisy w /etc/network/interfaces.

Sznurek:
https://help.ubuntu.com/community/IptablesHowTo

To by było na tyle
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Mates
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 mar 2017, 20:40
Płeć: Mężczyzna

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: Mates » 06 sie 2017, 17:03

Dobra i tak nie doszedłem skad się bierze ten ACCEPT (nie mówie o policy tylko o 1 wpisie w pierwszym listingu) , ale to zawsze mozna skasować, ani czemu nie wczytuje mi pliku konf w systemd (ale to mozna olać skoro sie i tak nie wczytuje i skupić się na wprowadzaniu zmian z linii komend)

Mam teraz inną zagadkę ale juz zwiazaną typowo z iptables.
Wydaje się ze nie działa mi reguła zwiazana z stanami połączenim tj albo -state albo z conntrackiem.

Kod: Zaznacz cały

xxx@dell:~$ sudo iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh

Chain FORWARD (policy DROP)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


SSH z drugiego hosta działa, pingi w obrebie sieci lokalnej działają id itp...ale internet nie - dlaczego? Muszę dopiero dać accept na policy input lub po prostu accept na całe tcp/udp. Próbowałem z zwykłym -m state --state ESTABLISHED, RELATED - ale takze bez efektu.

Wydaje się ze to powinno działać - wypuszcza ouputem wszystko, wchodzące powinny byc blokowane (prawie) tylko z flagą SYN - czyli NEW. Reszta nie..a jednak wszystko jest blokowane strony się nie czytują, pingi na publiczne nie reagują - co jest tu źle ?
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 3599
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: jacekalex » 06 sie 2017, 17:15

Wklej do terminala roota:

Kod: Zaznacz cały

iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT


A potem zobacz, jakie są polityki FW poleceniem:

Kod: Zaznacz cały

iptables -t  filter -S


To by było na tyle
:craz:
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Mates
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 mar 2017, 20:40
Płeć: Mężczyzna

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: Mates » 06 sie 2017, 18:16

kolego dzięki że masz checi, ale to nie działa - już tak robiłem tzn czyściłem. Aby nie było zrobiłem jeszcze raz i wynik:
xxx@dell:~$ sudo iptables -t filter -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Tak jak pisałem - gdy jest ta reguła internet, czy pingi na publiczne nie działają. Aby ci odpowiedzieć muszę na szybko znowu zrobić -P INPUT na accept.

Czyli coś jest zrąbane jak się domyślam? Bo już nie wiem co mam robić.
ps. myślałem że coś z tym conntrackiem (choć moduł jest - lsmod i powinno być ok). Nie działa takze z klasycznym -m state --state.....
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 3599
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: jacekalex » 06 sie 2017, 18:23

Nie wiem, co tam się dzieje w tym twoim systemie.

Zobacz w innych tablicach firewalla:

Kod: Zaznacz cały

iptables - t raw -S
iptables - t nat -S
iptables -t mangle -S


Poza tym chwilowo w Linuxie są dwa FW, jeden jest jeszcze - zarządzany przez iptables, a drugi już jest, ale jeszcze nie domyślny, zarządza się nim przez program nftables.
Nfables w przeciwieństwie do iptables instaluje się z domyślną polityka.

Zobacz jeszcze takie polecenie:

Kod: Zaznacz cały

nft list tables

- wyświetli tablice nftablesa, o ile jest zainstalowany.
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Mates
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 mar 2017, 20:40
Płeć: Mężczyzna

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: Mates » 06 sie 2017, 18:31

ano patrzyłem już na na nat, raw i mangle..tam są tylko policy na accept - nie wiecej - tam jest ok.

To zwykły komputer desktopowy po świezej instalce xubuntu - jakiś ten najnowszy. Wczoraj bodajże czy przedwczoraj nawiedziło mnie aby pouczyć się iptables.
Wszystko co zrobiłem to tylko ten tutek jaki podałem dla systemd:
https://pl.wikibooks.org/wiki/Debian_-_ ... la_Systemd

i teraz zabawy z ustawianiem. to wszystko- system wiec nie "kręcony" - dociągnięte tylko apdejty.
Prawdopodobnie znowu coś skopane i w tej dystrybucji - mam już takiego pecha do linuxa.

ps. nft nie jest zainstalowany.
Mates
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 mar 2017, 20:40
Płeć: Mężczyzna

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: Mates » 06 sie 2017, 19:35

kolego... porobiłem trochę inwestygejszyn i się okazuje że te stany nie działają na publicznych adresach na localu tak. ZONK

Tak się składa ze moj ruter orange ma usluge www na porcie 80 i wtedy ładuje swoją www - ale zewnętrznych adresów nie ładuje. Czyli przyjmuje flagi ACK jesli połączenie jest z mojej strony inicjowane-prawidłowo. Do serwera ssh z drugiego host po lokalu nie mogę się połączyć czyli prawidłowo iptables blokuje SYN (jak zrobie accept na porcie 22 to wtedy wpuszcza - też prawidłowo) . pingi działają po sieci lokalnej w kazdą stronę.

Wydaje się że ta tablica działa poprawnie ale na lokalu..jeśli ma wyjść poza ruter to -state przestaje działać. Jak to wytłumaczyć ?
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 3599
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: jacekalex » 07 sie 2017, 10:49

Jeżeli lokalne działają a net nie, to już raczej nie FIrewall ale routing i DNSy zobacz.

Dawaj wyniki:

Kod: Zaznacz cały

ip r s


Kod: Zaznacz cały

ping -c3  8.8.8.8


Kod: Zaznacz cały

dig devnull.pl
Problemy rozwiązujemy na forum nie na PW -> Niech inni na tym skorzystają.
Komputer jest jak klimatyzacja - gdy otworzysz okna, robi się bezużyteczny...
Linux User #499936
Inny OS: Gentoo Linux :)
Mates
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 mar 2017, 20:40
Płeć: Mężczyzna

Re: iptables - nie rozumiem podstawowej konfiguracji

Postautor: Mates » 08 sie 2017, 12:37

Kod: Zaznacz cały

xxx@dell:~$ ip r s
default via 192.168.1.254 dev enx0c5b8f279a64  proto static  metric 100
169.254.0.0/16 dev enx0c5b8f279a64  scope link  metric 1000
192.168.1.0/24 dev enx0c5b8f279a64  proto kernel  scope link  src 192.168.1.2  metric 100


ping -c3 8.8.8.8 pinguje ; inne - pinguje po ipach, nie pinguje z tekstem = problem z dns np:. ubuntu.pl /192.166.219.153

z digiem jest to samo -> "connection timed out; no servers could be reached"

Mowa cały czas o konfigu:

Kod: Zaznacz cały

xxx@dell:~$ sudo iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination     


Co ciekawe jeśli dodam dodatkowo do INPUT: # iptables -A INPUT -i lo -j ACCEPT
to wtedy zaczyna reagować poprawnie czyli nie ma problemu z dns - wchodzi wszystko.

Hosta mam na adres statyczny - bez DHCP
Domyślnie w ubunciakach jest właczony NetworkManager - tam mam DNS: 8.8.8.8
Czy iptables nie widzi tego ? czy o co tu biega.

Dodatkowo w ubunciakach działa resolvconf i dnsmasq + w połączeniu z NetworkManager jest to dla mnie chaos, którego nie ogarniam.

W resolv.conf mam buforowanie z locala (jest to zresztą link porobiony z resolvconf)
"# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
"
Może dlatego działa jak się doda lo do iptables bo bierze z bufora...ale o co tu biega jako całość nie mam zielonego pojęcia....

Wróć do „Bezpieczeństwo Ubuntu”

Kto jest online

Użytkownicy przeglądający to forum: rrico i 2 gości