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  2018-07-20 12:39:01

  pawelekm - Użytkownik

pawelekm
Użytkownik
Zarejestrowany: 2018-07-20

Nie działa regułka blokady www w LAN iptables

Witam
Prosiłbym o pomoc gdyż szukam rozwiązania i nie mogę nic znaleźć. Domyślam się że jestem blisko rozwiązania lecz... już tracę cierpliwość;/. Napisałem prosty firewoll w który chcę dla jednego komputera w sieci LAN (192.168.2.61) odciąć strony www (putty na nim ma działać) i przepuścić kilka wybranych (np. wp.pl). Stosuję różne reguły w różnych miejscach (które są na samym dole #). Nie mogę zablokować stron, gdyż cały czas mogę otwierać wszystkie. Mój firewoll:

Kod:

#!/bin/sh

# wlaczenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward

# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X

# Blokada przed atakiem DOS  Teardrop
iptables -A INPUT -p UDP -f -j DROP
# Blokada przed atakiem DOS  Jolt
iptables -A INPUT -p ICMP -f -j DROP
# Ochrona przed atakami typu Smurf
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Wlaczamy ochrone przed komunikacja ICMP error
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Wlacza logowanie dziwnych pakietow (spoofed. source routed. redirects)
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Nie akceptujemy datagramu IP z opcja "source route"
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
# Zabezpieczenie przed powodzia pakietów SYN (ang. Syn-flood)
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Skaner portow Furtive
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Ping of death
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# ustawienie domyslnej polityki
iptables -P INPUT DROP      #input   -strumien wchodzacy; drop-blokada
iptables -P FORWARD DROP    #forward -pakiety przechodzace miedzy interfejsami
iptables -P OUTPUT ACCEPT   #output  -wychodzace pakiety przepuszczamy

# lo - nie wiem czy to potrzebne bo i bez tego tez dziala
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED


# udostepnianie internetu w sieci lokalnej MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT

# www - 80
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# https
 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

# DHCP - potrzebne jesli chcemy dhcp
 iptables -A INPUT -p tcp --dport 67 -j ACCEPT
 iptables -A INPUT -p udp --dport 67 -j ACCEPT

#############################################################################################
#######################           blokada www dla ip                ##############################################

iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 80 -j DROP
iptables -A FORWARD -s 192.168.2.61 -d www.wp.pl -j ACCEPT


##############################################################################################
#######################           SQUID                #######################################################

# otwarcie portu 8080
  iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

# 3128
  iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT

# squid
  iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128



###############################################################################################
######################    MOJE PRÓBY BLOKADY DLA KOMPUTERA W LAN   #######################################

#iptables -A FORWARD -p tcp --dport 80 -s 192.168.2.61 -j DROP

#iptables -A OUTPUT -p tcp --destination www.wp.pl -j ACCEPT

#iptables -I FORWARD -p tcp --dport 8080 -s 192.168.2.61 -j DROP
#iptables -I FORWARD -p tcp --dport 80 -s 192.168.2.61 -j DROP
#iptables -I FORWARD -p tcp --dport 3128 -s 192.168.2.61 -j DROP

#iptables - A INPUT -S 192.168.2.61 -p tcp -m tcp -dport 8080 -j REJECT

#iptables -I FORWARD -s 192.168.2.61 -d www.wp.pl -j ACCEPT
#iptables -A FORWARD -s 192.168.2.61 -d www.wp.pl -j ACCEPT

#iptables -A FORWARD -s 192.168.2.61 -d www.wp.pl -p tcp --dport 80 -j DROP
#iptables -t nat -A PREROUTING -s 192.168.2.61 -p tcp -d www.wp.pl -j DROP
#iptables -I INPUT -s 192.168.2.61 -d www.wp.pl -j ACCEPT

#iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 8080 -j DROP
#iptables -A FORWARD -s 192.168.2.61 -p udp --dport 8080 -j DROP
#iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 3128 -j DROP
#iptables -A FORWARD -s 192.168.2.61 -p udp --dport 3128 -j DROP
#iptables -A FORWARD -p tcp --dport 8080 -s 192.168.2.61 -j DROP


#iptables -A OUTPUT -p tcp --dport 80 -j DROP
#iptables -A OUTPUT -p tcp --destination www.wp.pl -j ACCEPT
#########################################################################################################

Offline

 

#2  2018-07-20 13:02:26

  Jacekalex - Podobno człowiek...;)

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

