Nowe posty

Autor Wątek: iptables i blokowanie konkretnego adresu www  (Przeczytany 10250 razy)

motaba303

  • Gość
iptables i blokowanie konkretnego adresu www
« dnia: 2008-09-15, 13:26:37 »
Witam all!

Zaczynam raczkować w konfiguracji firewalla IPTABLES, jest bardzo rozbudowany i wymaga dużej ilości czasu aby go dogłębnie zrozumieć.

Natomiast ostatnio zaszła potrzeba w mojej sieci zablokowania konkretnej strony internetowej dla wszystkich lokalnych komputerów a moje wiedza jeszcze tak daleko nie sięga.
Szukałem rozwiązanie tego problemu na forum i niestety nie znalazłem.

O co chodzi:
chce aby w momencie gdy użytkownik wpisze w przeglądarce www.wp.pl , został przekierowany na lokalną maszynę 192.168.0.100 na której stoi Apache ze stronom informacyjną o zablokowaniu strony. Oczywiście wszystkie inne strony www powinny działaś prawidłowo wiec blokowanie portu 80 odpada.
Domyślam się że zajdzie potrzeba przekierowania konkretnego adresu IP serwera www.wp.pl
Mam coś takiego: iptables -I FORWARD -p tcp --dport 80 -s 194.69.207.145 -j DROP
Ale nie działa ;/ i przyznam sie że nie do końca rozumiem to polecenie ale to pewnie z powodu jeszcze zbyt małej wiedzy.

Bardzo proszę o pomoc i drobny opis.

Pozdrawiam

WizardNumberNext

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #1 dnia: 2008-09-15, 18:14:12 »
Popełniłeś duży błąd. Jeżeli
194.69.207.145
to adres
www.wp.pl
to ty próbujesz blokować połączenia PRZYCHODZĄCE z tego numeru IP.
powinieneś blokować połączenia wychodzące.
iptables -I FORWARD -p tcp --dport 80 -d 194.69.207.145 -j DROP
to zablokuje te połączenia.
Swoją drogą właśnie złapałem drugi błąd tym razem myślowy (jakiś skrót albo coś w tym stylu) - chcesz blokować w FORWARD - to jest nieco dziwne - niedość że tego się nie robi z wielu powodów  to to jeszcze obciąża nie potrzebnie FW.
Lepiej będzie tak:
iptables -A INPUT -p tcp --dport 80 -d 194.69.207.145 -j DROP
Nie da się blokować odpowiedzi chyba, że przez ESTABILISHED lub RELATED.
Co do redirect'a na konkretny adres to lepiej jakbyś podał konfigurację NAT / MASQUERADING.
Takie pisanie byle czego mogło by doprowadzić dziwnych zachowań, więc opisz swoją sieć w skrócie - opis powinien zawierać:
fizyczną wastwę (okblowanie tzn. jakie adresy są podpięte do jakiego nic i jaki ip ma nic)
wastwę ip oraz nat (częściowo odpowiesz na to w punkcie pierwszym) - zakresy ip gdzie logicznie znajduje się serwer z apache z tą stronką.

P.S. Jestem ciekaw czemu chcesz blokować wp

motaba303

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #2 dnia: 2008-09-17, 14:32:06 »
Dziękuje WizardNumberNext za zainteresowanie!!

opis sieci:
modem dsl(tpsa) -> serwer sieciowy red had ( 83.14.x.x eth1) -> z eth0 (192.168.0.1) do switcha i lan, zakres od 192.168.0.10 do 192.168.0.100
(apache stoi na 192.168.0.10)

co potrzebuje:

chce aby każdy użytkownik sieci w momencie wpisania  w przeglądarce www.wp.pl został piekierowany na apacha (192.168.0.10) na którym jest strona z informacją o blokadzie. wszystkie inne strony powinny działać normalnie.

tak naprawdę chce zablokować inna strone, nie wp.pl, ale mysle że to nie istotne.

Pozdrawiam

maciasz

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #3 dnia: 2008-09-17, 14:35:54 »
Polecam koledze WizardNumberNext lekturę na temat drogi pakietu przez iptables: http://www.debian.one.pl/howto/iptables/iptables-HOWTO.html punkt 6.
Regułka iptables -I FORWARD -p tcp --dport 80 -d 194.69.207.145 -j DROP jest jak najbardziej poprawna dla zablokowania strony komputerom z lanu.

motaba303

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #4 dnia: 2008-09-18, 08:36:04 »
...czy ktoś poda mi konkretne rozwiązanie mojego problemu?

WizardNumberNext

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #5 dnia: 2008-09-18, 11:55:20 »
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -d 194.69.207.145 -j DNAT --to-destination 192.168.0.10
Powinno zadziałać - nie sprawdzałem.

motaba303

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #6 dnia: 2008-09-19, 09:29:40 »
hmmm niestety nie działa :( wpisując na komputerze lokalnym (o adresie 192.168.0.15)  w przeglądarce 194.69.207.145 nie zostaje przekierowany na kompa 192.168.0.10 W przeglądarce nic sie nie wyświetla (przekroczono limit czasu oczekiwania)

micu

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #7 dnia: 2008-09-19, 12:00:22 »
Cześć!

DNAT to nie wszystko. Linijka od Wizarda:
/sbin/iptables -t nat -A PREROUTING -p tcp -d 194.69.207.145 --dport 80 -j DNAT --to-destination 192.168.0.10
musi być uzupełniona o SNAT:
/sbin/iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.10 --dport 80 -j SNAT --to-source 192.168.0.1
Zapewni Ci to powrót pakietów przez firewalla a nie bezpośrednio do hosta. Bez tego  klient odrzuca pakiety (zgodnie z zasadami działania protokołu TCP) bo połączenie nawiązuje z  194.69.207.145 a dostaje odpowiedzi z 192.168.0.10.
Dodatkowo, jeśli masz łańcuch FORWARD zdefiniowany zgodnie z zasadami sztuki - czyli domyślnie jest DROP a przepuszczasz tylko określony ruch - to musisz "wybić dziurę" dla wyżej wymienionego ruchu, np. tak:
/sbin/iptables -t filter -A FORWARD -s 192.168.0.0/24 -d 192.168.0.0/24 -p tcp -j ACCEPT
Pamiętaj jeszcze o dwóch ważnych sprawach:
* tam gdzie to możliwe staraj się podawać adresy źródłowe i docelowe sieci lokalnej 192.168.0.0/24  (flagi -s i -d) oraz koniecznie interfejsy sieciowe (flagi -i i -o) - zwiększa to bezpieczeństwo Twojej sieci (szczególnie odporność na "IP-spoofing").
* niektóre strony internetowe stosują "DNS load balancing" (teraz chyba coraz mniej popularne rozwiązanie) czyli kolejne zapytania o tę samą nazwę mogą zwrócić różne wartości IP. Wtedy po prostu staraj się złapać wszystkie jakie są zwracane, nie będzie ich więcej niż kilka.

Pozdrawiam
Micu

WizardNumberNext

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #8 dnia: 2008-09-20, 12:22:06 »
Co do
Cytat: "micu"
"DNS load balancing"
to w firefox jest dodatek do pobierania danych na temat numerów ip.
Lepszym rozwiązaniem jest jednak:
whois www.wp.pl

motaba303

  • Gość
iptables i blokowanie konkretnego adresu www
« Odpowiedź #9 dnia: 2008-10-28, 14:00:37 »
...Sorki że dopiero teraz - Dziękuje MICU za odpowiedź i komendy które dokładnie
robią to czego potrzebowałem :)

Chyle czoła przed wiedza!!

Pozdrawiam