Strona 1 z 1

konfiguracja firewalla (ufw) proszę o sprawdzenie

: 16 gru 2012, 12:31
autor: capry
Cześć,
krótki opis: postawiłem w domu serwerek (dla testów, zabawy), w nim dwie karty sieciowe:
eth0 - wyjście na świat (UPC)
eth1 - sieć wewnętrzna

Idąc za ciosem książki UbuServ postanowiłem skonfigurować firewalla UFW (dużo powiedziane - dopisałem 2 reguły i usługi z lini poleceń).
Plik wygląda tak:

Kod: Zaznacz cały

*nat
:POSTROUTING ACCEPT [0:0]
# Forward eth1 - eth0
-A POSTROUTING -s 192.83.21.0/24 -o eth0 -j MASQUERADE
# Forward port 80 dla squid proxy (do zrobienia/sprawdzenia potem)
#-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.83.21.2:3128
#-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.83.21.2:3128
COMMIT

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# End required lines


# allow all on loopback
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT

# quickly process packets for which we already have a connection
-A ufw-before-input -m state --state RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m state --state RELATED,ESTABLISHED -j ACCEPT

# drop INVALID packets (logs these in loglevel medium and higher)
-A ufw-before-input -m state --state INVALID -j ufw-logging-deny
-A ufw-before-input -m state --state INVALID -j DROP

# ok icmp codes
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

# allow dhcp client to work
-A ufw-before-input -p udp --sport 67 --dport 68 -j ACCEPT

#
# ufw-not-local
#
-A ufw-before-input -j ufw-not-local

# if LOCAL, RETURN

-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN

# if MULTICAST, RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN

# if BROADCAST, RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN

# all other non-local packets are dropped
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP

# allow MULTICAST mDNS for service discovery (be sure the MULTICAST line above
# is uncommented)
-A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT

# allow MULTICAST UPnP for service discovery (be sure the MULTICAST line above
# is uncommented)
-A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j ACCEPT

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT
Na serwerze jest zainstalowany Apache i jest wystawiony na świat. W sieci lokalnej śmiga samba. Czy konfiguracja jest wystarczająca? Skanując serwer dostępnymi w sieci skanerami - wychodzi, że port 80 jest OPEN oraz SSH (wydaje mi się, że nie powinno tak być? lub powinno być to ukryte? lub skanery kłamią :) ).

Kod: Zaznacz cały

ufw status
Stan: aktywny

Do                         Czynność    Z
--                         --------    -
22                         ALLOW       Anywhere
Bind9                      ALLOW       192.83.21.0/24
Samba                      ALLOW       192.83.21.0/24
Apache                     ALLOW       Anywhere
Samba                      ALLOW       Anywhere
22                         ALLOW       Anywhere (v6)
Apache (v6)                ALLOW       Anywhere (v6)
Samba (v6)                 ALLOW       Anywhere (v6)
Proszę o ewentualne wskazanie błędu bądź wytłumaczenie :)
Dzięki.

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 16 gru 2012, 17:47
autor: Dwigatjel

Kod: Zaznacz cały

22                         ALLOW       Anywhere
Czyli zezwalasz na połączenia ze świata na porcie SSH
Skanerki nie kłamią port 22 jest wystawiony ;)
Aby zezwolić na połączenie SSH tylko dla sieci lokalnej:

Kod: Zaznacz cały

sudo ufw allow from 10.0.0.0/8 to any port 22
lub 172.16.0.0/12 192.168.0.0/16 w zależności od ustawień Twojej sieci.
Teraz wystarczy usunąć tylko poprzednie regóły

Kod: Zaznacz cały

sudo ufw status numbered
i wstawiając numery regół "22 ALLOW Anywhere":

Kod: Zaznacz cały

sudo ufw delete 1
sudo ufw delete 6
Generalnie jak się poczyta więcej o ufw to jest to bardzo zmyśle narzędzie i można ominąć w ogóle robienie własnych skryptów startowych dla firewalla ;)

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 16 gru 2012, 19:13
autor: jacekalex
UFW - to jest takie ułatwiające utrudnienie.
Gdybyś to samo ustawił nie w nakładce, ale w przeznaczonym do tego iptables, to konfig byłby 2 razy krótszy, a firewall 2 razy skuteczniejszy.

http://pl.wikibooks.org/wiki/Sieci:Linu ... r/iptables
http://jacekalex.sh.dug.net.pl/iptables_routing.pdf

