Firewall.Pokazcie slabe punkty w skrypcie

Instalacja i konfiguracja oprogramowania sieciowego.
Awatar użytkownika
nid3
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 08 lis 2007, 18:27
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Firewall.Pokazcie slabe punkty w skrypcie

Post autor: nid3 »

Hej! Umieszczam swój skrypt na zwykły Desktop (który jest przeznaczony do korzystania w normalny sposób z internetu ( bez udostępniania łącza czy coś takiego)do "iptables" i bardzo chciałbym abyście powiedzieli co i jak mógłbym zmienić, poprawić, udoskonalić.
Chętnie zobaczę Wasze skrypty, najwyżej podpatrzę coś fajnego i wykorzystam;P
A jeśli ktoś chciałby mój przetestować to licencja GPL :P:P:P:P

Kod: Zaznacz cały

#! /bin/bash
# script to iptables///ubuntu
# sudo chmod 700 iptables.sh
# adding to init  -upstart-  in  ubuntu:
# sudo cp iptables.sh /etc/init.d/
# sudo update-rc.d iptables.sh default 
#########################################################
#### kasowanie polityki : 
#killing all chains
iptables -F 

#### polityka DROP dla INPUT
 iptables -P INPUT DROP
#### polityka DROP dla OUTPUT
 iptables -P OUTPUT DROP
#### polityka ACCEPT dla FORWARD
 iptables -P FORWARD ACCEPT

#### wlaczenie loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT


####### WWW  ###################################################
 
 iptables -A INPUT -p tcp  --sport 80  -j ACCEPT   	
 iptables -A INPUT -p udp  --sport 53 -j ACCEPT 	
 iptables -A OUTPUT -p tcp  --dport 80 -j ACCEPT 
 iptables -A OUTPUT -p udp  --dport 53 -j ACCEPT 

#####################################################################
####### kadu ########################################################

iptables -A INPUT -p tcp -s 0/0 --sport 8074  -j ACCEPT
iptables -A OUTPUT -p tcp -s 0/0 --dport 8074 -j ACCEPT

####################################################################
###### ssh #########################################################

iptables -A INPUT -p tcp --sport 22  -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

####################################################################
##### auth #########################################################

iptables -A INPUT -p tcp --source-port 113 -j ACCEPT

#####################################################################
#### ftp ############################################################

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

######################################################################
#### Zabezpieczenie przed powodzia SYN (Syn-flood):###################

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT



######################################################################
#### Ping of death: ##################################################

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#####################################################################
#### Wlaczenie przekazywania IP######################################

echo 1 > /proc/sys/net/ipv4/ip_forward

####################################################################
#### Wlaczenie blokady komunikatow echo (ping) jesli : 0 --true  , 1 --false

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

####################################################################
#### Blokada przed atakami typu SYN FLOODING

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

##########OPCJONALNIE PINGI:
##########pozwalam/nie pozwalam sie pingowac //patrz linijka wlke  // 
#iptables -A INPUT -p icmp -s 0/0 -d 0/0 -j DROP
#iptables -A OUTPUT -p icmp -s 0/0 -d 0/0 -j DROP

####################################################################
#### serwer https // np skype ######################################

iptables -A INPUT -p tcp  --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

#### serwer do gier// lub ewentualnie jaki port   ##################
################################################
###iptables -A INPUT -p udp -j ACCEPT	########		
###iptables -A OUTPUT -p udp -j ACCEPT	########
################################################

#### serwer do torrentow -o -p -c -j -o -n -a -l -n -i -e ###################
#############################################################################
#iptables -A INPUT  -p tcp --sport 1024:65535 -j ACCEPT 
#iptables -A INPUT  -p udp --sport 1024:65535 -j ACCEPT 

#iptables -A OUTPUT  -p tcp --dport 1024:65535 -j ACCEPT
#iptables -A OUTPUT  -p udp --dport 1024:65535 -j ACCEPT
#############################################################################
#### -m wgranie modulu ######################################################
#--state filtrowanie po stanie pakietu:
# INVALID -	pakiet nie moze byc zidentyfikowany
# ESTABLISHED - pakiet nalezy do nawiazanego polaczenia przez ktore juz przechodzily pakiety
# NEW - 	pakiet inicjujacy nowe polaczenie
# RELATED - 	pakiet nawiazujacy nowe polaczenie stowarzyszone z juz nawiazanym, np otwieranie 
# 		wyzszych portow przez przegladarke www przy sciaganiu plikow
        

iptables -A INPUT -p tcp -j ACCEPT -m state --state RELATED,ESTABLISHED,NEW
iptables -A OUTPUT -p tcp -j ACCEPT -m state --state RELATED,ESTABLISHED,NEW
iptables -A INPUT -p udp -j ACCEPT -m state --state RELATED,ESTABLISHED
iptables -A OUTPUT -p udp -j ACCEPT -m state --state RELATED,ESTABLISHED

#### Zapisujemy caly nasz ruch w logach
########################################################################
iptables -A INPUT -j LOG -m limit --log-level warning --log-prefix "FIREWALL_WARN:"   # logi o stanie warning!!!!!
iptables -A OUTPUT -j LOG -m limit --log-level warning --log-prefix "FIREWALL_WARN:"
#iptables -A FORWARD -j LOG -m limit --limit 15/hour
########################################################################


Jeśli masz problemy z Ubuntu --->http://ubuntuguide.org/wiki/Ubuntu:Intrepid
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: jacekalex »

Witam

Ja widzę - że ten konfig jest jednym wielkim słabym punktem.
Widzę - ze ktoś nie rozumie działania iptables.

Zajrzyj tu: viewtopic.php?t=43258&highlight=podstawy+iptables

To by było na tyle.

:goog:
Awatar użytkownika
Ruri
Przyjaciel
Przyjaciel
Posty: 532
Rejestracja: 13 wrz 2006, 21:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: Ruri »

Nie wiem czy jest sens odcinać sobie wyjscie a potem powoli otwierać porty. Zwłaszcza, że jak piszesz to zwykły desktop, nie udostępnia połączenia, nie spełnia roli serwera itd itd. Mój jest o wiele prostszy a spełnia swoje zadanie, porównaj sobie.

Kod: Zaznacz cały

#!/bin/bash
# ruri.azi@gmail.com
#
echo ' * Starting Firewall'
#
# PRZEKAZYWANIE PAKIETOW IP
#echo "1" > /proc/sys/net/ipv4/ip_forward
#
# CZYSZCZENIE STARYCH REGUŁ
iptables -F
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -X
iptables -t nat -X
iptables -t nat -F
#
# POLITYKA DZIAŁANIA
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#
# INTERFEJS LO
iptables -A INPUT -i lo -j ACCEPT
#
# BLOKUJĘ PORTY BLASTERA I SASSERA (NP. DLA VIRTUALBOX)
iptables -A INPUT -p tcp --dst 0/0 -m multiport --dport 135,445 -j DROP
iptables -A FORWARD -p tcp --dst 0/0 -m multiport --dport 135,445 -j DROP
#
#
# SIEC LOKALNA NA ETH1 PEŁNE ZEZWOLENIE
iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
#
# MASKARADA DLA SIECI WEWN / NAT
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
#
# POZWALAM NA PINGI (1/S) W SIECI WEWNĘTRZNEJ (ETH1)
iptables -A INPUT -p icmp --icmp-type echo-request -i eth1 -j ACCEPT -m limit --limit 1/sec
#
# POZWALAM NA PINGI (1/S) Z SIECI ZEWNETRZNEJ. (ETH0)
#iptables -A INPUT -p icmp --icmp-type echo-request -i eth0 -j ACCEPT -m limit --limit 1/sec
#
#
##### OTWARCIE PORTÓW ####
#
# SSH DAEMON - TCP PORT 22 - DROP ANY MORE THAN 3 NEW CONNECTIONS FROM ONE ADDRESS EVERY 5 MINS
iptables -I INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 3 -j DROP
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
#
# WSZYSTKIE NAWIAZANE JUZ POLACZENIA ROBIA CO CHCA.
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: jacekalex »

Na desktopie używam czegos takiego:

Kod: Zaznacz cały

#!/bin/bash

echo "# ignorowanie ICMP sudo echo request wysylanych na adres rozgloszeniowy" 

sudo echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

sudo echo "128" >> /proc/sys/net/ipv4/ip_default_ttl

echo "# ochrona przed SYN flood" 

sudo echo "1" > /proc/sys/net/ipv4/tcp_syncookies


echo "# refuse source routed packets"  

sudo echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route


sudo echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
sudo echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

echo "# logowanie pakietow z nieprawidlowych adresow "

sudo echo "1"> /proc/sys/net/ipv4/conf/all/log_martians

echo "# Tworzenie reguł.........................................................." 

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -X
sudo iptables -t nat -F
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT 
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A FORWARD -o lo -j ACCEPT
sudo iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
sudo iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
sudo iptables -A INPUT -p tcp -i eth0 -m state --state NEW -j REJECT --reject-with tcp-reset
sudo iptables -A INPUT -p udp -i eth0 -m state --state NEW -j REJECT --reject-with icmp-host-unreachable
sudo iptables -A INPUT -p icmp -i eth0 -m state --state NEW -j REJECT --reject-with icmp-host-unreachable
sudo iptables -I INPUT -p udp -f -j DROP

echo "# Konfiguracja reguł gotowa.................................................."
natomiast otwieranie portów na zewnątrz (do internetu):

np: ftp, apache, itp - pozwalające na dostęp anonimowy:

Kod: Zaznacz cały

iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT -m limit --limit 3/sec
Natomiast do ssh:

Kod: Zaznacz cały

iptables -N SSH
iptables -A INPUT -p tcp -i eth0 --dport 22 -j SSH -m limit --limit 3/sec
iptables -I SSH -p tcp -i eth0 --dport 22 -m state --state NEW -m recent --set
iptables -A SSH -p tcp -i eth0 --dport 22 -m state --state NEW -m recent --update --seconds 900 --hitcount 3 -j DROP
iptables -A SSH -p tcp -i eth0 --dport 22 -j ACCEPT
Pozdrawiam
Awatar użytkownika
nid3
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 08 lis 2007, 18:27
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: nid3 »

@jacekalex
Chętnie wysłucham na temat iptables;P bo chyba wiesz lepiej
serio korzystałeś z tego?...:P
A krytyka jest ok ale jak bys mi pokazal co jednak bys zmienil, poprawil.

A i dzieki za skrypt, siadam do analizowania.:)

