no puedo bloquear el msn

Forums: 

Hola a todos, por pedirles su ayuda, no puedo bloquear el msn, estas instrucciones puso nuestro amigo RazaMetal, pero no me sale sigo teniedo acceso al msn

acl permitidos src "/etc/squid/permitidos"
# Bloqueamos gateway.dll para versiones viejas de MSN Messenger
acl msn_url url_regex -i gateway.dll
# Bloqueamos el puerto utilizado por todas las versiones
acl msn_port port 1863
# Bloqueamos el metodo POST utilizado por las nuevas versiones de MSN Messenger
acl msn_method method POST
acl CONNECT method CONNECT

http_access allow manager localhost
http_access allow permitidos
http_access allow redlocal
http_access deny all
http_access deny msn_messenger !permitidos
http_access deny msn_method msn_url !permitidos
http_access deny msn_port !permitidos
http_access deny CONNECT msn_port !permitidos

Esta otra parte lo hice dentro de un terminal y puse la instruccion que mencionas

/sbin/iptables -A FORWARD -s $LAN -d 0/0 -p tcp --dport 1863 -j REJECT

Hago un service squid restart y todo funciona bien, cuando quiero probar, igual me sigue permitiendo el acceso al msn, AYUDENME POR FAVOR.

Eso depende de como

Imagen de jcyepez

Eso depende de como configure el firewall.

En efecto es mejor tenerlo cerrado, para ello mejor pones por política el output en drop al inicio del scrip así:


iptables -P OUTPUT -j DRROP

Pero esto implica que se deba abrir los puertos necesarios de salida el firewall, estos no tienen que ver con las reglas del forward, así que yo de preferencia el Output lo dejo avierto. Esos si, todo lo demás está cerrado por defecto.

Para aclarar dudas es mejor leer el "Manual de Iptables" en el cual hay muchos ejemplos de firewall.

Saludos

Juan Yépez
093681879

Saludos

Juan Yépez
0993681879
Dj - Discomovil Quito

Hola amigo como estás... Te

Hola amigo como estás...

Te cuento una mala, consulte con la persona que me dio configurando mi servidor linux y las reglas del firewall estan dentro de /etc/init.d/rc.firewall, y lo que tengo ahi es lo siguiente.

#!/bin/sh
# iptables, by Technion
# $Id: iptables,v 1.33 2002/11/20 23:22:16 technion Exp $
# chkconfig: 2345 12 80
# description: Script for setting IPTABLES rules
# processname: iptables

# Si se ejecuta en Redhat, poner en YES, sino, en NO
REDHAT="YES"

# Informacion de Red, necesita ser ajustada por usted.
INTERNALIF="eth1"
INTERNALNET="192.168.0.0/24"
INTERNALBCAST="192.168.0.255"
EXTERNALIF="eth0"

# Caminos - No tocar si no se conoce.
DMESG="/bin/dmesg"
IPTABLES="`which iptables`"
MODPROBE="/sbin/modprobe"

# Esta parte permite al usuario de redhat llamar al script con
# los parametros: start/stop/restart
if [ X"$REDHAT" = X"YES" ]; then
. /etc/rc.d/init.d/functions
case "$1" in
stop)
action "Shutting down firewall:" echo
$IPTABLES -F
$IPTABLES -P FORWARD DROP
exit 0
;;
status)
echo "The status command is not supported for iptables"
exit 0
;;
restart|reload)
$0 stop
exec $0 start
;;
start)
action "Starting Firewall:" echo
;;
*)
echo "Usage: firewall (start|stop|restart)"
exit 1
esac
fi

################################################################
#Insertando los modulos. Debe hacerse automaticamente si se requiere
dmesg -n 1 #No saca la bandera de copyright
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#
## Vaciar las reglas que puedan existir
#
# Paquetes provenientes del exterior
$IPTABLES -F INPUT
# Paquetes de la red interna hacia el exterior
$IPTABLES -F OUTPUT
# Forwarding/enmascaramiento
$IPTABLES -F FORWARD
#Tabla de NAT
$IPTABLES -t nat -F

#
#Deshabilitando ataques spoofing
#Comente esta linea si se usa IPSEC
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

#No responder a pings de broadcast
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#No responder a los pings - Activar si se requiere
#echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