Wygląda strasznie?
Pozory mylą. :rotfl:

Pozdrawiam
:craz:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 09:38
autor: rob006
jacekalex pisze:Gdybyś to samo ustawił nie w nakładce, ale w przeznaczonym do tego iptables, to konfig byłby 2 razy krótszy, a firewall 2 razy skuteczniejszy.
Czym objawiałaby się ta 2-krotnie lepsza skuteczność?

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 12:37
autor: capry
Wielkie dzięki za odpowiedź!
Wieczorem zacznę zabawę :)

jacekalex - iptables to też nakładka ;) a uwf to nakładka na nakładkę - ale przyjemniejsza :)
Gdybyś to samo ustawił nie w nakładce, ale w przeznaczonym do tego iptables, to konfig byłby 2 razy krótszy, a firewall 2 razy skuteczniejszy.
Hmmm.. ciekawe.

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 12:46
autor: ethanak
eee... iptables to nakładka na co?

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 12:57
autor: capry
ethanak - to taka 'duża' przenośnia, tak czy siak iptables
'to plikacja przestrzeni użytkownika służąca do obsługi części netfilter pracującej w warstwie IP'
, sam lepiej tego bym nie ujął więc wspomogłem się wiki ;)

http://pl.wikipedia.org/wiki/Netfilter

Pozdrawiam

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 13:11
autor: ethanak
idąc twoim tokiem rozumowania dojdziemy do wniosku, że kernel jest tylko nakładką na procesor.
nawet artykuły w wikipedii trzeba umieć czytać.

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 13:16
autor: capry
Spokojnie - napisałem w dużej przenośni. Notabene, tak tłumaczył nam koleś na zajęciach :) zaznaczając 'w przenośni'.
Artykuły umiem czytać - więc mnie nie obrażaj. Zacytowałem bo nie chciało mi się klecić 'trudnego' zdania - poza tym, jak zauważyłeś wiedziałem co szukać... :)

Niepotrzebnie z tym wyjechałem. Mało istotne.

Pozdrawiam.

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 17:09
autor: jacekalex
rob006 pisze:
jacekalex pisze:Gdybyś to samo ustawił nie w nakładce, ale w przeznaczonym do tego iptables, to konfig byłby 2 razy krótszy, a firewall 2 razy skuteczniejszy.
Czym objawiałaby się ta 2-krotnie lepsza skuteczność?
Z jednej strony, jeden rzut oka na reguły, i widzisz, co w nich siedzi, skoro je sam robiłeś.
A jak to jest z regułami ufw?

Z drugiej strony, ten zestaw usług, to najwyżej kilka naście regułek w wariancie podstawowym, a jak chcesz poszaleć z ipsetem, limitami itp - waraint zaawansowany, to możesz dla każdej uslugi sieciowej stworzyć osobny łańcuch firewalla, w którym będą maks 3 - 5 regułek, też to będzie bardziej czytelne.

Skuteczność?
Wystarczy użyć kilku modułów, typu TAPRIT, STEAL czy CHAOS, zeyb skutercznie pozbyć się skanerów portów.
Można też użyć modułów hashlimit czy recent, żeby zabezpieczyć usługę np ssh czy serwer poczty przed próbą siłowego łamania hasła lub falą spamu.

Czy ktoś potrafi używać hashlimita, recenta, ipseta czy TARPITa w ufw?

Przykłady zawansowane:

Kod: Zaznacz cały

#Serwer poczty
iptables -N SMTP
iptables -A SMTP   -m state --state NEW  -m set --match-set spamhaus src -j STEAL
iptables -A SMTP   -m state --state NEW -m set --match-set sblamdrop src -j STEAL
iptables -A  SMTP  -m connlimit --connlimit-upto 10 --connlimit-mask 0 --connlimit-saddr -m hashlimit --hashlimit-upto 1/min --hashlimit-burst 1 --hashlimit-mode srcip --hashlimit-name smtp -j ACCEPT
iptables -A INPUT ! -i lo -p tcp -m multiport --dports 25,465,587 -j SMTP
Ciekawe, kto potrafi taki łańcuch dla serwera SMTP zaprogramować w ufw?
Bo ten pozwala z jednego IP na tylko 1 maila na minutę, i pozwala na maks 10 równoczesnych połączeń do serwera SMTP równocześnie.
Do tego blokuje adresy z dwóch blacklist ustawionych w ipsecie.

