View previous topic :: View next topic |
Author |
Message |
ntsite Tux's lil' helper

Joined: 13 Dec 2008 Posts: 86 Location: Khabarovsk, Russia
|
Posted: Fri Jan 16, 2009 1:02 am Post subject: Не закрывает порт в iptables [Решено] |
|
|
Всем доброе время суток!
Начну с информации о самой ОС
Стоит на сервере gentoo, версия ядра - 2.6.26-gentoo-r3 (SMP).
Поднят net-firewall/iptables-1.4.0-r1
Вот правила самого iptables
Code: | #!/bin/sh
# Generic IPTables script, accept all by default
# path to your iptables executable
IPT=/sbin/iptables
$IPT -F
$IPT -t nat -F
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP
export LAN=eth0
export LAN2=eth1
export WAN=ppp0
export WAN2=ppp1
COMBLOCK="0:1 13 98 111 161:162 1214 1999 2049 3049 4329 6346 8000 8008 8080 12345 65535"
TCPBLOCK="$COMBLOCK 98 512:515 1080 6000:6009 6112"
UDPBLOCK="$COMBLOCK 161:162 520 123 517:518 1427 9000"
# Адреса все присать не буду, потому что их достаточно много
KAB20="192.168.100.1 192.168.100.2 192.168.100.3 192.168.100.4 192"
KAB21="192.168.100.11 192.168.100.12 192.168.100.13 192.168.100.14"
KAB22="192.168.100.90 192.168.100.21 192.168.100.22 192.168.100.23"
KAB23="192.168.100.31 192.168.100.32 192.168.100.33 192.168.100.34"
KAB30="192.168.100.41 192.168.100.42 192.168.100.43 192.168.100.44"
KAB31="192.168.100.51 192.168.100.52 192.168.100.53 192.168.100.54"
ADM="192.168.100.72 192.168.100.73 192.168.100.74 192.168.100.75"
$IPT -I INPUT 1 -i ${LAN} -j ACCEPT
$IPT -I INPUT 1 -i ${LAN2} -j ACCEPT
$IPT -I INPUT 1 -i lo -j ACCEPT
$IPT -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
$IPT -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT
echo -n "FW: Blocking attacks to TCP port"
for i in $TCPBLOCK;
do
echo -n "$i "
$IPT -A INPUT -p tcp --dport $i -j DROP
$IPT -A OUTPUT -p tcp --dport $i -j DROP
$IPT -A FORWARD -p tcp --dport $i -j DROP
done
echo ""
echo -n "FW: Blocking attacks to UDP port "
for i in $UDPBLOCK;
do
echo -n "$i "
$IPT -A INPUT -p udp --dport $i -j DROP
$IPT -A OUTPUT -p udp --dport $i -j DROP
$IPT -A FORWARD -p udp --dport $i -j DROP
done
echo ""
$IPT -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT
$IPT -A INPUT -p TCP --dport 80 -i ${WAN} -j ACCEPT
$IPT -A INPUT -p TCP --dport 21 -i ${WAN} -j ACCEPT
$IPT -A INPUT -p TCP --dport 21 -i ${LAN2} -j ACCEPT
$IPT -A INPUT -p TCP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
$IPT -A INPUT -p UDP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
$IPT -I FORWARD -i ${LAN} -d 192.168.100.0/255.255.0.0 -j DROP
$IPT -A FORWARD -i ${LAN} -s 192.168.100.0/255.255.0.0 -j ACCEPT
$IPT -A FORWARD -i ${WAN} -d 192.168.100.0/255.255.0.0 -j ACCEPT
echo -n "FW: accept connection MASQUERADE internet ADM: "
for i in $ADM;
do
echo -n "$i "
$IPT -t nat -A POSTROUTING -o ${WAN} -s $i -j MASQUERADE
done
echo ""
$IPT -P FORWARD ACCEPT
$IPT -A FORWARD -i ${WAN2} -d 192.168.100.0/255.255.0.0 -j ACCEPT
$IPT -t nat -A POSTROUTING -o ${WAN2} -j MASQUERADE
echo -n "FW: accept connection squid internet ADM: "
for i in $ADM;
do
echo -n "$i "
$IPT -t nat -A PREROUTING -p tcp --dport 80 -s $i -j REDIRECT --to-port 3128
done
echo ""
echo -n "FW: accept connection squid internet Kab-20: "
for i in $KAB20;
do
echo -n "$i "
$IPT -t nat -A PREROUTING -p tcp --dport 80 -s $i -j REDIRECT --to-port 3128
done
echo ""
echo -n "FW: deny connection squid internet Kab-22: "
for i in $KAB22;
do
echo -n "$i "
$IPT -A INPUT -i ${LAN} -p TCP --dport 3128 -s $i -d 192.168.100.254 -j DROP
done
echo ""
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done |
Стоит прозрачный прокси (squid). Если в браузере пользователя не указывать настройки прокси, то все блокирует как и надо. Нет прямого доступа в интернет и само собой не перекидывает пакетики на прокси. Но если явно указать в браузере прокси, то как я не пробовал, какие бы правила не писал, клиент все равно ходит в игнтернет и порт 3128 - не блокируется.
Вот хотел поинтересоваться, где зарыта собака... скорей всего в правилах ошибся, но не сам не вижу причины
P.S. Если какой то информации не хватает, то выложу без проблем 
Last edited by ntsite on Tue Jan 20, 2009 11:58 pm; edited 1 time in total |
|
Back to top |
|
 |
