Skocz do zawartości

Szukanie Portu


MC'

Rekomendowane odpowiedzi

Witam,

 

Piszę sobie regułki do iptables i mam problem bo chcę np wiedzieć na jakim porcie chce mi się wydostać jakaś usługa (tu kadu), którą przy takiej konfiguracji nie przepuszczam:

#!/bin/bash
zew=eth0

/sbin/modprobe ip_conntrack_ftp

iptables -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -A INPUT   -i lo -j ACCEPT
iptables -A OUTPUT  -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

iptables -A INPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A INPUT -p icmp -j ACCEPT -m state --state RELATED
iptables -A FORWARD -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A FORWARD -p tcp -j ACCEPT -m state --state RELATED
iptables -A FORWARD -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A FORWARD -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A FORWARD -p icmp -j ACCEPT -m state --state RELATED
iptables -A OUTPUT -p tcp -j ACCEPT -m state --state ESTABLISHED
iptables -A OUTPUT -p tcp -j ACCEPT -m state --state RELATED
iptables -A OUTPUT -p udp -j ACCEPT -m state --state ESTABLISHED
iptables -A OUTPUT -p icmp -j ACCEPT -m state --state ESTABLISHED
iptables -A OUTPUT -p icmp -j ACCEPT -m state --state RELATED

#KLIENT
TCP_OUT_ALLOW=80,8080,22,995,21,25,53,23,119,22
UDP_OUT_ALLOW=123,53

#KLIENT
iptables -A OUTPUT -o $zew -p tcp -j LOG -m state --state NEW -m multiport --dports $TCP_OUT_ALLOW
iptables -A OUTPUT -o $zew -p udp -j LOG -m state --state NEW -m multiport --dports $UDP_OUT_ALLOW
iptables -A OUTPUT -o $zew -p tcp -j ACCEPT -m state --state NEW -m multiport --dports $TCP_OUT_ALLOW
iptables -A OUTPUT -o $zew -p udp -j ACCEPT -m state --state NEW -m multiport --dports $UDP_OUT_ALLOW

#SERWER
#TCP_IN_ALLOW=80,8080,21,25,143,220,993,110,995,22
#UDP_IN_ALLOW=53
#uslugi na naszym serwerze
#iptables -A INPUT -i $zew -p tcp -j LOG -m state --state NEW -m multiport --dports $TCP_IN_ALLOW
#iptables -A INPUT -i $zew -p udp -j LOG -m state --state NEW -m multiport --dports $UDP_IN_ALLOW
#iptables -A INPUT -i $zew -p tcp -j ACCEPT -m state --state NEW -m multiport --dports $TCP_IN_ALLOW
#iptables -A INPUT -i $zew -p udp -j ACCEPT -m state --state NEW -m multiport --dports $UDP_IN_ALLOW

Jak widać uługi serwerowe na razie zakomentowałem bo uzywam tego na stacji roboczej.

 

Pytania:

1. Czy widicie jakieś dziury lub rzeczy które można poprawić w tej konfiguracji?

2. Jak znaleźć na jakim porcie próbuje wydostać się usługa mimo, że w tej konfiguracji nie jest uwględniona?

 

Z góry dziękuję za odpowiedzi.

 

Pozdr

Odnośnik do komentarza
Udostępnij na innych stronach

2. Jak znaleźć na jakim porcie próbuje wydostać się usługa mimo, że w tej konfiguracji nie jest uwględniona?

Możesz chyba dodać na końcu skryptu coś takiego:
iptables -A INPUT -j porty
iptables -A INPUT -j DROP
iptables -A porty -j LOG --log-prefix "ZABLOKOWANY PORT:"
iptables -A porty -j DROP

Wtedy porty, które nie załapały się na żadną z wcześniejszych reguł powinny wypadać do nowoutworzonej polityki porty, która wyrzuci do logu wpis zawierający IP i porty docelowe i źródłowe, wstawi łatwy do wyszukania prefix i dopiero po tym "dropnie" usługę. Nie jestem na 100% pewien czy takie coś zadziała no i nie wiem czy o coś takiego Ci chodziło :unsure:

Oczywiście tam można jeszcze skorzystać z opcji "-m limit" i jakoś rozsądnie ograniczyć ilość logów zrzucanych do pliku, bo tego mogą być ogromne ilości szczególnie na serwerze.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Możesz chyba dodać na końcu skryptu coś takiego:

iptables -A INPUT -j porty
iptables -A INPUT -j DROP
iptables -A porty -j LOG --log-prefix "ZABLOKOWANY PORT:"
iptables -A porty -j DROP

 

Hmm ok czyli coś takiego ma mi w logach odnotować aktywność ale czy nie powinno tam być OUTPUT jeśli chodzi mi o usługę, która chce się wydostać? Prubowałem z iptraf'em ale jakoś nie mogłem/umiałem tego zrobić :) Czy jest to w ogóle możliwe?

 

Oczywiście tam można jeszcze skorzystać z opcji "-m limit" i jakoś rozsądnie ograniczyć ilość logów zrzucanych do pliku, bo tego mogą być ogromne ilości szczególnie na serwerze.

 

Czy jest wobec tego możliwość wskazania oddzielnego pliku na logi z konkretnych reguł, tak jak choćby te o których piszesz?

Jak to jest z tym modułem limit? Czy

iptables -A porty -j LOG -m limit --limit 1/hour

ma oznaczać że logi dla portów mają być zapisane co godzinę?

A gdybym chciał zapisywać co dziesiąty log dla polityki portów?

 

P.S.

Czy jest jakiś dobry tutek do iptables z jądra 2.6 a nie 2.4 ?

Odnośnik do komentarza
Udostępnij na innych stronach

No guru od iptables to ja nie jestem ;) Z tym OUTPUT zamiast INPUT masz oczywiście rację.

iptables -A porty -j LOG -m limit --limit 1/hour

ma oznaczać że logi dla portów mają być zapisane co godzinę?

Ten limit zapisze chyba 1 komunikat co godzinę, niezależnie ile razy zdarzenie wystąpi.
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ę...