Połączenie iptables + ipset + xtables-addons, to jest razem firewall, że żadna istniejąca nakładka nie obrobi jego możliwości nawet w 30 procentach.

Inny przykład:

Kod: Zaznacz cały

#serwer DNS - TinyDNS
iptables -A INPUT ! -i lo -p udp --dport 53 -m state --state NEW -m limit --limit 20/s -m length --length 65535 -j ACCEPT 
Fajna regułka dla serwera DNS?
Jedna linijka, i serwer DNS działa bez problemu, w internecie, przy okazji jest nieźle zabezpieczony na okoliczność ataku dos/ddos.

Zarówno Iptables z Linuxa, jak i PF z *BSD -to potężne firewalle, które się konfiguruje przez pliki konfiguracyjne lub skrypty, i żadna nakładka, czy fwbuilder nie ma nawet szansy, żeby wyzwolić ich prawdziwe możliwości.

Używanie ufw do iptables, to tak, jakby do Ferrari zakładać koła z Ciquecento. :rotfl:

Edyta:
Ciekawe jak w ufw ustawić takie regułki w tablicy raw:

Kod: Zaznacz cały

iptables -t raw -S
-P PREROUTING ACCEPT
-P OUTPUT ACCEPT
-N limitPPS
-A PREROUTING -f -j STEAL
-A limitPPS -m hashlimit --hashlimit-upto 80/sec --hashlimit-burst 5 --hashlimit-mode srcip --hashlimit-name limitPPS -j RETURN
-A limitPPS -j STEAL
Tablica raw to dość potężne narzędzie działające przed systemem śledzenia połączeń.
Pięknie tam można ubić nmapa. :rotlf:

Pozdrawiam
:craz:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 17 gru 2012, 18:12
autor: rob006
Pięknie, ładnie, tylko jak to się ma do obecnej sytuacji i potrzeb zwykłego użytkownika, który chce tylko zablokować ruch przychodzący i dodać kilka wyjątków dla usług wystawionych na świat? Gdzie tutaj ta większa skuteczność?

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 26 gru 2012, 23:38
autor: dhapollo
Witam.

Czy możecie coś powiedzieć na temat mich regułek?
Poniższe regułki pracują na ruterku czy maja jakiś sens?

Kod: Zaznacz cały

#!/bin/sh

#firewall start
echo "Uruchamianie firewall..."
echo "Czysczenie wpisów..."
###### Kasujemy wcześniejsze wpisy
iptables -F
iptables -X
iptables -F -t filter

iptables -t nat -X 
iptables -t nat -F
iptables -X -t filter 
echo "Uruchamiam forwarding..."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "Blokujemy wszystko..."
### blokujemy 
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -j ACCEPT

echo "Akceptacja nąwiazanych połączeń..."
###### Akceptujemy połączenia już ustanowione w obu łańcuchach forward, OUTPUT i INPUT:.
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "INPUT DROP INVALID " --log-ip-options --log-tcp-options
iptables -A INPUT -m state --state INVALID -j DROP

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

echo "Otwieram pory..."


iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT


##### Otwieramy port 20 oraz 21 dla FTP
iptables -A INPUT -p tcp -i eth0 --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT

iptables -A INPUT -p tcp -i eth1 --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 21 -j ACCEPT

#### FTP - nawiazywanie polaczen
iptables -A INPUT -p tcp -i eth0 --dport 49152:65535 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 49152:65534 -j ACCEPT

echo "limuty połaczeń..."
#### limit połaczen na eth0
iptables -I INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -m recent  --set --name STOP
iptables -I INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -m recent  --update --seconds 60 --hitcount 10 --name STOP -j DROP

##### Otwieramy porty DHCP aby mogło przydzielać IP oraz otwieramy port 200
iptables -A INPUT -p tcp -s 192.168.3.0/24 --dport 200 -j ACCEPT
iptables -A INPUT -p udp -i eth1 --dport 67 -j ACCEPT
iptables -A INPUT -p udp -i eth1 --dport 68 -j ACCEPT

#### Porty od VPN
iptables -A INPUT -p tcp -i eth0 --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp -i eth1 --dport 1723 -j ACCEPT


#### web torrent
iptables -A INPUT -p tcp -i eth0 --dport 9091 -j ACCEPT

### Port od SSH na eth0 -INTERNET
iptables -A INPUT -p tcp -i eth0 --dport 55 -j ACCEPT