A jak z siecia bittorrent dziala Ci,czy inne p2p?

@Ruri
Nie wiem czy jest sens odcinać sobie wyjscie a potem powoli otwierać porty.
co do polityki OUTPUT jakbym słyszał mojego promotora:P narazie to jest taki test wsumie, ale wydaje mi sie ze OUTPUT jest jakims zabezpieczeniem na takie programy czy skrypty typu rootkit.
A i dzięki za skrypt napewno zaczerpe cos z niego:)


Czekam na wiecej:D:D
I dodam ze dzialam zgodnie z : Pozamykac wszytsko i otworzyc co mi jest potrzebne.Wydaje mi sie ze tak jest najbezpieczniej.
Jeśli masz problemy z Ubuntu --->http://ubuntuguide.org/wiki/Ubuntu:Intrepid
noobik

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: noobik »

ja mam pytanie jak z takie skrypty z korzystać :D
potrzebne to czy tylko dla chętnych?
pozdrawiam
Awatar użytkownika
nid3
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 08 lis 2007, 18:27
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: nid3 »

@noobik
aby taki skrypt dzialal:

Kod: Zaznacz cały

gedit
wklejasz do niego skrypt
pozniej zapiszujesz jak chcesz np iptables.sh

Kod: Zaznacz cały

sudo chmod 700 iptables.sh
i nastepnie