#Habilitando el forwarding
echo 1 >/proc/sys/net/ipv4/ip_forward

#Normalmente usted no tiene control de la ruta que un paquete sigue.
#IP Source Routing (SRR) es una forma de especificarle a un paquete la ruta
#exacta que un paqeute debe seguir. Habilitarlo es una mala idea, en forma
#general. Se desactiva así:
echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route

#Anular los TimeStamps. Se puede averiguar el uptime de un sistema
echo 0 > /proc/sys/net/ipv4/tcp_timestamps

#Habilitar SYN Cookies, previene algunos DoS
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#Dehabilitar redirects. Habilitar si no se actua como router
echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects

#Habilitar proteccion contra mensaje invalido
#Algunos routers envian mensajes invalidos que son guardados en
#log logs por el kernel. Este punto le indica al kernel no guardar
#estos datos y se protege contra un posible ataque de negacion
#debido a tener el filesystem lleno
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

#Permitir direcciones dinamicas, Bueno para clientes dialup y xDSL cuyas IPs
#pueden variar. No es necesario para clientes dedicados
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr

#Guardar a los marcianos. Paquetes que llegan en una interfaz no esperada
#Algunas tarjetas de red se niegan a trabajar. Comentar si es el caso
echo 0 >/proc/sys/net/ipv4/conf/all/log_martians

#Definir rango de puertos locales a ser usados por nuestras aplicaciones
echo "32768 61000" >/proc/sys/net/ipv4/ip_local_port_range

#Reducir posibilidad de DoS al reducir los timeouts
#Tiempo en el que linux tratará de finalizar una conexion
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
#Tiempo para finalizar una conexión no activa
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
#Maximo de conexiones SYN
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog

##Activando reglas basicas

#Eliminar todo paquete sin sentido, incluye:
#-Paquetes muy pequeños para tener un encabezamiento completo ICMP/UDP/TCP
#- Paquetes TCP y UDP con cero (invalidos) puertos de origen y destino
#-Combinaciones ilegales de banderas TCP
#-Opciones TCP e IP con cero (invalido) o sobredimensionada
# o opciones despues de la opcion END-OF-OPTIONS
#-Fragmentos con longitud ilegal (ej., Ping of Death).
#Tomado de: http://www.linux-mag.com/2000-01/bestdefense_02.html

#Matar paquetes con combinaciones de banderas invalidas
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state INVALID -j DROP

# solo activar si se tiene el paquete de ipp2p (instalar de:
# http://homen.vsb.cz/~hrb33/el4/hrb/stable/i386/RPMS/repodata/
# ipp2p y el kmod* adecuado para el kernel)
#$IPTABLES -A FORWARD -m ipp2p --ipp2p -j DROP
#$IPTABLES -t mangle -A FORWARD -m ipp2p --ipp2p -j DROP
#$IPTABLES -t nat -A PREROUTING -p tcp -i $INTERNALIF -m ipp2p --ipp2p -j DROP
#$IPTABLES -t nat -A POSTROUTING -p tcp -o $EXTERNALIF -m ipp2p --ipp2p -j DROP

# Permitir todas las conexiones en la interfaz local
#
$IPTABLES -A INPUT -i lo -j ACCEPT

#Eliminar conexiones a la interfaz local desde el mundo exterior
$IPTABLES -A INPUT -d 127.0.0.0/8 -j REJECT

#Permitir trafico ilimitado de la red interna que usan direcciones validas
$IPTABLES -A INPUT -i $INTERNALIF -s $INTERNALNET -j ACCEPT
#
#IPv6 tunneling
#$IPTABLES -A INPUT -p ipv6 -j ACCEPT

#Permitir trafico del dispositivo IPSEC a la red interna
$IPTABLES -A FORWARD -i tun0 -o $INTERNALIF -j ACCEPT

#Permitir negociacion de claves
#$IPTABLES -A INPUT -p udp --dport 500 -j ACCEPT
#$IPTABLES -A INPUT -p udp --dport 4500 -j ACCEPT

#Protocolo 50 y 51, necesario para el correcto trabajo de ipsec
#$IPTABLES -A INPUT -p esp -j ACCEPT
#$IPTABLES -A INPUT -p ah -j ACCEPT

