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  2009-05-10 00:53:36

  pancisza - Nowy użytkownik

pancisza
Nowy użytkownik
Zarejestrowany: 2009-05-10

prosba o sprawdzenie iptables.. rady mile widziane

witam,
komputer pelni role workstation plus ograniczone ssh i dostepne www.
mam skrypt iptables, ktory ma za zadanie spelniac role firewalla.. czy szanowne forum mogloby wyrazic swoje komentarze odnosnie konstrukcji?
sa to regulki ogolnie zebrane w sieci jak i z mana, wyglada na to, ze dziala. kazda krytyka mile widziana jest.

Description:    Debian GNU/Linux 5.0 (lenny)

dziekuje. ;)

Kod:

#!/bin/bash


#####################################################
# ip ktore maja wjazd na ssh - zmienic potem na dole
#####################################################
IPSSH1=x
IPSSH2=x


#####################################################
# czysc stare wpisy
#####################################################
iptables -t filter -F INPUT
iptables -t filter -F FORWARD
iptables -t filter -F OUTPUT 
iptables -F
iptables -X


#####################################################
# modul sledzenia polaczen
#####################################################
modprobe ip_conntrack


#####################################################
# domyslne polityki
#####################################################
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP


##################################################### 
# Loopback: na lokalnym interfejsie niech sie dzieje co chce
#####################################################
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


#####################################################
## Security Ogolne
#####################################################
# ochrona przed atakiem typu Smurf
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# nie akceptujemy pakietow "source route" (zmieniaja tablice routingu)
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# nie przyjmujemy pakietow ICMP redirect, ktore moga zmienic nasza tablice routingu
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
# wlaczamy ochrone przed blednymi pakietami ICMP error
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# ochrona przed spoofingiem -kazdy interfejs sieciowy bedzie przyjmowal
# tylko te pakiety ktore znajduja sie w tablicy routingu
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
#Blokada przed atakami typu SYN FLOODING
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 
# wlacza logowanie dziwnych (spoofed, source routed, redirects) pakietow
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians

# Metoda ACK (nmap -sA)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
# Skanowanie FIN (nmap -sF)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
# Metoda Xmas Tree (nmap -sX)
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
# Skanowanie Null (nmap -sN)
iptables -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,PSH,URG SYN,RST,ACK,FIN,PSH,URG -j DROP

# syn-flood
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP
iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


# drop pakietow ze zlymi flagami
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP

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

#####################################################
# ssh - konfiguracja dostepu dla danych IP
#####################################################
iptables -A INPUT -p tcp -s $IPSSH1 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s $IPSSH2 --dport 22 -m state --state NEW -j ACCEPT


#####################################################
# na input niech leca pakiety established i related 
#####################################################
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


#####################################################
# mozna mnie pingowac
#####################################################
iptables -A INPUT -p ICMP -j ACCEPT


#####################################################
# tv po multicascie
#####################################################
iptables -A INPUT -p udp --dst 224.0.0.0/4 --dport 1025: -j ACCEPT
iptables -A INPUT -p igmp -j ACCEPT

Offline

 

#2  2009-05-29 00:07:28

  Jacekalex - Podobno człowiek...;)

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

Re: prosba o sprawdzenie iptables.. rady mile widziane

Witam

Kod:

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

Tak bym tego nie robił.

Nawiązanie  nowych połączeń z jednego adresu IP np: 2000/s (atak DOS, lub przepełnienia bufora), lub z 2000 adresów IP w ciągu sekundy (DOS rozproszony) - to wszystko jest możliwe przy takiej regule.
Czy to wykonalne i groźne  - znasz nmapa i netcata - to wiesz najlepiej.

Raczej radziłbym limit równoczesnych połączeń do serwera, oraz limit nowych połączeń (NEW) z jednego IP - podobnie jak się to robi np. z ssh.

Kod:

#####################################################
# mozna mnie pingowac
#####################################################
iptables -A INPUT -p ICMP -j ACCEPT