Re: Nie działa regułka blokady www w LAN iptables

Firewall dopasowuje adresy IP  a nie nazwy DNS, nie nadaje się zbytnio do nazw domenowych w czasach Web-2.0 (kiedy jedna strona składa się przeważnie kawałeczków ściąganych z tysięcy różnych serwerów) i do tego może używać jakiegoś akceleratora proxy typu CLoudFlare.

Do filtrowania stron internetowych po nazwach bierz raczej proxy,
np Squida, Privoxy albo Havp.

Ostatnio edytowany przez Jacekalex (2018-07-20 13:05:42)


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

Offline

 

#3  2018-07-20 13:14:51

  pawelekm - Użytkownik

pawelekm
Użytkownik
Zarejestrowany: 2018-07-20

Re: Nie działa regułka blokady www w LAN iptables

Dziękuję za szybką odpowiedź. Squida mam lecz czy mogę prosić o jakieś wskazówki (najlepiej gotowce ;)) jak to zrobić?

Offline

 

#4  2018-07-20 13:23:13

  Jacekalex - Podobno człowiek...;)

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

Re: Nie działa regułka blokady www w LAN iptables

Tu masz całą dokumentację:
http://www.squid-cache.org/Doc/config/

Przyjemnej lektury.


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

Offline

 

#5  2018-07-20 14:13:26

  arecki - Użytkownik

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

Re: Nie działa regułka blokady www w LAN iptables

Twój problem może wynikać ze złej kolejności regułek.
Jak sobie wylistujesz to pewnie zauważysz, że najpierw przepuszczasz całą klasę adresową a dopiero potem blokujesz klienta.

Offline

 

#6  2018-07-20 14:51:21

  pawelekm - Użytkownik

pawelekm
Użytkownik
Zarejestrowany: 2018-07-20

Re: Nie działa regułka blokady www w LAN iptables

Czyli te 2 regułki mam wstawić przed MASQUERADE?? Wstawiłem przez i za i nie działa. Wstawiłem też przed otwarciem portu 80 i też nie działa-wszystkie strony wczytuje :(

Offline

 

#7  2018-07-20 16:14:23

  arecki - Użytkownik

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

Re: Nie działa regułka blokady www w LAN iptables

Przed regułkę [s]blokującą[/s] akceptującą całą klasę.
Możemy sobie tu stawiać tarota chyba, że dasz jakiś materiał do analizy..

Ostatnio edytowany przez arecki (2018-07-20 17:06:19)

Offline

 

#8  2018-07-21 08:29:16

  pawelekm - Użytkownik

pawelekm
Użytkownik
Zarejestrowany: 2018-07-20

Re: Nie działa regułka blokady www w LAN iptables

Zdaje się że cały kod wkleiłem wyżej ale nie ma sprawy-jeszcze raz ze zmianami.

Kod:

#!/bin/sh

# wlaczenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward

# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X

# Blokada przed atakiem DOS  Teardrop
iptables -A INPUT -p UDP -f -j DROP
# Blokada przed atakiem DOS  Jolt
iptables -A INPUT -p ICMP -f -j DROP
# Ochrona przed atakami typu Smurf
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Wlaczamy ochrone przed komunikacja ICMP error
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Wlacza logowanie dziwnych pakietow (spoofed. source routed. redirects)
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Nie akceptujemy datagramu IP z opcja "source route"
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
# Zabezpieczenie przed powodzia pakietów SYN (ang. Syn-flood)
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Skaner portow Furtive
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Ping of death
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# ustawienie domyslnej polityki
iptables -P INPUT DROP      #input   -strumien wchodzacy; drop-blokada
iptables -P FORWARD DROP    #forward -pakiety przechodzace miedzy interfejsami
iptables -P OUTPUT ACCEPT   #output  -wychodzace pakiety przepuszczamy

# lo - nie wiem czy to potrzebne bo i bez tego tez dziala
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED


# udostepnianie internetu w sieci lokalnej MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT

#############################################################################################
#######################           blokada www dla ip                ##############################################

iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 80 -j DROP
iptables -A FORWARD -s 192.168.2.61 -d www.wp.pl -j ACCEPT

# www - 80
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# https
 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

# DHCP - potrzebne jesli chcemy dhcp
 iptables -A INPUT -p tcp --dport 67 -j ACCEPT
 iptables -A INPUT -p udp --dport 67 -j ACCEPT


##############################################################################################
#######################           SQUID                #######################################################

# otwarcie portu 8080
  iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

# 3128
  iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT

# squid
  iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128



###############################################################################################
######################    MOJE PRÓBY BLOKADY DLA KOMPUTERA W LAN   #######################################

#iptables -A FORWARD -p tcp --dport 80 -s 192.168.2.61 -j DROP

#iptables -A OUTPUT -p tcp --destination www.wp.pl -j ACCEPT

#iptables -I FORWARD -p tcp --dport 8080 -s 192.168.2.61 -j DROP
#iptables -I FORWARD -p tcp --dport 80 -s 192.168.2.61 -j DROP
#iptables -I FORWARD -p tcp --dport 3128 -s 192.168.2.61 -j DROP

#iptables - A INPUT -S 192.168.2.61 -p tcp -m tcp -dport 8080 -j REJECT

#iptables -I FORWARD -s 192.168.2.61 -d www.wp.pl -j ACCEPT
#iptables -A FORWARD -s 192.168.2.61 -d www.wp.pl -j ACCEPT

#iptables -A FORWARD -s 192.168.2.61 -d www.wp.pl -p tcp --dport 80 -j DROP
#iptables -t nat -A PREROUTING -s 192.168.2.61 -p tcp -d www.wp.pl -j DROP
#iptables -I INPUT -s 192.168.2.61 -d www.wp.pl -j ACCEPT

#iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 8080 -j DROP
#iptables -A FORWARD -s 192.168.2.61 -p udp --dport 8080 -j DROP
#iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 3128 -j DROP
#iptables -A FORWARD -s 192.168.2.61 -p udp --dport 3128 -j DROP
#iptables -A FORWARD -p tcp --dport 8080 -s 192.168.2.61 -j DROP


#iptables -A OUTPUT -p tcp --dport 80 -j DROP
#iptables -A OUTPUT -p tcp --destination www.wp.pl -j ACCEPT
#########################################################################################################

Offline

 

#9  2018-07-21 09:40:20

  Jacekalex - Podobno człowiek...;)

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

