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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam na wstępie chciałbym poinformować, że jestem nowy w środowisku Debian/Linux i jeszcze się uczę.
Tak więc wracając do tematu chciałem zabezpieczyć swoją stację roboczą poprzez ustawienie Iptables oraz Ipset po ustawieniu wszystkiego według wątku z Forum "iptables - PREROUTING -> https://forum.dug.net.pl/viewtopic.php?id=32390" wszystko przechodzi bez problemu według instrukcji zapisałem ustawienia poleceniem
iptables-save > /etc/iptables/rules.v4
po sprawdzeniu wszystko jest zapisane, lecz po zrobieniu resetu i wpisaniu
ipset list block1
wyskakuje mi błąd
The set with given name does not exist
Nawet po wczytaniu komendą
iptables-restore < /etc/iptables/rules.v4
dalej to się pokazuje. Czy mógłby ktoś mi wyjaśnić gdzie popełniłem błąd? Byłbym wdzięczny ;)
Ostatnio edytowany przez LillyWhy (2024-08-08 11:12:32)
Offline
iptables save i restore nie zapisują ustawień ipseta, tylko same reguły firewalla.
Tablice ipseta musisz po każdym restarcie założyć od nowa.
możesz sobie zrzuć adresy z ipseta do pliku i potem je wczytać przy starcie.
Offline
A nie lepiej zacząć się uczyć na aktualnych narzędziach, tj. nftables? xD Przykład:
table netdev traffic-control { set meter-tcp { type ipv4_addr size 128000 flags dynamic,timeout timeout 1m } set meter-tcp6 { type ipv6_addr size 128000 flags dynamic,timeout timeout 1m } set meter-icmp { type ipv4_addr size 128000 flags dynamic,timeout timeout 1m } set meter-icmp6 { type ipv6_addr size 128000 flags dynamic,timeout timeout 1m } # set autoban { # type ipv4_addr # size 128000 # flags dynamic,timeout # timeout 1h # } # set autoban6 { # type ipv6_addr # size 128000 # flags dynamic,timeout # timeout 1h # } chain INGRESS { # priority -500=before prerouting type filter hook ingress device "bond0" priority -500; policy accept; # ip saddr @autoban update @autoban { ip saddr timeout 1d } counter drop # ip6 saddr @autoban6 update @autoban6 { ip6 saddr timeout 1d } counter drop # tcp dport 22 add @autoban { ip saddr } counter drop ip protocol vmap { icmp : jump chain-icmp, tcp : jump chain-tcp } ip6 nexthdr vmap { tcp : jump chain-tcp6, ipv6-icmp : jump chain-icmp6 } } chain chain-tcp { tcp flags syn / fin,syn,rst,ack add @meter-tcp { ip saddr timeout 1m limit rate over 20/second } counter drop tcp flags syn / fin,syn,rst,ack counter accept } chain chain-tcp6 { tcp flags syn / fin,syn,rst,ack add @meter-tcp6 { ip6 saddr timeout 1m limit rate over 20/second } counter drop tcp flags syn / fin,syn,rst,ack counter accept } chain chain-icmp { add @meter-icmp { ip saddr limit rate over 20/second } counter drop limit rate over 1 mbytes/second counter drop counter accept } chain chain-icmp6 { add @meter-icmp6 { ip6 saddr limit rate over 20/second } counter drop limit rate over 1 mbytes/second counter drop counter accept } }
Nftables ma te przewagę, że ma tablicę netdev, gdzie można podpiąć się pod hook ingress, który jest prawie na samym początku łańcucha przetwarzania pakietów (zaraz po odebraniu ich od karty sieciowej, grubo przed tablicą raw), co wpływa na wydajność całego procesu blokowania niechcianych pakietów (sporo mniejsze obciążenie procka i zużycie RAM).
https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks
https://wiki.nftables.org/wiki-nftables/index.php/N … milies#netdev
Ostatnio edytowany przez morfik (2024-08-08 12:24:37)
Offline
Ja rozumiem że są lepsze/aktualne rzeczy lecz jakoś mi utkwiło w głowie te iptables oraz ipset i postanowiłem sie tym bardziej zająć z czystej ciekawości oraz jak to mówią "żeby wiedzieć z czym to sie je".
Czyli lepiej będzie jak przejdę na nftables i nim się zajmę? Wiecie szukam czegoś co mi da w jakimś stopniu kontrole nad tym co chce sie wbić do kompa.
morfik napisał(-a):
A nie lepiej zacząć się uczyć na aktualnych narzędziach, tj. nftables? xD Przykład:
Kod:
table netdev traffic-control { set meter-tcp { type ipv4_addr size 128000 flags dynamic,timeout timeout 1m } set meter-tcp6 { type ipv6_addr size 128000 flags dynamic,timeout timeout 1m } set meter-icmp { type ipv4_addr size 128000 flags dynamic,timeout timeout 1m } set meter-icmp6 { type ipv6_addr size 128000 flags dynamic,timeout timeout 1m } # set autoban { # type ipv4_addr # size 128000 # flags dynamic,timeout # timeout 1h # } # set autoban6 { # type ipv6_addr # size 128000 # flags dynamic,timeout # timeout 1h # } chain INGRESS { # priority -500=before prerouting type filter hook ingress device "bond0" priority -500; policy accept; # ip saddr @autoban update @autoban { ip saddr timeout 1d } counter drop # ip6 saddr @autoban6 update @autoban6 { ip6 saddr timeout 1d } counter drop # tcp dport 22 add @autoban { ip saddr } counter drop ip protocol vmap { icmp : jump chain-icmp, tcp : jump chain-tcp } ip6 nexthdr vmap { tcp : jump chain-tcp6, ipv6-icmp : jump chain-icmp6 } } chain chain-tcp { tcp flags syn / fin,syn,rst,ack add @meter-tcp { ip saddr timeout 1m limit rate over 20/second } counter drop tcp flags syn / fin,syn,rst,ack counter accept } chain chain-tcp6 { tcp flags syn / fin,syn,rst,ack add @meter-tcp6 { ip6 saddr timeout 1m limit rate over 20/second } counter drop tcp flags syn / fin,syn,rst,ack counter accept } chain chain-icmp { add @meter-icmp { ip saddr limit rate over 20/second } counter drop limit rate over 1 mbytes/second counter drop counter accept } chain chain-icmp6 { add @meter-icmp6 { ip6 saddr limit rate over 20/second } counter drop limit rate over 1 mbytes/second counter drop counter accept } }Nftables ma te przewagę, że ma tablicę netdev, gdzie można podpiąć się pod hook ingress, który jest prawie na samym początku łańcucha przetwarzania pakietów (zaraz po odebraniu ich od karty sieciowej, grubo przed tablicą raw), co wpływa na wydajność całego procesu blokowania niechcianych pakietów (sporo mniejsze obciążenie procka i zużycie RAM).
https://thermalcircle.de/lib/exe/fetch.php?media=li … cket-flow.png
https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks
https://wiki.nftables.org/wiki-nftables/index.php/N … milies#netdev
Offline
Ja bym obecnie zaczął od nftables, bo równie dobrze można by rzucić przykładem uczenia się HAL, czyli tego co było przed UDEV do obsług urządzeń w linux -- no można, tylko po co? xD Obecnie masz w linux warstwę kompatybilności na linii nftables<->iptables, tj. składnia iptables będzie tłumaczona na reguły nftables w tle, tak by użytkownik nawet nie wiedział, że używa nftables. Więc skoro mamy już taka rzeczywistość, to czemu po prostu nie zrezygnować z tej warstwy i zacząć używać natywnie nftables? xD
Ostatnio edytowany przez morfik (2024-08-09 14:43:58)
Offline