Domagasz się Ping of Death i Buffer Overflow? - jeśli wpuszczasz icmp - to określ limit, maksymalny rozmiar pakietu i typy wpuszczanych pakietów.

np: tak możesz ograniczyć pakiety icmp do bezpiecznego poziomu:

Kod:

iptables -A INPUT -p icmp -s 0/0 -m limit --limit 3/s -m length --length 32:16384 -m state --state NEW -j ACCEPT

możesz też dodać opcję  --icmp-type - określając typy wpuszczanych pakietów.

Pozdrawiam

Ostatnio edytowany przez Jacekalex (2009-06-03 12:21:14)


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

Offline

 

#3  2009-06-02 19:54:52

  otang - Użytkownik

otang
Użytkownik
Zarejestrowany: 2009-06-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

żeby nie zakładać niepotrzebnie nowego tematu wrzucam tu swoją prośbę:

Witam, mam za dni parę kolokwium z firewalla, chciałem sobie poćwiczyć i tak znalazłem test i na poniższe pytania starałem się jakoś odpowiedzieć.
Czy mógłby ktoś miły sprawdzić czy mam to dobrze i ew. uzupełnić brakujące zadania ? (do których pomysłu nie mam już żadnego :( )

1.    zapisz polecenie, które zapewni przekazywanie pakietów (niezbędne do pełnienia funkcji routera)  na komputerze z firewallem.

Kod:

iptables -P FORWARD ALLOW

2.    utwórz regułę zezwalającą na komunikację z serwerami DNS o nazwach 'dns.tpsa.pl' i ‘dns2.tpsa.pl’.

Kod:

iptables –A INPUT –s dns –p udp --sport 53 –j ACCEPT
iptables –A OUTPUT –d dns –p udp --dport 53 –j ACCEPT
iptables –A INPUT –s dns.tpsa.pl –p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -d dns2.tpsa.pl -p tcp --dport 80 -j ACCEPT

3.    utwórz własny łańcuch, o nazwie „logi", który będzie odpowiedzialny za logowanie pakietów z prefiksem „niedozwolony ruch", z limitem 10 pakietów na godzinę.

4.    utwórz regułę zezwalającą na dostęp do uruchomionego na komputerze z firewallem serwera ftp. Połączenia nowe, przychodzące przez odpowiedni interfejs.

Kod:

iptables –A OUTPUT –p tcp --dport 20:21 -j ACCEPT
iptables –A INPUT –p tcp --sport 20:21 –j ACCEPT

5.    utwórz regułę kasującą trzecią regułę w łańcuchu OUTPUT.

Kod:

iptables –D OUTPUT 3

6.    zezwól na dostęp do komputera z firewallem za pomocą protokołu SSH z sieci lokalnej.

Kod:

iptables –A OUTPUT –d 213.227.9.3/24 –p tcp --dport 22 -j ACCEPT
iptables –A INPUT –s 213.227.9.3/24 –p tcp --sport 22 –j ACCEPT

7.    utwórz regułę zezwalającą na pełen ruch na interfejsie pętli zwrotnej.

Kod:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

8.    utwórz regułę blokującą dostęp do serwera proxy WWW uruchomionego na serwerze o nazwie 'xxx’.

Kod:

iptables –A OUTPUT –d xxx –p tcp --dport 3128, 8080 -j DROP

9.    utwórz regułę, która zapewni możliwość zsynchronizowania czasu z komputerem o nazwie 'clock.redhat.com' - komenda ntpdate ... (protokół ntp)

10.    zapewnij możliwość pingowania komputera z firewallem z komputerów sieci lokalnej,

Kod:

iptables –A OUTPUT –d 213.227.9.3/24 –p icmp -type echo -request -j ACCEPT
iptables –A INPUT –s 213.227.9.3/24 –p icmp -type echo -reply –j ACCEPT

11.    sprawdź adres sieci uczelnianej i za pomocą odpowiedniej reguły zapewnij możliwość nawiązywania nowych połączeń z tej sieci, połączeń już nawiązanych i powiązanych z już istniejącymi, do uruchomionego na komputerze z firewallem serwera WWW.

Kod:

ifconfig
iptables -A INPUT -i 213.227.9.3/24 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT

12.    ustaw polityki domyślne dla łańcuchów na taką, która pozwoli odrzucić pakiety, którym nie zezwalamy na przejście przez firewall.

Kod:

iptables -P INPUT DROP
iptables -P OUTPUT DROP

13.    wyczyść reguły w łańcuchach. I usuń puste łańcuchy.

Kod:

iptables -F INPUT
itpables -F OUTPUT

14.    poprawne określenie kolejności reguł

Ostatnio edytowany przez otang (2009-06-02 20:22:54)

Offline

 

#4  2009-06-02 20:20:04

  mariaczi - Użytkownik

mariaczi
Użytkownik
Zarejestrowany: 2007-10-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

@otang
Ad. 1. Popatrz w kierunku ip_forward
Ad. 9. man ntpdate
Ad. 11. Jesli podajesz "-i" to po nim musi wystapic nazwa interfejsu.

Przejrzyj jeszcze man iptables W sieci znajdziesz i po polsku.
Podaje wskazówki do tego czego nie ruszyłeś, resztę (nie wszystko) musisz poprawić po lekturze iptables.

Ostatnio edytowany przez mariaczi (2009-06-02 20:20:54)

Offline

 

#5  2009-06-02 20:26:48

  otang - Użytkownik

otang
Użytkownik
Zarejestrowany: 2009-06-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

Czytałem co nieco, ale już mi się wszystko miesza :/ chciałem tylko, żeby ktoś potwierdził, czy to co napisałem jest dobrze, lub ew. poprawił coś za co z góry będę wdzięczny

czytałem o tym tu:
http://www.ziolek.piotrkow.pl/linux/iptablesi.htm
http://users.uj.edu.pl/~palacz/edu/200607-PI/linux-iptables.html
http://hoth.amu.edu.pl/~m_jurga/pld/firewall/
http://forum.slackware.pl/viewtopic.php?t=3778
http://linux.howto.pl/artykuly,linux-20-8-0.html

Offline

 

#6  2009-06-02 20:36:53

  otang - Użytkownik

otang
Użytkownik
Zarejestrowany: 2009-06-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

mariaczi napisał(-a):

@otang
Ad. 11. Jesli podajesz "-i" to po nim musi wystapic nazwa interfejsu.

czyli powinno to wyglądać tak?

Kod:

iptables -A INPUT -i eth0 213.227.9.3/24 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT

Offline

 

#7  2009-06-03 08:33:42

  mariaczi - Użytkownik

mariaczi
Użytkownik
Zarejestrowany: 2007-10-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

otang napisał(-a):

czyli powinno to wyglądać tak?

Kod:

iptables -A INPUT -i eth0 213.227.9.3/24 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT

OK, ale podając adresy IP musisz przed nim podać parametr "-s". Dodatkowo w zadaniu masz, ze ma to byc zezwolenie na polaczenia do serwera www, czyli --dport 80
Proponuje odpalenie maszyny wirtualnej, jesli nie masz nigdzie linuxa zainstalowanego badz jakiejs wersji LIVE. Wziasc jeszcze kolege pod pache coby miec drugi komputer i na jednym wklepywac reguly, drugim probowac sie podlaczac. Usugi do testow mozesz spokojnie odpalic z ustawieniami domyslnymi :)
Powodzenia!