Kod: Zaznacz cały

sudo ./iptables.sh
i sprawdzasz czy sie wlaczyl

Kod: Zaznacz cały

sudo iptables -L
jesli sa reguły to znaczy ze jest aktywny.
Jeśli masz problemy z Ubuntu --->http://ubuntuguide.org/wiki/Ubuntu:Intrepid
Awatar użytkownika
Kamil255
Piegowaty Guziec
Piegowaty Guziec
Posty: 9
Rejestracja: 10 lut 2009, 20:42
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: Kamil255 »

Kiedy wpisuje:

Kod: Zaznacz cały

sudo chmod 700 iptables.sh
chmod: nie ma dostępu do `iptables.sh': No such file or directory
sudo ./iptables.sh
sudo: ./iptables.sh: command not found
sudo iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Proszę o pomoc
Awatar użytkownika
nid3
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 08 lis 2007, 18:27
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: nid3 »

ale co tu nie rozumiesz?
tam widze jakies reguly w iptables to jednak Ci cos zaladowalo.
Proszę o pomoc
juz bardziej sie nie da wytlumaczyc
otwierasz gedit (cos gdzie mozna pisac np kate, mcedit)
wklejasz jakis skrypt badz piszesz sam.
zapisujesz plik w postaci np. iptables.sh w /home/nazwa_uzytk
nadajesz plikowi prawa do wykonywania

Kod: Zaznacz cały

sudo chmod u+x /home/nazwa_uzytk/iptables.sh
i wykonujesz skrypt

Kod: Zaznacz cały

sudo ./iptables.sh
Jeśli masz problemy z Ubuntu --->http://ubuntuguide.org/wiki/Ubuntu:Intrepid
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: jacekalex »

Witam

Portów w firewallu nie otwiera sie w obie strony:

Nowoczesne firewalle rozpoznają stan pakietu.
Klasyfikują pakiet na podstawie połączenia - czy nawiązuje nowe połączenie, czy jest częścią istniejącego.
Dlatego blokuje się wszystkie pakiety nawiązujące nowe i wadliwe połączenia (NEW i INVALID) natomiast pozwala na pakiety - należące do trwających połączeń (RELATED i ESTABLISHED).

Kod: Zaznacz cały

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT 
sudo iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
3 najważniejsze reguły.
Pierwsza blokuje wszystko - co próbuje się dostać do komputera.
Druga pozwala na trwanie połączeń zainicjowanych z twojego komputera.
(brak tej reguły spowoduje - że z komputera wydostanie się wszystko
- ale ani jeden bajt nie wróci jako odpowiedź)
Trzecia pozwala na ruch pakietów wychodzących z komputera do internetu.

Błąd w twoim skrypcie polega na tym -że otwierając porty w obie strony
- otworzyłeś drogę do kompa tak szeroko - ze tylko wydawało Ci się - że to jest firewall.

Blokowanie portów w łańcuchu OUTPUT natomiast ma chronić przed działaniem backdoorów i trojanów
- które mogłyby być użyte np. do wysyłania spamu bez twojej wiedzy - albo kradzieży informacji.

Natomiast część zabezpieczenia - odbywa się przez "tuning" ustawień jądra systemu.
Mam na myśli komendy takie jak:

Kod: Zaznacz cały

sudo echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
Generalnie - co powiesz na taką konfigurację?

Kod: Zaznacz cały

#!/bin/bash

echo " Uruchamiam firewalla............................................."


echo "# ignorowanie ICMP echo request wysyłanych na adres rozgloszeniowy" 

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts


echo "# ochrona przed SYN flood" 

echo "1" > /proc/sys/net/ipv4/tcp_syncookies


echo "# refuse source routed packets"  

echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route

echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

echo "# logowanie pakietow z nieprawidlowych adresow "

echo "1"> /proc/sys/net/ipv4/conf/all/log_martians

echo "# Konfigurowanie zapory..................................................." 

echo "# Czyszczenie tablic......................................................"

iptables -F

iptables -X

iptables -t nat -X

iptables -t nat -F

echo "# Tworzenie polityki domyślnej............................................" 

iptables -P INPUT DROP

iptables -P FORWARD ACCEPT

iptables -P OUTPUT DROP

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

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

iptables -A INPUT -p udp -f -j DROP 

iptables -A OUTPUT -d 208.67.220.220/32 -j ACCEPT 

iptables -A OUTPUT -d 208.67.222.222/32 -j ACCEPT 

iptables -A OUTPUT -m owner --uid-owner havp --gid-owner havp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -m owner --uid-owner debian-tor --gid-owner debian-tor -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -p icmp -j ACCEPT 

iptables -A FORWARD  -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 

echo " & Firewall uruchomiony i skonfigurowany ...............................gotowe"
Te reguły blokują prawie wszystko - co wychodzi z komputera bezpośrednio - wymuszając używanie dodatkowego zabezpieczenia - jakim jest serwer proxy - filtrujący wirusy, trojany - a dzięki tzw. metodzie heurestycznej - analizie składni przesyłanych danych - również mają szansę zatrzymać rookita
- adresowanego do przeglądarki czy też komunikatora.
Takie serwery to - havp, dansguardian + privoxy lub squid., wszystkie paczki masz w repo, natomiast tor - to jest projekt - którego celem jest zapewnienie prywatności w sieci - przez ukrywanie własnego IP.

To by było na tyle.
Pozdrawiam
Awatar użytkownika
nid3
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 08 lis 2007, 18:27
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: nid3 »

Wielkie dzieki!!!

Kod: Zaznacz cały

iptables -A OUTPUT -d 208.67.220.220/32 -j ACCEPT 

iptables -A OUTPUT -d 208.67.222.222/32 -j ACCEPT 
a mógłbyś mi powiedzieć czego te wpisy się tyczą? to jest wyjście na ale dlaczego okurat na te ip?
Jeśli masz problemy z Ubuntu --->http://ubuntuguide.org/wiki/Ubuntu:Intrepid
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: jacekalex »

Witam

Kod: Zaznacz cały

iptables -A OUTPUT -d 208.67.220.22 -j ACCEPT 

iptables -A OUTPUT -d 208.67.222.222 -j ACCEPT
To są serwery DNS - które tłumaczą nazwę domeny np. forum.ubuntu.pl na adres IP 94.23.22.111
Gdy wpisujesz w np. firefoxie adres domeny - on najpierw odpytuje serwer DNS - o adres fizyczny przypisany do domeny - a dopiero potem
łączy się z serwerem - na którym jest strona www.

Nawiasem mówiąc - google nie gryzie.

Zajrzyj tu: viewtopic.php?t=54171
i tu: viewtopic.php?t=46217&highlight=opendns
Listę serwerów dns - jakie używasz wyświetlisz poleceniem cat /etc/resolv.conf

Kod: Zaznacz cały

:~$ cat /etc/resolv.conf
nameserver 127.0.0.1
nameserver 208.67.220.220
nameserver 208.67.222.222
Dodatkowo - skrypt do firewalla umieszcza się w folderze - najlepiel /usr/local/bin lub /usr/local/sbin
i tworzy dowiązania symboliczne w folderach /etc/network/ip-up.d oraz /lub /etc/ppp/ip-up.d .
także na pulpicie dobrze mieć skrót do skryptu ( z poleceniem gksudo nazwa_skryptu)
Uprawnienia chmod 700 i właściciel root - mogą być.



To by było na tyle.
:goog: :goog: :goog:
Ostatnio zmieniony 29 maja 2011, 13:22 przez jacekalex, łącznie zmieniany 1 raz.
Awatar użytkownika
balrog84
Sędziwy Jeż
Sędziwy Jeż
Posty: 52
Rejestracja: 27 maja 2007, 17:08
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: balrog84 »

Jeśli mogę podepnę się pod ten temat ...

Jak działa mój firewall, czy w ogóle jest skonfigurowany, jeżeli po zainstalowaniu systemu(Ubuntu 8.10) nie stworzyłem podobnego skryptu jak wasze i nie dodałem go do autostartu ?

A gdybym chciał wykorzystać taki skrypt:

Kod: Zaznacz cały

#!/bin/sh
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT 
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
to co powinienem dopisać aby otworzyć porty dla mojego serwera FTP (tak aby pracował w trybie zarówno passive 49998-49999 jak i active)?
Awatar użytkownika
rafaloo
Wytworny Kaczor
Wytworny Kaczor
Posty: 349
Rejestracja: 05 kwie 2008, 22:14
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Openbox
Architektura: x86_64

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: rafaloo »

@jacekalex Ty z tym google już tak nie szalej. W google tak naprawdę można znaleźć wszystko, więc sens istnienia tego forum można kwestionować.
Problemy rozwiązujemy na forum nie na PW. Niech inni na tym skorzystają.
Inny OS Gentoo/Debian/*BSD
Awatar użytkownika
nid3
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 08 lis 2007, 18:27
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: nid3 »

@balrog84
to co powinienem dopisać aby otworzyć porty dla mojego serwera FTP (tak aby pracował w trybie zarówno passive 49998-49999 jak i active)?
Najprostszym sposobem na to jest (passive off i passive on):

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
 iptables -A INPUT -m state --state RELATED -j ACCEPT
Jeśli masz problemy z Ubuntu --->http://ubuntuguide.org/wiki/Ubuntu:Intrepid
Awatar użytkownika
balrog84
Sędziwy Jeż
Sędziwy Jeż
Posty: 52
Rejestracja: 27 maja 2007, 17:08
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: balrog84 »

Nie jestem pewien czy dobrze zrozumiałem, wpis

Kod: Zaznacz cały

iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
zastąpić:

Kod: Zaznacz cały

iptables -A INPUT -m state --state RELATED -j ACCEPT
oraz dopisać ten otwierający porty 20,21 ?

Już sobie chyba poradziłem,

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 49998:49999 -j ACCEPT
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4707
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: jacekalex »

Najprostszym sposobem na to jest (passive off i passive on):
Kod:
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -m state --state RELATED -j ACCEPT
Tu widzę błąd.
Firewall jest tyle wart - ile jego najsłabsze ogniwo.
Dlatego otwarcie portu dla serwera ftp lub innego całkowicie - otwiera drogę na atak przepełnienia bufora i kilka innych.

Dlatego powinno się przy otwieraniu portów dla takich usług ustanawiać limity wywołań:
np:

Kod: Zaznacz cały

 
iptables -A INPUT -p tcp --dport 20:21 -m limit --limit 3/s -j ACCEPT
a jeszcze lepiej - zwłaszcza dla usług wymagających logowania:
Sposób opisany przez Ruriego:

Kod: Zaznacz cały

iptables -I INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp -i eth0 --dport 22 -m state --state NEW -m recent --update --seconds 900 --hitcount 3 -j DROP
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
Ten sposób likwiduje ryzyko ataku Denial of Serwice z jednego adresu IP,
oraz siłowego łamania hasła przy pomocy takiego programu jak THC Hydra.

To by było na tyle.
Awatar użytkownika
nid3
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 08 lis 2007, 18:27
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86
Kontakt:

Odp: Firewall.Pokazcie slabe punkty w skrypcie

Post autor: nid3 »

Hej,
Postanowiłem odświeżyć temat. Trochę zmian w iptables. I czekam oczywiście na opinie.

Kod: Zaznacz cały

###################################################
###################################################
###################################################
###########				###########
###########				###########
###########	rc.firewall		###########
###########				###########
###################################################
###################################################
###################################################
###################################################

ip=123.123.123.123
################################################
##############################
iptables -F
#################################################
#### polityka DROP dla INPUT
 iptables -P INPUT DROP
#################################################
#### polityka DROP dla OUTPUT
 iptables -P OUTPUT DROP
###################################################
#### polityka ACCEPT dla FORWARD
 iptables -P FORWARD ACCEPT

#### wlaczenie loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT 



#####################################################################
####### WWW  & DNS ##################################################

iptables -A OUTPUT -p tcp  --syn -s $ip  --dport 80 -j ACCEPT -m state --state NEW
iptables -A OUTPUT -p udp  -s $ip  --dport 53 -j ACCEPT -m state --state NEW

#####################################################################
####### kadu ########################################################

iptables -A OUTPUT -p tcp -s 0/0 --dport 8074 -j ACCEPT -m state --state NEW

####################################################################
###### ssh -logowanie 1 na minute- #################################

iptables -A INPUT -p tcp --dport 22 -m hashlimit --hashlimit 1/min --hashlimit-mode srcip --hashlimit-name ssh -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT -m state --state NEW

####################################################################
##### auth #########################################################

iptables -A INPUT -p tcp --source-port 113 -j ACCEPT

#####################################################################
#### ftp  ###########################################################

#iptables -A INPUT -p tcp ! --syn --sport 20:21 -d $ip --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -p tcp -s $ip --sport 1024:65535 --dport 20:21 -j ACCEPT -m state --state NEW

######################################################################
#### Zabezpieczenie przed powodzia SYN (Syn-flood):###################

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

######################################################################
#### Ping of death: ##################################################

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#####################################################################
#### Wlaczenie przekazywania IP######################################

echo 1 > /proc/sys/net/ipv4/ip_forward

#####################################################################
#### Wlaczenie blokady komunikatow echo (ping) jesli : 0 --true  , 1 --false

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

#####################################################################
#### Blokada przed atakami typu SYN FLOODING

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#####################################################################
# Weryfikacja adresu zrodlowego na poziomie kernela
# zeby zdalne hosty nie mogly sie podszyc pod moj komputer
#####################################################################

echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

################################################
#PING
iptables -A INPUT -p icmp -s 0/0 -d 0/0 -j DROP

####################################################################
#### połączenia https, skype ######################################

iptables -A OUTPUT -p tcp -s $ip --sport 1024:65535 --dport 443 -j ACCEPT -m state --state NEW

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

iptables -A OUTPUT  -p tcp -s $ip -d 0/0 --dport 1024:65535 -j ACCEPT -m state --state NEW

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

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

iptables -A INPUT -m state --state INVALID -j DROP
Jeśli masz problemy z Ubuntu --->http://ubuntuguide.org/wiki/Ubuntu:Intrepid
ODPOWIEDZ

Wróć do „Sieci, serwery, Internet”

Kto jest online

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