blokada portów w iptables

Masz problemy z siecią bądź internetem? Zapytaj tu
montie
Posty: 42
Rejestracja: 19 sierpnia 2008, 15:03

blokada portów w iptables

Post autor: montie »

Witam.
Mam pytanie i zarazem potrzebuje coś takiego zrobić, jest ruter z Debianem, jest serwer i usługa, która używa portów tcp i udp, chcę zrobić przekierowanie portów z interfejsu WAN na Linuksie na ip wewnętrzne (do serwera usługą) z tym że domyślnie dla wszystkich z zewnątrz zablokowany jest dostęp dla tych dwóch portów i potem dostęp tylko i wyłącznie dla jednego adresu ip znajdującego się w internecie.

Robię coś takiego (zablokowanie portu dla wszystkich):

Kod: Zaznacz cały

/sbin/iptables -A INPUT -p tcp -s 0/0 --dport 1433 -j DROP
/sbin/iptables -A INPUT -p udp -s 0/0 --dport 1434 -j DROP
Potem dostęp z tych portów dla konkretnego ip:

Kod: Zaznacz cały

/sbin/iptables -A INPUT -p tcp -s 123.123.123.123/32 --dport 1433 -j ACCEPT
/sbin/iptables -A INPUT -p udp -s 123.123.123.123/32 --dport 1434 -j ACCEPT
i przekierowanie już portu:

Kod: Zaznacz cały

/sbin/iptables -t nat -A PREROUTING -p tcp -d ip_wan --dport 1433 -j DNAT --to 10.0.0.100:1433
/sbin/iptables -t nat -A PREROUTING -p udp -d ip_wan --dport 1434 -j DNAT --to 10.0.0.100:1434
I w logach mam, że ktoś chce się dostać do tej usługi (log usługi na serwerze wewnętrznym z ip z internetu jakieś).

Co źle robię? Czy wpis z ,,FORWARD'' też musi być? Może ktoś zaproponuje inną regułę?
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Maskaradę masz? Przetestuj to tcpdump i pokaż, jak to jest, że dochodzi ale nie odpowiada.
montie
Posty: 42
Rejestracja: 19 sierpnia 2008, 15:03

Post autor: montie »

Maska jak najbardziej jest, ruch wychodzący z komputera prywatnego jest, przekierowanie portu np 80 na routerku do maszyny prywatnej działa bez problemu, chodzi mi o zablokowanie jakiegos portu dla wszystkich ktory jest przekierowany do maszyny prywatnej, potem odblokowanie tego tylko dla konkretnego ip
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

montie pisze:potem odblokowanie tego tylko dla konkretnego ip
tego za bardzo nie rozumiem :)
montie
Posty: 42
Rejestracja: 19 sierpnia 2008, 15:03

Post autor: montie »

Potem chcę odblokować to przekierowanie portu (które wcześniej jest zablokowane dla wszystkich z internetu) tylko dla tego konkretnego adresu ip w internecie.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Może być tak

Kod: Zaznacz cały

/sbin/iptables -A INPUT -p tcp -s ! 194.167.159.52 --dport 1433 -j DROP
zamiast tego

Kod: Zaznacz cały

/sbin/iptables -A INPUT -p tcp -s 0/0 --dport 1433 -j DROP
i analogicznie z UDP
montie
Posty: 42
Rejestracja: 19 sierpnia 2008, 15:03

Post autor: montie »

No tak właśnie myślałem że to można z ! zrobić, nasuwa mi się pytanie a gdybym chciał dać dwóm ip w internecie dostęp do tych portów? Czy to co wcześniej napisałem jest złe?
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Nie wiem dlaczego blokujesz wybrane, powinieneś wszystko blokować a przepuszczać tylko wybrane - czyli na odwrót. Wtedy jakby przyszło robić to dla kilku adresów to tworzyłbyś oddzielne regułki ale takie, które akceptują. Poza tym dobrze byłoby ograniczyć się tylko do pakietów z flagą SYN - czyli stan '--state state NEW', bo zapewne ruch nawiązany - stan ESTABLISHED i tak przepuszczasz.
Oczywiście nie wie jak wygląda Twoja zapora wiec co du dużo gadać :)
ODPOWIEDZ