Offline

 

#8  2009-06-03 11:05:52

  otang - Użytkownik

otang
Użytkownik
Zarejestrowany: 2009-06-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

ok, czyli to 11 po poprawkach wygląda teraz tak:

Kod:

iptables -A INPUT -i eth0 -s 10.0.224.0/24 -p tcp --dport 80 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT

czy ten kawałek "-i eth0" jest w ogóle potrzebny w tej regułce?

Niestety nie mam za bardzo warunków żeby skombinować 2 kompy i router :/

Ostatnio edytowany przez otang (2009-06-03 11:08:25)

Offline

 

#9  2009-06-03 12:43:52

  Jacekalex - Podobno człowiek...;)

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

Re: prosba o sprawdzenie iptables.. rady mile widziane

Witam

6.    zezwól na dostęp do komputera z firewallem za pomocą protokołu SSH z sieci lokalnej.
Kod:
iptables –A OUTPUT –d 213.227.9.3/24 –p tcp --dport 22 -j ACCEPT
iptables –A INPUT –s 213.227.9.3/24 –p tcp --sport 22 –j ACCEPT

O ile się nie mylę - w sieciach lokalnych nie używa się adresów takich jak: 213.227.9.3/24 czy 213.227.9.3/24 lecz:

Adresy zarezerwowane dla sieci prywatnych (lokalnych) to:

10.0.0.0 - 10.255.255.255

172.16.0.0 - 172.31.255.255

192.168.0.0 - 192.168.255.255

Poza tym cała zabawa z dns-ami jest trochę nie praktyczna.

Kod:

iptables -P INPUT DROP
iptables -P OUTUP ACCEPT
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

- ta podstawowa lista zabezpiecza desktopa całkiem nieźle - porty z zewnątrz są niedostępne - natomiast dla połączeń nawiązanych z hosta wszystkie usługi sa dostępne -DNS-y też.

Zainstaluj sobie Linuxa i sprawdź te reguły na działającym systemie - bo nauka "pływania na sucho" nie wystarczy ani na kolokwium -ani w życiu.

Pozdrawiam

Ostatnio edytowany przez Jacekalex (2009-06-03 12:44:28)


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

Offline

 

#10  2009-06-03 13:20:32

  ostani_sprawiedliwy - Nowy użytkownik

ostani_sprawiedliwy
Nowy użytkownik
Zarejestrowany: 2009-06-03

Re: prosba o sprawdzenie iptables.. rady mile widziane

do otang :
po co te pytania zamieszczasz na takich forach jak je dostales osle to ich nie rozpowszechniaj...  usun tego posta z pytaniami ... bo w google jest na pierwszym miejscu ...

Offline

 

#11  2009-06-03 13:37:38

  Bodzio - Ojciec Założyciel

Bodzio
Ojciec Założyciel
Skąd: Gorlice
Zarejestrowany: 2004-04-17
Serwis

Re: prosba o sprawdzenie iptables.. rady mile widziane

ostani_sprawiedliwy napisał(-a):

do otang :
po co te pytania zamieszczasz na takich forach jak je dostales osle to ich nie rozpowszechniaj...  usun tego posta z pytaniami ... bo w google jest na pierwszym miejscu ...

A Tobie co się stało ?? paliłeś coś ? Pierwszy post i przezwiska od razu.


Debian jest lepszy niż wszystkie klony
Linux register users: #359018
http://www.freebsd.org/gifs/powerlogo.gif
Beskid Niski

Offline

 

#12  2009-06-03 13:43:50

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: prosba o sprawdzenie iptables.. rady mile widziane

Koledze srawiedliwemu chodzi chyba o skrypt do iptables, żeby pozostał niejawny :P pewnie żeby psor nie wygooglał że jego 100denci szukają pomocy na forach xD.

Offline

 

#13  2009-06-03 13:50:16

  ostani_sprawiedliwy - Nowy użytkownik

ostani_sprawiedliwy
Nowy użytkownik
Zarejestrowany: 2009-06-03

Re: prosba o sprawdzenie iptables.. rady mile widziane

chodzi o to zeby nie wygooglal ze jego pytania sa juz jawne

Offline

 

#14  2009-06-03 13:55:39

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: prosba o sprawdzenie iptables.. rady mile widziane