#Kill anything from outside claiming to be from internal network
$IPTABLES -A INPUT -i $EXTERNALIF -s $INTERNALNET -j REJECT

##ICMP
#No enviar pings yendo hacia dentro
#$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -o $INTERNALIF -j REJECT
#Protección contra ping flood
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP
#Denegar icmp a direcciones broadcast
#$IPTABLES -A INPUT -p icmp -d $INTERNALBCAST -j DROP

#Permitir el resto de los ICMP
$IPTABLES -A INPUT -p icmp -j ACCEPT

#No reenviar trafico SMB
$IPTABLES -A FORWARD -o $EXTERNALIF -p tcp --dport 137 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p tcp --dport 138 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p tcp --dport 139 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p udp --dport 137 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p udp --dport 138 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p udp --dport 139 -j REJECT
$IPTABLES -A INPUT -i $EXTERNALIF -p udp --dport 137 -j REJECT
#
#Permitir el resto del trafico salir
$IPTABLES -A FORWARD -o $EXTERNALIF -i $INTERNALIF -j ACCEPT

#Permitir las respuestas entrar
$IPTABLES -A OUTPUT -m state --state NEW -o $EXTERNALIF -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state NEW -o $EXTERNALIF -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#Permitir a esta maquina ser un servidor DHCP para su red interna
#$IPTABLES -A INPUT -i $INTERNALIF -p tcp --sport 68 --dport 67 -j ACCEPT
#$IPTABLES -A INPUT -i $INTERNALIF -p udp --sport 68 --dport 67 -j ACCEPT

#Activar en caso de implementar openvpn, interfaces tun/tap
#y puerto 1194 para openvpn
#$IPTABLES -A INPUT -i tun+ -j ACCEPT
#$IPTABLES -A FORWARD -i tun+ -j ACCEPT
#$IPTABLES -A INPUT -i tap+ -j ACCEPT
#$IPTABLES -A FORWARD -i tap+ -j ACCEPT
#$IPTABLES -A INPUT -p udp --dport 1194 -j ACCEPT

#De aqui en adelante, trabajamos con intentos de conexion.
#El -m limit es una protecciones contra DoS
#Primero permitimos una cierta cantidad de conexiones/Segundo
#DROP - Descartamos al resto, de tal forma que no nos neguemos nosotros mismos
#el servicio
##Servicios basicos. Descomentar para permitirlos
#Estos son puertos que estamos abriendo al exterior!!
#Si los vamos a usar en la red interna, no es necesario abrirlos aqui
#Solo para abrirlos a la red externa, a la internet
# ftp-data
$IPTABLES -A INPUT -p tcp --dport 20 -j ACCEPT
# ftp
$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
# ssh
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
#telnet
#$IPTABLES -A INPUT -p tcp --dport 23 -j ACCEPT
# smtp Una conexion por segundo
$IPTABLES -A INPUT -p tcp --dport 25 --syn -m limit --limit 2/s \
--limit-burst 10 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 25 --syn -j DROP
$IPTABLES -A INPUT -p tcp --dport 25 -j ACCEPT

#nessus
#$IPTABLES -A INPUT -p tcp --dport 1241 -j ACCEPT

# DNS
#$IPTABLES -A INPUT -p tcp --dport 53 -j ACCEPT
#$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT
# http
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
# POP-3
$IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT
#imap
$IPTABLES -A INPUT -p tcp --dport 143 -j ACCEPT
# identd
#$IPTABLES -A INPUT -p tcp --dport 113 -j ACCEPT
# https
#$IPTABLES -A INPUT -p tcp --dport 443 -j ACCEPT
#VNC Server
#$IPTABLES -A INPUT -p tcp --dport 5801 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 5901 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 6001 -j ACCEPT
#Webmin
#$IPTABLES -A INPUT -p tcp --dport 10000 -j ACCEPT

#
##DNAT
#Modificar las direcciones y descomentar para hacer forwarding (DNAT)
#MYADDR="192.168.100.12" # IP Externa

#Enviar peticiones web a una maquina interna (192.168.0.10 ?)
#$IPTABLES -A PREROUTING -t nat -i $EXTERNALIF -p tcp -d $MYADDR --dport 80 \
# -j DNAT --to 192.168.0.10:80
#$IPTABLES -A FORWARD -i $EXTERNALIF -p tcp -d 192.168.0.10 --dport 80 -j ACCEPT