Re: Nie działa regułka blokady www w LAN iptables

Naucz się lepiej magicznej komendy:

Kod:

iptables -t {tablica} -S

np:

Kod:

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

Zobaczysz wtedy, jakie reguły i w jakiej dokładnie kolejności znalazły się w danej tablicy FW.

Przy okazji, mały test dla strony

Kod:

https://www.wp.pl

[url]https://pastebin.com/raw/j3pqBGxF[/url]

Czyli ile sznurków z rónych subdomen i innych domen musi otworzyć przeglądarka, żeby wyświetlić stronę  [b]wp[/b] (w tym przyklądzie tylko 1344 - witamy w systemie [url=https://pl.wikipedia.org/wiki/Web_2.0]web-2.0[/url]).
I ile adresów Ip kryje się pod tymi domenami i subdomenami.

W przypadku strony generowanej dynamicznie na podstawie danych z innych serwisów,
ta wartość nie jest stała, mozę się zmieniać nawet co kilka godzin albo nawet co kilka minut.

Wlaśnie dlatego używanie domen w regulach FW w kontekscie portalu takiego jak [b]wp[/b] to bezsensowna strata czasu.
Nawet przy najprostszym Wordpresie nie miało by to większego sensu, zwłaszcza schowanym za CloudFlare, jak np Niebezpiecznik.

Strony generowane dynamicznie w standardzie  Web-2.0 trudno ogarnąć nawet na proxy, nie wspominając zwykłego Firewalla.
Zwlaszcza że nawet najmniejsze strony WWW ciągną z różnych serwerów biblioteki jquery, angular.js i inne, bez których coraz częściej  w ogóle nie mogą działać.


Pozdro

Ostatnio edytowany przez Jacekalex (2018-07-21 09:55:13)


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

Offline

 

#10  2018-07-21 11:18:55

  pawelekm - Użytkownik

pawelekm
Użytkownik
Zarejestrowany: 2018-07-20

Re: Nie działa regułka blokady www w LAN iptables

Wybacz ale jestem prostym człowiekiem i lubię proste odpowiedzi. Jak widać nie jestem za mocny również z iptables. Web 2.0 rozumiem i abstrahując do tego, czy da się zrobić to w iptables czy tylko niepotrzebnie się tym zajmuję?
Próbuję zrozumieć co podesłałeś... i nie łapię. Pomożesz mi to zrozumieć?

Kod:

root@admin:/# iptables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -p udp -f -j DROP
-A INPUT -p icmp -f -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A FORWARD -o lo -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -j ACCEPT
-A FORWARD -s 192.168.2.61/32 -p tcp -m tcp --dport 80 -j DROP
-A FORWARD -s 192.168.2.61/32 -d 212.77.98.9/32 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Offline

 

#11  2018-07-22 10:10:05

  arecki - Użytkownik

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

Re: Nie działa regułka blokady www w LAN iptables

[quote=pawelekm]

Kod:

-A FORWARD -s 192.168.2.0/24 -j ACCEPT
-A FORWARD -s 192.168.2.61/32 -p tcp -m tcp --dport 80 -j DROP
-A FORWARD -s 192.168.2.61/32 -d 212.77.98.9/32 -j ACCEPT

[/quote]
To sobie przeanalizuj.
2 i 3 regułka nigdy się nie wykona skoro w 1 przepuszczasz całą[s] klasę[/s] sieć.

Ostatnio edytowany przez arecki (2018-07-22 10:12:46)

Offline

 

#12  2018-07-24 10:32:40

  pawelekm - Użytkownik

pawelekm
Użytkownik
Zarejestrowany: 2018-07-20

Re: Nie działa regułka blokady www w LAN iptables

Ok, już rozumiem. Czyli jeśli w kodzie wstawię jak niżej to nie powinno być Internetu (z wyjątkiem dozwolonych w tym przypadku przykładowa wp.pl) na porcie 80 i 443 czyli http i https? W końcu jest DROP dla całego ip. Inne usługi powinny działać bez problemu. Sprawdzam na danym komputerze i nadal wchodzę na wszystkie strony. Teoretycznie powinno działać a nie działa. Czy nadal można to wiązać z Web 2.0? Nawet blokowanie samego Internetu?

Kod:

#!/bin/sh

# wlaczenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward

# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X

# Blokada przed atakiem DOS  Teardrop
iptables -A INPUT -p UDP -f -j DROP
# Blokada przed atakiem DOS  Jolt
iptables -A INPUT -p ICMP -f -j DROP
# Ochrona przed atakami typu Smurf
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Wlaczamy ochrone przed komunikacja ICMP error
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# Wlacza logowanie dziwnych pakietow (spoofed. source routed. redirects)
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
# Nie akceptujemy datagramu IP z opcja "source route"
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
# Zabezpieczenie przed powodzia pakietów SYN (ang. Syn-flood)
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# Skaner portow Furtive
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
# Ping of death
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# ustawienie domyslnej polityki
iptables -P INPUT DROP      #input   -strumien wchodzacy; drop-blokada
iptables -P FORWARD DROP    #forward -pakiety przechodzace miedzy interfejsami
iptables -P OUTPUT ACCEPT   #output  -wychodzace pakiety przepuszczamy

# lo - nie wiem czy to potrzebne bo i bez tego tez dziala
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

#############################################################################################
#######################           blokada www dla ip                ##############################################

iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 80 -j DROP
iptables -A FORWARD -s 192.168.2.61 -p tcp --dport 443 -j DROP
iptables -A FORWARD -s 192.168.2.61 -d www.wp.pl -j ACCEPT

#############################################################################################

# udostepnianie internetu w sieci lokalnej MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT


# www - 80
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# https
 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

# DHCP - potrzebne jesli chcemy dhcp
 iptables -A INPUT -p tcp --dport 67 -j ACCEPT
 iptables -A INPUT -p udp --dport 67 -j ACCEPT

##############################################################################################

Offline

 

#13  2018-07-24 14:11:08

  morfik - Cenzor wirtualnego świata

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

Re: Nie działa regułka blokady www w LAN iptables

Oj chłopie, chłopie... xD

1. Nikogo w zasadzie nie interesuje twój skrypt firewalla, tylko kolejność reguł, które są na zaporze, a do tego już miałeś polecenie i to jego używaj, bo nikomu się nie będzie chciało analizować skryptu pod względem poprawności poszczególnych wpisów, ich kolejności w tym skrypcie i zastanawiania się czy czasem się czegoś nie przeoczyło.

2. Dla lepszego zrozumienia WTF na FW, to sobie w terminalu wpisz [b]iptables -nvL -t filter[/b] i będziesz miał wylistowane reguły wraz z licznikiem dopasowanych pakietów do konkretnych reguł. Rób sobie testy i patrz czy te pakiety w ogóle docierają do tych reguł które masz już zdefiniowane na zaporze.

3. Wiesz co to jest interfejs pętli zwrotnej "lo"? To taki interfejs, na którym komunikacja odbywa się wewnątrz tylko i wyłącznie hosta, na którym ten interfejs występuje. Ta komunikacja ma zostać dopuszczona w łańcuchach INPUT i OUTPUT ale ładowanie reguł dotyczących "lo" w FORWARD jest kompletnie pozbawione sensu, bo żaden pakiet z tego interfejsu nigdy nie opuści hosta i też żaden inny host w sieci się nigdy nie skomunikuje z tą maszyną na tym interfejsie.

4. Jak używasz wielu portów, zwłaszcza w przypadku portów zwykłych i bezpiecznych, tak jak tutaj 80 i 443, to sobie korzystaj z multiport, by nie dublować reguł, co wpłynie na przejrzystość całych tablic filtrujących.
https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#MULTIPORTMATCH

5. Naucz się korzystać też z komentarzy bezpośrednio w regułach zapory:
https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#COMMENTMATCH

6. Pakiety podróżują przez filter w pewnej określonej kolejności — od góry do dołu. Jeśli jakiś pakiet leci do filtra to przechodzi przez kolejne reguły. Jeśli pakiet trafi w konkretnej tablicy na dopasowanie, to zwykle kończy się jego przetwarzanie i dalej pakiet już przez tą tablicę nie wędruje. Chyba, że są konkretne reguły, które mówią zaporze co ma z tym pakietem zrobić, np. dać go na inny łańcuch w obrębie tej tablicy. Dlatego najpierw się daje reguły blokujące, a później reguły akceptujące pakiety, no i bardziej szczegułowe reguły przed tymi, które są w stanie dopasować pakiety w szerszym zakresie.

7. Jak chcesz się bawić w blokowanie (czy zezwalanie) dostępu do konkretnych domen, to sobie zatrudnij jakiś cache DNS lub dnscrypt-proxy v2. Oba z nich pośredniczą w ruchu rozwiązywania nazw i przy rozwiązywaniu nazw domeny są pozyskiwane adresy IP serwerów. Te adresy IP można później dodawać na listę, np. IPSET i blokować na zaporze dopasowania do listy. Choć takie blokowanie adresów IP w obecnych czasach jest ździebko bez sensu, bo mamy szeroko rozwinięty loadbalancing i failover i te większe serwisy zwykle wykorzystują wiele adresów IP zmieniających się w czasie. I jak byś się bawił w reguły typu "-d www.wp.pl -j ACCEPT",  to raz dwa ta reguła stanie się przestarzała i żaden pakiet do niej nie zostanie dopasowany. To nie stanowi problemu dla IPSET, bo on jest w stanie dynamicznie sobie tworzyć takie listy właśnie przy wykonywaniu zapytań DNS przez hosty w sieci — wtedy ustalenie aktualnego adresu IP konkretnej domeny, do której host ma ostać odesłany jest banalnie proste, a że wpisy na takiej liście będą rezydować przez kilka czy kilkanaście minut, to nie będą bez potrzeby marnować zasobów.

8. Domeny dostępne tylko po https można wyciąć przez dopasowanie po certyfikacie tej domeny, bo one mają w tym cercie nazwę domeny, na którą ten cert został wystawiony, a że pierw trzeba zestawić szyfrowane połączenie, to ten proces jest przesyłany czystym tekstem. Podobnie można zablokować wszystko na ruchu nieszyfrowanym, przykład zastosowania tutaj (i następna strona w tamtym wątku):
https://forum.dug.net.pl/viewtopic.php?pid=291705#p291705

9. [url=https://morfikov.github.io/post/firewall-na-linuxowe-maszyny-klienckie/]A i przeczytaj se to jeszcze[/url].

To tyle mniej więcej. xD

Ostatnio edytowany przez morfik (2018-07-24 14:11:36)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00087 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.14.145.167' WHERE u.id=1
0.00067 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.14.145.167', 1732206614)
0.00046 SELECT * FROM punbb_online WHERE logged<1732206314
0.00038 SELECT topic_id FROM punbb_posts WHERE id=320146
0.00005 SELECT id FROM punbb_posts WHERE topic_id=30545 ORDER BY posted
0.00057 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30545 AND t.moved_to IS NULL
0.00005 SELECT search_for, replace_with FROM punbb_censoring
0.00112 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30545 ORDER BY p.id LIMIT 0,25
0.00083 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30545
Total query time: 0.00513 s