Nieśmiało pytając: to co, nie można już szukać pomocy na forach? otang pyta czy dobrze kombinuje, to chyba dobrze? Poza tym, zlituj się. Jak zmieni pytania i pozmienia na ten przykład porty, to już nie dasz sobie rady z kolosem ?

Offline

 

#15  2009-06-03 13:57:29

  ostani_sprawiedliwy - Nowy użytkownik

ostani_sprawiedliwy
Nowy użytkownik
Zarejestrowany: 2009-06-03

Re: prosba o sprawdzenie iptables.. rady mile widziane

ma od tego inne forum do dyskusji o kolosie, a tu chodzi o dobro ogółu a nie moje

Offline

 

#16  2009-06-03 14:03:26

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: prosba o sprawdzenie iptables.. rady mile widziane

Widać jak to 'drugie forum' jest skuteczne. Tutaj siedzą zaprawieni w bojach(?), więc chyba dobrze że o takie rzeczy pyta na forach tematycznych? Dobro ogółu, phi. Wychodzę z założenia, że jeśli ktoś jest na kierunku X, to nie będzie leciał w ciulki i zdawał po najmniejszej linii oporu, prawda? Innymi słowy, jeśli poczyta manuala do iptables to poradzi sobie z każdym zadaniem. A jeśli chce zdać bo zdać... Oj to cienko widzę przyszłość narodu...

Offline

 

#17  2009-06-03 14:04:56

  Bodzio - Ojciec Założyciel

Bodzio
Ojciec Założyciel
Skąd: Gorlice
Zarejestrowany: 2004-04-17
Serwis

Re: prosba o sprawdzenie iptables.. rady mile widziane

Ja to rozumiem, tylko o tego osła mi poszło. Na PW trzeba było...
Ewentualnie trochę łagodniej np. Ty ciulu bosy :P
Dobra, nie wcinam się :)


Debian jest lepszy niż wszystkie klony
Linux register users: #359018
http://www.freebsd.org/gifs/powerlogo.gif
Beskid Niski

Offline

 

#18  2009-06-03 16:14:50

  otang - Użytkownik

otang
Użytkownik
Zarejestrowany: 2009-06-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

Fajnie, że z mojego tematu zrobił się offtop
Kto powiedział, że ja te pytania dostałem??? Znalazłem tak jak właśnie pisałeś gdzieś na google i próbowałem rozwiązać w celach treningowych, chciałem tylko otrzymać odpowiedzi typu:

1. dobrze
2. źle dopisz coś tak i tak...
3. dobrze itd...

To że ktoś to wrzucił do sieci to już chyba nie moja wina, no nie??

Wracając do tematu prosiłbym o jakieś sugestie (jeszcze) :)

Offline

 

#19  2009-06-04 13:06:24

  otang - Użytkownik

otang
Użytkownik
Zarejestrowany: 2009-06-02

Re: prosba o sprawdzenie iptables.. rady mile widziane

już po kolosie, temat do zamknięcia

Offline

 

#20  2009-06-04 23:49:46

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: prosba o sprawdzenie iptables.. rady mile widziane

Jacekalex napisał(-a):

Witam

6.    zezwól na dostęp do komputera z firewallem za pomocą protokołu SSH z sieci lokalnej.
Kod:
iptables –A OUTPUT –d 213.227.9.3/24 –p tcp --dport 22 -j ACCEPT
iptables –A INPUT –s 213.227.9.3/24 –p tcp --sport 22 –j ACCEPT

O ile się nie mylę - w sieciach lokalnych nie używa się adresów takich jak: 213.227.9.3/24 czy 213.227.9.3/24 lecz:

Adresy zarezerwowane dla sieci prywatnych (lokalnych) to:

10.0.0.0 - 10.255.255.255

172.16.0.0 - 172.31.255.255

192.168.0.0 - 192.168.255.255

jezeli masz wystarczajaca ilosc publicznych ip nie ma rzadnego powodu aby nie uzywac ich wewnatrz LAN ... oprocz tego w ramach jednego LAN moga biegac zarowno prywatne jak i publiczne ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)