#Smtp a un servidor interno
#$IPTABLES -A PREROUTING -t nat -i $EXTERNALIF -p tcp -d $MYADDR --dport 25 \
# -j DNAT --to 192.168.0.10:25
#$IPTABLES -A FORWARD -i $EXTERNALIF -p tcp -d 192.168.0.10 --dport 25 -j ACCEPT

#Redirecciono el Terminal Server
iptables -A PREROUTING -t nat -p tcp -d 190.10.255.73 --dport 3389 -j DNAT --to 192.168.0.100:3389
iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 3389 -j ACCEPT
iptables -A PREROUTING -t nat -p udp -d 190.10.255.73 --dport 3389 -j DNAT --to 192.168.0.100:3389
iptables -A FORWARD -p udp -d 192.168.0.100 --dport 3389 -j ACCEPT

##Puertos que deben ser denegados y guardados
$IPTABLES -A INPUT -p tcp --dport 1433 -m limit -j LOG \
--log-prefix "Firewalled packet: MSSQL "

$IPTABLES -A INPUT -p tcp --dport 1433 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6670 -m limit -j LOG \
--log-prefix "Firewalled packet: Deepthrt "
$IPTABLES -A INPUT -p tcp --dport 6670 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6711 -m limit -j LOG \
--log-prefix "Firewalled packet: Sub7 "
$IPTABLES -A INPUT -p tcp --dport 6711 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6712 -m limit -j LOG \
--log-prefix "Firewalled packet: Sub7 "
$IPTABLES -A INPUT -p tcp --dport 6712 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6713 -m limit -j LOG \
--log-prefix "Firewalled packet: Sub7 "
$IPTABLES -A INPUT -p tcp --dport 6713 -j DROP

$IPTABLES -A INPUT -p tcp --dport 12345 -m limit -j LOG \
--log-prefix "Firewalled packet: Netbus "
$IPTABLES -A INPUT -p tcp --dport 12345 -j DROP
$IPTABLES -A INPUT -p tcp --dport 12346 -m limit -j LOG \
--log-prefix "Firewalled packet: Netbus "
$IPTABLES -A INPUT -p tcp --dport 12346 -j DROP
$IPTABLES -A INPUT -p tcp --dport 20034 -m limit -j LOG \
--log-prefix "Firewalled packet: Netbus "
$IPTABLES -A INPUT -p tcp --dport 20034 -j DROP
$IPTABLES -A INPUT -p tcp --dport 31337 -m limit -j LOG \
--log-prefix "Firewalled packet: BO "
$IPTABLES -A INPUT -p tcp --dport 31337 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6000 -m limit -j LOG \
--log-prefix "Firewalled packet: XWin "
$IPTABLES -A INPUT -p tcp --dport 6000 -j DROP

$IPTABLES -A INPUT -p udp --dport 33434:33523 -j DROP

#No guardar ident porque es muy usado por servidores irc
$IPTABLES -A INPUT -p tcp --dport 113 -j REJECT

#No guardar IGMP, muchas personas reciben enorme cantidad de este
$IPTABLES -A INPUT -p igmp -j REJECT

#No guardar http ni https pues navegar por largos periodos causan muchas
#conexiones caidas y llenan nuestros logs.
$IPTABLES -A INPUT -p tcp --dport 80 -j REJECT
$IPTABLES -A INPUT -p tcp --dport 443 -j REJECT

##Reglas de captura generales
#iptables viene a estas si no han matcheado en ninguna de las previas
#No tiene sentido guardarlas, no es más que ruido
$IPTABLES -A INPUT -p tcp --syn -m limit --limit 5/minute -j LOG \
--log-prefix "Firewalled packet:"
$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 5/minute -j LOG \
--log-prefix "Firewalled packet:"

#Reject
$IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -p all -j DROP

$IPTABLES -A FORWARD -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A FORWARD -p all -j DROP
#Accept it anyway if it's only output
$IPTABLES -A OUTPUT -j ACCEPT

#redireccionamiento del puerto 80 al 8080
$IPTABLES -t nat -A PREROUTING -i $INTERNALIF -p tcp --dport 80 -j REDIRECT --to-port 8080