ntsite Tux's lil' helper

Joined: 13 Dec 2008 Posts: 86 Location: Khabarovsk, Russia
|
Posted: Fri Jan 16, 2009 1:49 am Post subject: |
|
|
Нашел причину...
Сперва изменил правило для закрытия порта
Code: | echo -n "FW: deny connection squid internet Kab-22: "
for i in $KAB22;
do
echo -n "$i "
$IPT -A INPUT -i ${LAN} -p TCP --dport 3128 -s $i -j DROP
done
echo "" |
А после, убрал правило, которое разрешает ходить всем пакетикам на интерфейс лан
Code: | $IPT -I INPUT 1 -i ${LAN} -j ACCEPT |
Можно ли это правило изменить так, чтобы было все, кроме 3128 используя "!".
Если кто знает, подскажите пожалуйста с синтаксисом...
Например что то типа того, не знаю прав ли я
Code: | $IPT -I INPUT 1 -i ${LAN} -p tcp --dport ! 3128 -j ACCEPT |
Но не уверен, будет ли работоспособно мое творение Просто если использовать первоначальное правило без указания порта, то никакие другие правила на закрытие портов на интерфейс Lan не работали... |
|
Back to top |
|
 |
ba l33t


Joined: 25 May 2003 Posts: 804
|
Posted: Fri Jan 16, 2009 7:03 pm Post subject: |
|
|
ntsite wrote: | Например что то типа того, не знаю прав ли я
Code: | $IPT -I INPUT 1 -i ${LAN} -p tcp --dport ! 3128 -j ACCEPT |
Но не уверен, будет ли работоспособно мое творение :) |
работать будет |
|
Back to top |
|
 |
ntsite Tux's lil' helper

Joined: 13 Dec 2008 Posts: 86 Location: Khabarovsk, Russia
|
Posted: Tue Jan 20, 2009 11:57 pm Post subject: |
|
|
Все, спасибо, вопрос решили  |
|
Back to top |
|
 |
ntsite Tux's lil' helper

Joined: 13 Dec 2008 Posts: 86 Location: Khabarovsk, Russia
|
Posted: Tue Jan 27, 2009 8:03 am Post subject: |
|
|
Попробовал правило
Code: | $IPT -I INPUT 1 -i ${LAN} -p tcp --dport ! 3128 -j ACCEPT |
И получилось так, что левый адрес (который у меня нигде не был зарегестрирован) смог выйти в интернет.
Думаю проще убрать правило типа открыть все порты, лучше будет окрывать порты по надобности, тем более безопаснее для системы. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|