### Serwer www na eth0
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT

##### Przekierowanie na stronę z komunikatem
iptables -t nat -A PREROUTING -p tcp -s 192.168.3.0/24 -d 0.0.0.0 -j DNAT --to 212.77.100.101:80

####Pozwalamy  / zabraniamy  pingowania
#### Pingowac pomżna zawsze z podsieci 192.168.1.0/24 niezaleznie od filtracji mac
iptables -A INPUT -s 192.168.3.0/24 -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j  DROP
iptables -A INPUT -s 192.168.125.0/24 -p icmp --icmp-type echo-request -j ACCEPT

#######_______________________________________________________________________________________________________###############
#	Lista dopuszczonych adresów mac

echo "Mac lista..."

   ##### MAC CONTROL ACCESS LIST
   iptables -N MACCONTROL
   iptables -A MACCONTROL -s 192.168.125.100 -m mac --mac-source 00:1B:38:28:7A:2E -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.101 -m mac --mac-source 00:1C:26:12:89:A3 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.102 -m mac --mac-source 00:1D:92:4B:11:65 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.103 -m mac --mac-source 00:00:39:75:AF:D4 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.104 -m mac --mac-source 00:11:95:7E:4E:90 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.105 -m mac --mac-source 00:30:4F:6D:98:D3 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.106 -m mac --mac-source 00:23:4E:79:37:C7 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.107 -m mac --mac-source 00:13:02:D6:CA:D1 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.109 -m mac --mac-source 08:00:27:16:2A:C8 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.108 -m mac --mac-source 5C:AC:4C:56:38:BF -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.216 -m mac --mac-source 50:B7:C3:53:8C:77 -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.217 -m mac --mac-source 00:1B:9E:38:86:9D -j ACCEPT
   iptables -A MACCONTROL -s 192.168.125.218 -m mac --mac-source 84:51:81:E1:51:DD -j ACCEPT
    #### adresy dla VPN
    iptables -A MACCONTROL -s 192.168.125.200 -j ACCEPT
    iptables -A MACCONTROL -s 192.168.125.201 -j ACCEPT
    iptables -A MACCONTROL -s 192.168.125.202 -j ACCEPT
    iptables -A MACCONTROL -s 192.168.125.203 -j ACCEPT
    iptables -A MACCONTROL -s 192.168.125.204 -j ACCEPT
    iptables -A MACCONTROL -s 192.168.125.205 -j ACCEPT
    iptables -A MACCONTROL -s 192.168.125.206 -j ACCEPT

    #### adres dla HTC
    iptables -A MACCONTROL -s 192.168.125.115 -j ACCEPT

    ### adres dla wirtual-debian
    iptables -A MACCONTROL -s 192.168.125.24 -j ACCEPT
    iptables -A MACCONTROL -s 192.168.125.26 -j ACCEPT
    iptables -A MACCONTROL -j DROP

    ##### Otwieramy porty dla naszej sieci - dostep do serwera.
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 20 -j MACCONTROL 	#Port ?
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 21 -j MACCONTROL	#Port ftp
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 55 -j MACCONTROL 	#Port ssh
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 80 -j MACCONTROL	#Port www
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 9091 -j MACCONTROL	#Port torrent www
    iptables -A INPUT -s 192.168.125.0/24 -p udp --dport 500 -j MACCONTROL	#Port do VPN / LAN
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 450 -j MACCONTROL	#Port VPN / LAN
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 139 -j MACCONTROL	#Port LAN
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 138 -j MACCONTROL	#Port LAN
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 137 -j MACCONTROL	#Port LAN
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 136 -j MACCONTROL	#Port LAN
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 1723 -j MACCONTROL #Port LAN
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 2705 -j MACCONTROL #Port LAN27015

      iptables -A FORWARD -s 192.168.125.0/24 -j MACCONTROL
    iptables -A INPUT -i eth0 -j MACCONTROL

    ##### Otwieramy port dla proxy oraz przepuszczamy przez niego wwww
    iptables -A INPUT -s 192.168.125.0/24 -p tcp --dport 3128 -j MACCONTROL	#Port proxy
    iptables -t nat -A PREROUTING -s 192.168.125.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128	#Przekierowanie ruchy na interfejsie eth1 z portu 80 na port 3128


