konfiguracja firewalla (ufw) proszę o sprawdzenie

Dyskusje o wszystkim co służy ochronie systemu i danych przed nieautoryzowanym dostępem.
Awatar użytkownika
capry
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 25 gru 2011, 13:28
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Inne
Architektura: x86_64

konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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.
Awatar użytkownika
Dwigatjel
Sędziwy Jeż
Sędziwy Jeż
Posty: 54
Rejestracja: 28 lut 2010, 14:25
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86_64
Kontakt:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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 ;)
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4681
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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:
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 :)
Awatar użytkownika
rob006
Wytworny Kaczor
Wytworny Kaczor
Posty: 417
Rejestracja: 28 paź 2007, 23:11
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86_64
Lokalizacja: Lublin
Kontakt:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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ść?
Awatar użytkownika
capry
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 25 gru 2011, 13:28
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post autor: ethanak »

eee... iptables to nakładka na co?
Awatar użytkownika
capry
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 25 gru 2011, 13:28
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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ć.
Awatar użytkownika
capry
Piegowaty Guziec
Piegowaty Guziec
Posty: 4
Rejestracja: 25 gru 2011, 13:28
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Inne
Architektura: x86_64

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4681
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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:
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 :)
Awatar użytkownika
rob006
Wytworny Kaczor
Wytworny Kaczor
Posty: 417
Rejestracja: 28 paź 2007, 23:11
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86_64
Lokalizacja: Lublin
Kontakt:

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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ść?
dhapollo
Piegowaty Guziec
Piegowaty Guziec
Posty: 18
Rejestracja: 19 kwie 2007, 19:57
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4681
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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:
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 :)
dhapollo
Piegowaty Guziec
Piegowaty Guziec
Posty: 18
Rejestracja: 19 kwie 2007, 19:57
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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
Awatar użytkownika
luk1don
Przebojowy Jelonek
Przebojowy Jelonek
Posty: 1768
Rejestracja: 07 lis 2008, 16:17
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4681
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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:
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 :)
dhapollo
Piegowaty Guziec
Piegowaty Guziec
Posty: 18
Rejestracja: 19 kwie 2007, 19:57
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME

Re: konfiguracja firewalla (ufw) proszę o sprawdzenie

Post 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ę
ODPOWIEDZ

Wróć do „Bezpieczeństwo Ubuntu”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości