Skocz do zawartości

Iptables I Dns


neo-one

Rekomendowane odpowiedzi

Witam.

 

Grzebie sobie wlasnie w iptables i mam problem ... :lammer:

 

Mianowicie

-ping w sieci lokalnej dziala

-ping na IP w internecie dziala

-ping na domene nie dziala (ping google.com -->nic, elinks google.com --> nic)

 

Wnioskuje ze problem z przepuszczaniem odpowiedzi DNS w zwiazku z tym pytanie jaki porty odblokowac w iptables zeby poszlo ??

 

Moja Konfiguracja:

 

[root@localhost etc]# iptables -L -v
Chain INPUT (policy DROP 166 packets, 17950 bytes)
pkts bytes target     prot opt in     out     source               destination         
ACCEPT     all  --  lo     any     anywhere             anywhere            
ACCEPT     udp  --  any    any     anywhere             anywhere            udp dpt:domain 
ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:domain 
ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:http 
ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:https 
ACCEPT     tcp  --  any    any     anywhere             anywhere            tcp dpt:ssh 
ACCEPT     icmp --  any    any     anywhere             anywhere            icmp echo-request 
ACCEPT     icmp --  any    any     anywhere             anywhere            icmp echo-reply 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 6012 packets, 713K bytes)
pkts bytes target     prot opt in     out     source               destination

 

[root@localhost etc]# cat /home/iptables-save_3 
# Generated by iptables-save v1.3.5 on Tue Feb 26 23:10:50 2008
*filter
:INPUT DROP [166:17950]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5992:710494]
-A INPUT -i lo -j ACCEPT 
-A INPUT -p udp -m udp --dport 53 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT 
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT 
COMMIT
# Completed on Tue Feb 26 23:10:50 2008

 

komp podlaczony do routera /DHCP,DNS/

 

Nie ma zadnego GUI wiec rozwiazania klikane odpadaja !!

 

ps: Jesli wylacze Firewall wszystko dziala jak nalezy.

Odnośnik do komentarza
Udostępnij na innych stronach

a czy na inpucie nie powinno być czasem --sport, czyli z którego portu ma wpuszczać połączenia?

Spróbuj może z

#dns
-A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -j ACCEPT

U mnie przynajmniej coś takiego działa bez problemów.

Odnośnik do komentarza
Udostępnij na innych stronach

OK

 

1. PING na domeny dziala

2. elinks nie chce sie polaczyc z domene ani z ip mimo ze port 80 jest otwarty dla przychodzacych pakietow .. /Making Connection i nic wiecej/

 

Obecny config iptables:

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             anywhere            udp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh 
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request 
ACCEPT     icmp --  anywhere             anywhere            icmp echo-reply 
ACCEPT     udp  --  anywhere             anywhere            udp spt:domain dpts:1024:65535 
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:domain dpts:1024:65535 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:bootpc 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)

 

wie ktos moze jak to naprawic ??

Odnośnik do komentarza
Udostępnij na innych stronach

#zezwalamy na trwające sesje (koniecznie na początku łańcucha INPUT)
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
#wpuszczamy http
-A INPUT -p tcp -m tcp --sport 80 -m state --state NEW -j ACCEPT

A z tym ? Zainstalowałem elinksa żeby sprawdzić i wygląda że działa. Dodatkowo jak chcesz żeby po otwartych portach nikt nie wykonał jakichś dziwnych sekwencji flag innych niż SYN->ACK,SYN->ACK możesz też je poblokować, u mnie np funkcjonuje coś takiego:

 

-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP 
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
-A INPUT -m state --state NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
-A INPUT -m state --state NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
-A INPUT -m state --state NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
-A INPUT -m state --state INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,PSH,URG SYN,RST,ACK,FIN,PSH,URG -j DROP
-A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP 
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP

 

ps. jak ktoś ma jeszcze jakieś sugestie to chętnie wysłucham :-)

Odnośnik do komentarza
Udostępnij na innych stronach

Pozmienialem --dport (porty docelowe) na --sport (porty zrodlowe) i dziala.

 

Jednak czy takie rozwiazanie nie zostawia otwartych portow na mojej masynie?

 

np:

ACCEPT     udp  --  anywhere             anywhere            udp spt:domain dpts:1024:65535

 

zezwala na polaczenie ze zdalnego portu 53 na ktorykolwiek port z zakresu od 1024 do 65535 tak ?

Czy cos zle zrozumialem?

Odnośnik do komentarza
Udostępnij na innych stronach

Owszem, dlatego też można dodatkowo zabzpieczyć system przez blokowanie sekwencji flag. Ogólnie nie nie pamiętam dokładnie, ale dns chyba odsyła odpowiedź właśnie na wysokie porty, można by sprawdzić wiresharkiem jak to się odbywa i wtedy ewentualnie skorygować. Przydatne okazuje się tutaj też google. Ażeby bardziej zabezpieczyć się możesz też ewentualnie do regułki dodać jako źródło IP serwera DNS z którego korzystasz. No i dobrze jest też imo OUTPUT ustawić na politykę DROP, żeby niedopuszczać do wysłania jakichś dziwnych zapytań.

Odnośnik do komentarza
Udostępnij na innych stronach

Wpadlem chwile wczesniej na zastosowanie sniffera :rolleyes:

 

DNS odsyla odpowiedzi na port UDP 1034

 

Pokombinowalem jeszcze troche i skan nmapem pokazuje mi ze mam otwarty jedynie port ssh /22/ i httpd /80/ i o to mi chodzilo!

 

Chyba zaczynam lapac co i jak z iptables ale jeszcze dloga droga przedemna <_<

 

Nadszedl czas zeby zucic okiem na regolki z flagami ...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...