#######_______________________________________________________________________________________________________###############
    #### Maskarada dla podsieci 192.168.125.0
    iptables -t nat -A POSTROUTING -s 192.168.125.0/24 -d 0.0.0.0/0 -j MASQUERADE
    

echo "forwarding..."
####Przekierowywanie portow poczta

iptables -t nat -I PREROUTING -p tcp -i eth0 --dport 25 -j DNAT --to 192.168.125.26:25
iptables -t nat -I PREROUTING -p udp -i eth0 -d 0/0 --dport 25 -j DNAT --to 192.168.125.26:25
iptables -t nat -I PREROUTING -p tcp -i eth0 --dport 110 -j DNAT --to 192.168.125.26:110
iptables -t nat -I PREROUTING -p udp -i eth0 -d 0/0 --dport 110 -j DNAT --to 192.168.125.26:110

iptables -t nat -I PREROUTING -p tcp -i eth0 --dport 587 -j DNAT --to 192.168.125.26:25
iptables -t nat -I PREROUTING -p tcp -i eth0 --dport 957 -j DNAT --to 192.168.125.26:110
iptables -t nat -I PREROUTING -p tcp -i eth0 --sport 587 -j DNAT --to 192.168.125.26:25
iptables -t nat -I PREROUTING -p tcp -i eth0 --sport 957 -j DNAT --to 192.168.125.26:110


####Przekierowanie portow pulpit zdalny
iptables -t nat -I PREROUTING -p tcp -i eth0 --dport 3389 -j DNAT --to 192.168.125.200

#### Montowanie kieszeni dla torrent
umount /torrent
mount -o guest //192.168.125.24/Storage/C/torrent /torrent

umount /dysk-lan
mount -o guest //192.168.125.24/Storage/C /dysk-lan

echo "Sterownik drukarki is down now...."
/etc/init.d/smfpd stop

echo "restart na eth0...."
ifconfig  eth0 down
ifconfig eth0 up
dhclient eth0
echo ""
echo "ustawienia na eth0.."
echo " "
ifconfig eth0
echo""
echo""
echo "blokady rozne...."
iptables -t mangle -A POSTROUTING -o eth1 -j TTL --ttl-set 0
### Blokowanie P2P
echo "Blokada skonaowania portow..."
echo "upierdzalamy lacze...."
/etc/upierdalacz/kolejka

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 27 gru 2012, 01:37
autor: jacekalex
Mają, choć ja bym zrobił je inaczej, tzn objął systemem śledzenia połączeń CONNTRACK, i wszystko za routerem objął ochroną.
Czyli nie

Kod: Zaznacz cały

iptables -A FORWARD -j ACCEPT
tylko

Kod: Zaznacz cały

iptables -A FORWARD -s 192.168.0.0/16    -j ACCEPT
iptables  -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
I listę mac-adresów pakowałbym nie do firewalla, lecz do tablicy map:ip Ipseta.

Jedna sugestia:
Nie wiem, jaką sieć ma obsługiwać taki router i ilu użytkowników ma z niej korzystać, ale lepiej najpierw poświęcić trochę czasu na dokumentację, a potem skonfigurować firewall regułka po regułce samodzielnie.
Bo na takich gotowcach i przykładach być może cośtam będzie jakośtam działać, ale administrator może albo wiedzieć i rozumieć, co się u niego w sieci dzieje i dlaczego, albo wiecznie szukać pracy. :rotfl:
A jeśli cytujesz tutaj skrypt, którego działania do końca nie rozumiesz, to na 99% będziesz miał z niego więcej kłopotów, niż pożytku.

Struktura tablic Iptables jest prosta i logiczna, i każda regułka ma w nich swoje miejsce.
Tu masz schematy przepływu pakietów przez netfiltera (iptables):
http://jacekalex.sh.dug.net.pl/iptables_routing.pdf
http://jacekalex.sh.dug.net.pl/Iptables-packet-flow.png
Do tego podręcznik na wikibooks.
http://pl.wikibooks.org/wiki/Sieci:Linu ... r/iptables

Nie święci garnki lepią, przykłady dają ogólny obraz sytuacji, swoją konfigurację administrator robi samodzielnie po to, żeby zrozumieć, jak działa taka konfiguracja, i w razie kłopotów wiedzieć, gdzie ją poprawić.

To by było na tyle
:craz:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 27 gru 2012, 10:49
autor: dhapollo
Witam.