#Logueamos y descartamos paquetes de la red local intentando salir
$IPTABLES -A FORWARD -p tcp --dport 25 -j LOG
$IPTABLES -A FORWARD -p tcp --dport 25 -j DROP
$IPTABLES -A OUTPUT -p tcp --dport 25 -j DROP

#Enmascarar conexiones internar yendo hacia fuera.
#Comentar si no se desea proxy transparente
#Recordar que si se permiten conexiones desde el interior, los clientes
#no usarian el proxy haciendonos perder ancho de banda por no cache
$IPTABLES -A POSTROUTING -t nat -o $EXTERNALIF -j MASQUERADE

exit 0

Nosé como me puedan ayudar para ....., necesito bloquear el messenger URGENTE...

Gracias...

Daniela.

Antes del "exit 0", agrega

Imagen de jcyepez

Antes del "exit 0", agrega esta línea:


$IPTABLES -A FORWARD -p tcp --dport 1863 -j DROP
$IPTABLES -A FORWARD -p udp --dport 1863 -j DROP

De todas maneras insisto en que leas el manual de iptables para que entiendas que es lo que quieres hacer.

Saludos

Juan Yépez
093681879

Saludos

Juan Yépez
0993681879
Dj - Discomovil Quito

Gracias a todos, voy a

Gracias a todos, voy a probarlo,

Una consulta, mas lo que está dentro del squid.conf está bien todo lo que es bloquedo del msn, o me falta algo más por ahi.

Saludos

Si no te funca las líneas

Imagen de antares

Si no te funca las líneas que te recomendó jcyepez, editalas para que se lean:


$IPTABLES -I FORWARD 1 -p tcp --dport 1863 -j DROP
$IPTABLES -I FORWARD 1 -p udp --dport 1863 -j DROP

Luego de eso echale una reiniciadita de confianza al server (o si sabes como reiniciar el servicio de firewall de quien te lo instaló bastaría solo con hacerlo) y prueba de nuevo. Estoy casi seguro de que te va a tocar editar las líneas de la forma como te pongo, porque así te aseguras que esas reglas vayan de primero (recuerda que el orden es muy importante, si una de las reglas primeras -de mayor prioridad- abren TODO ya no se parsearía tu regla en donde cierras el msn)

Saludos.

Saludos,

antares

Gracias amigo. Aun no lo

Gracias amigo.

Aun no lo pruebo todavía, puesto que eso lo hago por las noches, ya que en la mañana trabajamos y no vaya a ser que haga algo mal y FIN.

Una consulta, como reinicio mi servicio de firewall., y esas lineas que tu mencionas asi mismo las pongo debajo del exit 0 ??

Es decir, lo que tengo en mi squid.conf si está bien con las opciones de bloquear el msn?? , y solo falta eso del firewall ??????

En espera de su respuesta.

No debajo del exit 0... debe

Imagen de antares

No debajo del exit 0... debe ser ANTES.

Según comprendo tu script de firewall, deberías reiniciarlo con

/etc/init.d/rc.firewall restart

Por lo pronto concentremos nuestros esfuerzos en tu firewall, luego vemos el squid.conf... un paso a la vez.

Saludos

Saludos,

antares

Hola amigo como le va.... Ya

Hola amigo como le va....

Ya hice lo que me indicaste del firewall /etc/init.d/rc.firewall restart , las reglas las puse antes del exit 0, ya lo reinicie y todo marcha bien. Pero sigo teniendo acceso al msn.

Ahora creo que el problema es en el squid.conf

acl sitiosdenegados url_regex "/etc/squid/sitiosdenegados"
acl nopermitidos src "/etc/squid/nopermitidos"
acl permitidos src "/etc/squid/permitidos"
acl msn_messenger req_mime_type -i ^application/x-msn-messenger$
acl msn_url url_regex -i gateway.dll
acl msn_port port 1863
acl msn_method method POST
acl CONNECT method CONNECT

http_access allow manager localhost
#http_access deny nopermitidos sitiosdenegados
http_access allow permitidos
http_access allow redlocal
http_access deny all
http_access deny msn_messenger !permitidos
http_access deny msn_method msn_url !permitidos
http_access deny msn_port !permitidos
http_access deny CONNECT msn_port !permitidos
http_access deny manager

En espera de tu ayuda.

Daniela

Páginas