iptables y squid

Forums: 

hola amigos
he configurado un servidor proxy squid transparente en fedora 8.0, en el proxy solo doy acceso a internet a unos cuantos usuarios, y bloqueo algunas paginas en las cuales se pueden observar videos, con la finalidad de agilizar la navegacion en internet.

hace algunos dias configure un scrip para manejar iptables y bloquear todos lo puertos para que unicamente las ips que yo quiera tengan acceso a internet o tengan acceso a un puerto en especifico, ademas de que el famoso messenger tenga acceso, el cogido del scrip es el siguiente:

#limpieza general de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#politica por defecto para lo que cruza
iptables -P FORWARD DROP

#crear conexion de tarjetas y salida de LAN a internet
echo 1 >/proc/sys/net/ipv4/ip_forward

#generar salida de la red LAN hacia el internet
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#forzar a que toda salida http pase por Squid
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#permitir salida de DNS
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --sport 53 -j ACCEPT

#permitir salida al puerto udp 7779
iptables -A FORWARD -s 192.168.2.10 -p udp --dport 7779 -j ACCEPT
iptables -A FORWARD -d 192.168.2.10 -p udp --sport 7779 -j ACCEPT

#permitir salida al puerto tcp 7777

iptables -A FORWARD -s 192.168.2.11 -p tcp --dport 7777 -j ACCEPT
iptables -A FORWARD -d 192.168.2.11 -p tcp --sport 7777 -j ACCEPT

en un principio el scrip no tenia la siguiente linea: "iptables -P FORWARD DROP" y al mismo tiempo funcionaba el messenger, pero cuando agregue la linea mencionada se bloqueo el messenger ademas de todo el software p2p(Limewire,Ares,Kazza entre otros...), siendo que estoy direccionando el puerto 80 al puerto 3128 de mi squid.

se supone que el messenger deberia conectarse por que tengo abierto el puerto 80 ya que solo lo direccione, ¿a que puede deberse que el messenger no se conecte?, mi squid no esta negando la conexion al messenger o al hotmail. de antemano gracias

eso es cierto

Es cierto lo que me comentas, el detalle esta en que si hago forard en esos puertos tambien se pueden colar las conexiones de las aplicaciones p2p (limewire, ares entre otras), y eso no quiero que suceda, quizas puedas recomendarme migrar a otra distro de linux como Centos que por lo que he leido tiene bastante aceptacion. Agradesco el aporte que me haces, salu2.

Pues luego de colocar tus

Imagen de falcom

Pues luego de colocar tus reglas ponle
iptables -A FORWARD -s 192.168.10.0/24 -i eth0 -j DROP
asumiendo q la interfaz eth0 es la de tu lan
Empieza tu script asi:

iptables -F
iptables -X
iptables -Z
iptables -t nat -F

con esto realizas un FLUSH de reglas
y con esto empiezas denegando todo

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

0j0 luego tienes q ir abriendo segun lo q necesites, es la forma mas segura te lo recomiendo

********
Salu2 and Have Fun

Si necesitas un control más

Imagen de damage

Si necesitas un control más efectivo de tu red, debes configurar varias cosas como serian al menos IPP2P o en su defecto compilar para Layer 7, con eso controlas los p2p, de ley necesitaras controlar ancho e banda para eso HTB o CBQ te servira de ley, hacer un script e iptabes más personalizado y con mucho más control sería algo infaltable de ahi por el distro lo mejor es cambiarte a una distro con mas soporte como CentOS, Debian, etc, si es que tu server tiene algún fin realmente serio.
Keep The Fire Burning.....
Stryper 1988

Me olvide de decirte q

Imagen de falcom

Me olvide de decirte q fedora es una distro orientada a uso comun o desktop, si de verdad quieres una distro orientada a uso pesado pues cambiate a centos 5.2 q es la ultima version
********
Salu2 and Have Fun

Prueba estas reglas a ver que tal te funciona

Imagen de diegox

echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
iptables --flush
iptables --table nat --flush
#Redireccionado a SQUID
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
#Bloqueamos todos los puertos excepto los necesarios para navegacion y messenger
iptables -A FORWARD -s x.x.x.x -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p tcp --dport 8080 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p udp --dport 8080 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p tcp --dport 563 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p tcp --dport 25 -j REJECT
iptables -A FORWARD -s x.x.x.x -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s x.x.x.x -p icmp -j ACCEPT
iptables -A FORWARD -s x.x.x.x -j REJECT
#Enmascaramos la salida eth0
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
#Damos acceso desde la eth1
iptables --append FORWARD --in-interface eth1 -j ACCEPT

Espero que te sirva, en la parte de las IP's x.x.x.x tendrias que hacer eso para cada IP que necesites en tu red o podrias hacer subnetting para un grupo de IP's.Ademas el puerto 25 esta cerrado para que no existan los troyanos que hacen spam, si es necesario puedes darle acceso, pero si envias emails deberia ser a través desde el mismo linux.

Otra manera de utilizar el

Otra manera de utilizar el script-iptables postedo por diegox...


#!/bin/bash
#
EXTIF=eth0
INTIF=eth1
LAN=192.168.10.0/24

## Activacion del BIT de FORWARDING
echo 1 > /proc/sys/net/ipv4/ip_forward

## Flush de reglas
iptables --flush
iptables --table nat --flush

#Redireccionado a SQUID
iptables -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-port 3128

#Bloqueamos todos los puertos excepto los necesarios para navegacion y messenger
iptables -A FORWARD -s $LAN -p tcp -m multiport --dports 80 53 110 443 563 1863 8080 -j ACCEPT
iptables -A FORWARD -s $LAN -p udp -m multiport --dports 53 8080 -j ACCEPT
iptables -A FORWARD -s $LAN -p tcp --dport 25 -j REJECT
iptables -A FORWARD -s $LAN -p icmp -j ACCEPT
iptables -A FORWARD -s $LAN -j REJECT

#Enmascaramos la salida eth0
iptables -t nat --append POSTROUTING --out-interface $EXTIF -j MASQUERADE

#Damos acceso desde la eth1
iptables -A FORWARD -i $INTIF -j ACCEPT

Salud2s...

ecualug
______________________
!!!AdminRed_Debian!!!

ecualug
______________________
!!!AdminRed_Debian!!!

Como asi le hacen FORWARD al

Imagen de damage

Como asi le hacen FORWARD al puerto 8080 acaso se conectan mediante otro proxy externo, el proxy del amigo no esta en el mismo server? :?, en ese caso lo que deberian hacer es un INPUT al 8080.

Keep The Fire Burning.....
Stryper 1988

La nueva version de

Imagen de isacnet

La nueva version de messenger usa la tecnologia de tunneling para comunicarse con los servidores, verifica si no existe restriccion en descargarse .dll en tu squid,. ya que requiere no recuerdo el nombre si es messenger.dll o msnmessenger.dll

Saludos

_______________________________________
Trend Micro el mejor antivirus del mundo 40% del mercado mundial de gateway
240 millones de usuarios no pueden equivocarse
http://www.trendmicro.com.ec
Mercadeo@trendmicro.com.ec

_______________________________________
ISACNET S.A.
Ecuador: +593-2-3238590
Perú: +51-1-4223796

HP y Trend Micro, lo mejor de 2 mundos en un solo Socio de Negocios
http://www.isacnet.com.pe

Páginas