[+] Prosty firewall na VMPlayer - iptables

Masz problemy z siecią bądź internetem? Zapytaj tu
pacpaw
Posty: 4
Rejestracja: 15 listopada 2009, 21:11
Lokalizacja: sk±din±d

[+] Prosty firewall na VMPlayer - iptables

Post autor: pacpaw »

Witam.
Od niedawna rozpocząłem przygodę z iptables. Obecnie próbuję uruchomić firewall według następującej polityki bezpieczeństwa: filtruje (przepuszczam)
a) HTTP i HTTPS (porty 21, 8080, 443)
b) SMTP (25)
c) FTP - tryb pasywny (21)
d) DNS (za pomocą tcp i udp) (53)

Reszta jest blokowana. Przeszukując forum i zasoby Internetu skonstruowałem następujący firewall. Jednak po uruchomieniu go nie działa mi www, czyli na bank jest źle. Może to że korzystam z VMPlayera ma jakiś wpływ i z tego powodu muszę coś zmienić?
Prosiłbym o pomoc w znalezieniu błędów.
Pozdrawiam.

Kod: Zaznacz cały

iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
###################
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
### akceptacja pakietow ###
iptables -A INPUT -p -tcp --dport 80 -m state NEW -j ACCEPT
iptables -A OUTPUT -p -tcp --sport 80 -m state NEW -j ACCEPT
iptables -A INPUT -p -tcp --dport 8080 -m state NEW -j ACCEPT
iptables -A OUTPUT -p -tcp --sport 8080 -m state NEW -j ACCEPT
iptables -A INPUT -p -tcp --dport 443 -m state NEW -j ACCEPT
iptables -A OUTPUT -p -tcp --sport 443 -m state NEW -j ACCEPT
iptables -A INPUT -p -tcp --dport 25 -m state NEW -j ACCEPT
iptables -A OUTPUT -p -tcp --sport 25 -m state NEW -j ACCEPT
iptables -A INPUT -p -tcp --dport 21 -m state NEW -j ACCEPT
iptables -A OUTPUT -p -tcp --sport 21 -m state NEW -j ACCEPT
iptables -A INPUT -p -tcp --dport 53 -m state NEW -j ACCEPT
iptables -A OUTPUT -p -tcp --sport 53 -m state NEW -j ACCEPT
iptables -A INPUT -p -udp --dport 53 -m state NEW -j ACCEPT
iptables -A OUTPUT -p -udp --sport 53 -m state NEW -j ACCEPT
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

Spróbuj tak, powinno zadziałać:

Kod: Zaznacz cały

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -p tcp --sport 80 -j ACCEPT 
iptables -A INPUT -p tcp --sport 8080 -j ACCEPT 
Oczywiście nie jest to rozwiązanie idealne ale zawsze coś, poza tym jeśli chcesz stosować politykę:
Obecnie próbuję uruchomić firewall według następującej polityki bezpieczeństwa: filtruje (przepuszczam)
a) HTTP i HTTPS [porty 21,8080,443]
b) SMTP [25]
c) FTP - tryb pasywny [21]
d) DNS (za pomocą tcp i udp) [53]

Reszta jest blokowana.
To zabawa na stanach raczej nie jest ci potrzebna, nie jestem tego do końca pewien więc może lepiej niech wypowiedzą się w tej kwestii bardziej doświadczeni forumowicze, ale na chwilę obecną ja nie widzę potrzeby zabawy na stanach.
pacpaw
Posty: 4
Rejestracja: 15 listopada 2009, 21:11
Lokalizacja: sk±din±d

Post autor: pacpaw »

piroaa pisze:Spróbuj tak, powinno zadziałać:

Kod: Zaznacz cały

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -p tcp --sport 80 -j ACCEPT 
iptables -A INPUT -p tcp --sport 8080 -j ACCEPT 
Czyli na ,,INPUT'' zamiast ,,--dport'' dać ,,-sport'', a ,,OUTPUT'' wykasować i operować tylko na ,,INPUT''?
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

Dokładnie tak operując, żeby załapać o co chodzi musisz zajrzeć do pakietów, i tak jeśli chcesz filtrować po porcie 80 czyli puścić cały ruch www ze zdalnego serwera to musisz wiedzieć że w INPUT portem 80 będzie sport natomiast w OUTPUT będzie to dport. Przykład : wysyłasz zapytanie do serwera www, serwer taki działa na porcie 80 przeglądarka wysyła więc zapytanie z portu powyżej 1024(sport) na port 80(dport) serwera i taki pakiet przechodzi przez OUTPUT, następnie serwer odpowiada z portu 80(sport) na twój port powyżej 1024(dport) i taki pakiet przechodzi prze INPUT, na tym prostym przykładzie widać o co chodzi z tą zmianą numerów portów w pakietach.
a OUTPUT wykasowac i operowac tylko na INPUT :?:
Tak, w najprostszym przypadku tak należy zrobić zapewnia żądane bezpieczeństwo i tyle, ma to tylko jedną wadę otóż generuje niepotrzebny ruch w sieci i zużywa niepotrzebnie zasoby zdalnych serwerów, zapytanie do serwera zdalnego wychodzi z maszyny obciąża twoje łącze obciąża rutery i serwer który ma zapytanie wykonać serwer odpowiada a ty i tak wycinasz zapytanie u siebie na INPUT, dla tego dobrze wyciąć cały ruch na OUTPUT i puszczać tylko to co jest potrzebne, oczywiście pamiętając to co napisałem o zmianach w sport i deport czyli to co pisałem kilka linijek wcześniej.
Mam nadzieje że niczego nie pomieszałem a informacje okażą się pomocne.
Pozdrawiam.
pacpaw
Posty: 4
Rejestracja: 15 listopada 2009, 21:11
Lokalizacja: sk±din±d

Post autor: pacpaw »

piroaa pisze:

Kod: Zaznacz cały

iptables -F
iptables -P INPUT DROP
iptables -A INPUT -p tcp --sport 80 -j ACCEPT 
iptables -A INPUT -p tcp --sport 8080 -j ACCEPT 
Obecnie wyglada to tak:

Kod: Zaznacz cały

root@ubuntu810desktop:/home/user# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:www 
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:http-alt 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
Nie działa? Może coś tam z interfejsem trzeba pokombinować z powodu tego VMPlayera?
piroaa
Beginner
Posty: 324
Rejestracja: 11 kwietnia 2008, 14:46

Post autor: piroaa »

No i wczoraj w nocy zapomniałem o jednym malutkim szczególiku he he
A DNS-y puściłeś.
U mnie to wygląda tak :

Kod: Zaznacz cały

laptop linux # iptables -A INPUT -s 194.204.152.34 -j ACCEPT 
laptop linux # iptables -A INPUT -s 217.98.63.164 -j ACCEPT
laptop linux # iptables -L --line-numbers -v -n
Chain INPUT (policy DROP 31 packets, 2104 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1     5698 5972K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:80 
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:443 
3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:8008 
4        0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
5       54  5531 ACCEPT     all  --  *      *       194.204.152.34       0.0.0.0/0           
6        0     0 ACCEPT     all  --  *      *       217.98.63.164        0.0.0.0/0           
I działa właśnie ci odpisuje.
Pozdrawiam.
pacpaw
Posty: 4
Rejestracja: 15 listopada 2009, 21:11
Lokalizacja: sk±din±d

Post autor: pacpaw »

Rzeczywiscie. Wszystko smiga jak ta lala. Pobawie sie dalej.
Bardzo dziekuje za zainteresowanie oraz bezcenna pomoc :!:

Pozdrawiam serdecznie.
ODPOWIEDZ