Czemu sądzisz iż nie ja to pisałem?
jakoś nie mam zwyczaju wstawić czegoś co nie jest moje i się pod tym podpisywać
iptables -A FORWARD -s 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Taki zapis powinien chyba w zupełności wystarczyć jak na moje potrzeby.

Kod: Zaznacz cały

iptables -A FORWARD -s 192.168.125.0/24    -j ACCEPT
iptables  -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Do sieci jest się bardzo łatwo włamać mi zajęło ok 60 sek a nie jestem specjalistą.
Mianowicie podsłuchałem sobie co "lata" w sieci podmieniłem MAC i IP na podsłuchane i dostałem dostęp.
Czy można się jakoś zabezpieczyć przed takimi sytuacjami z poziomu iptables?

Pozdrawiam

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 27 gru 2012, 12:13
autor: luk1don
dhapollo pisze:Witam.

Czemu sądzisz iż nie ja to pisałem?
jakoś nie mam zwyczaju wstawić czegoś co nie jest moje i się pod tym podpisywać
iptables -A FORWARD -s 192.168.0.0/16 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Taki zapis powinien chyba w zupełności wystarczyć jak na moje potrzeby.

Kod: Zaznacz cały

iptables -A FORWARD -s 192.168.125.0/24    -j ACCEPT
iptables  -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Do sieci jest się bardzo łatwo włamać mi zajęło ok 60 sek a nie jestem specjalistą.
Mianowicie podsłuchałem sobie co "lata" w sieci podmieniłem MAC i IP na podsłuchane i dostałem dostęp.
Czy można się jakoś zabezpieczyć przed takimi sytuacjami z poziomu iptables?

Pozdrawiam
Podług Twoich przykładów np. wpuszczasz dany MAC:

Kod: Zaznacz cały

iptables -A FORWARD -i ethX -m mac --mac-source NUMER-DANEGO-ADRESU-MAC -j ACCEPT
I inne...

Lepiej stosować zamiast standardowych dostępnych w Linuksie serwerów DHCP zwykły dnsmasq. Takie ustawienie, że dopiero po udanej transakcji uzyskania dzierżawy adresu IP z DHCP możliwa jest komunikacja klienta ze światem zewnętrznym.

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 27 gru 2012, 14:31
autor: jacekalex
Zainteresuj się ipsetem i talbicą

Kod: Zaznacz cały

bitmap:ip,mac
albo stosuj dopasowanie typu:

Kod: Zaznacz cały

-s 192.168.15.12 -m mac --mac-source {mac-adres}
dopasowując każdego hosta osobno na podstawie adresu IP i mac równocześnie.

Natomiast można to obejść przez spoofowanie mac i podszywanie się pod innego hosta, więc jak Ci myszy w kablach biegają, to możesz postawić serwer pppoe z uwierzytelnieniem CHAP, albo walnąć nawet vpn - np Ipsec - i autoryzować pacjentów na podstawie certyfikatu ssl albo klucza tpm. :rotfl:

Wszystko zależy, jaka to sieć, ilu pacjentów obsługuje, i jaka rozległa jest ta sieć, i co o za pacjenci.
Czemu sądzisz iż nie ja to pisałem?
jakoś nie mam zwyczaju wstawić czegoś co nie jest moje i się pod tym podpisywać
ja tam chyba widziałem kawałek lub całość skryptu UPIERDALACZ_ETHO autorstwa Biexi.
Sznurek: http://stary.dug.net.pl/texty/htb.php

W każdym razie widać podobieństwo.

Pozdrawiam
:craz:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

: 27 gru 2012, 17:03
autor: dhapollo
Tak zgadza się ale tego w skrypcie nie ma, a jedynie odnośnik do tego :) ponadto jest to modernizowane i zamieszczone na http://debian.linux.pl/threads/28130-Ru ... %C5%82ania, dodatkowo na http://cosinus.waw.pl jest zamieszczona wersja pobieraniem wszystkich danych z jednego pliku IP, MAC, Nazwa, ... Dane są przenoszone iptables, dhcp, i htb ale to inny temat oczywiście mogę coś takiego zamieści jak jest potrzeba:) Wracając do tematu i samego skryptu. Obecnie jak user nie ma "autoryzacji MAC" dostaje inna pulę adresów i w czasie połączenia z netem jest przekierowany na stronę z komunikatem. Spróbuje tak jak kolega luk1don proponuje. Ale raczej i to się da podsłuchać coś czuję