Cuantas veces has querido bloquear facebook en tu red, y no lo consigues por completo, si instalas squid logras bloquear la direccion
http://facebook.com, pero resulta que los usuarios son mas pilas y usan
https://facebook.com y logran entrar y por mas bloqueos que pongas es imposible el https siempre logra pasar, pues aqui te dejo la solucion.
Primero necesitas lo siguiente:
-Un Servidor router linux para tu red
-Firewall iptables
Ahora vamos a bloquear el acceso a facebook
# iptables -I FORWARD -m string –string ‘facebook’ –algo bm -j DROP
Una mejor alternativa puede ser bloquear todas las peticiones por el puerto 443 del siguiente modo:
# iptables -I FORWARD -p tcp –dport 443 -m string –string ‘facebook’ –algo bm -j DROP
Con eso ahora intenta navegar a facebook y veras que no logras ingresar tanto por https como por http.
Si tus usuario tienen IP fija y quieres negar el acceso solo a uno en especial coloca la regla asi.
# iptables -I FORWARD -s 192.168.221.5 -p tcp –dport 443 -m string –string ‘facebook’ –algo bm -j DROP.
Listo con eso se acabaron tus problemas bloqueaste acceso total a facebook.
via:
http://blog.kvs-solutions.com/?p=550Ahora, te paso un peque;o extracto de mi archivo de iptables.
#!/bin/bash
# -- UTF 8 --
# Algun comentario pora qui
#
# -- INICIO DE CONFIGURACION --
#
# Binarios del programa
IPTABLES="/usr/bin/iptables"
ECHO="/usb/bin/echo"
#
# Interfaz
RED_EXT="enp2s0"
IP_INT="172.16.xx.xx"
#
# Limpieza
$IPTABLES -F
$IPTABLES -X
$IPTABLES -Z
$IPTABLES -t nat -F
#
# Politicas
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
# -- FIN DE CONFIGURACION --
#
# INICIO DEL FILTRADO
$ECHO "####################"
$ECHO " Iniciando reglas "
$ECHO "####################"
#
# TRABAJANDO LOCALMENTE, TODO PERMITIDO
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
#
# Permitimos que la maquina pueda salir a la web
$IPTABLES -A INPUT -p tcp -m tcp --sport 80 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
#
# Ya tambien a webs seguras
$IPTABLES -A INPUT -p tcp -m tcp --sport 443 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
#
# Permitir ping desde adentro hacia afuera
$IPTABLES -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
$IPTABLES -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
#
# Anti-spoofing (falseo de ip origen)
#
$IPTABLES -A INPUT -i $RED_EXT -s $IP_EXTER -j LOG --log-prefix "INTENTO DE MIM:" --log-level 4 --log-ip-options --log-tcp-options
$IPTABLES -A INPUT -i $RED_EXT -s $IP_EXTER -m comment --comment "Anti-MIM" -j DROP
$IPTABLES -A INPUT -i $RED_EXT -s 10.0.0.0/24 -m comment --comment "Anti-MIM" -j DROP
$IPTABLES -A INPUT -i $RED_EXT -s 172.16.0.0/12 -m comment --comment "Anti-MIM" -j DROP
$IPTABLES -A INPUT -i $RED_EXT -s 192.168.0.0/24 -m comment --comment "Anti-MIM" -j DROP
$IPTABLES -A INPUT -i $RED_EXT -s 224.0.0.0/8 -j DROP
$IPTABLES -A INPUT -i $RED_EXT -d 127.0.0.0/8 -j DROP
$IPTABLES -A INPUT -i $RED_EXT -d 255.255.255.255 -j DROP
#
# Anti-flooding o inundación de tramas SYN."
$IPTABLES -N syn-flood
$IPTABLES -A INPUT -i $RED_EXT -p tcp --syn -j syn-flood
#$IPTABLES -A LOGGING -m limit --limit 1/s --limit-burst 4 -j LOG --log-prefix "Anti-Flood:" --log-level 4
$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A syn-flood -j DROP
Si deseas profundizar mas, y no tienes problemas con el ingles, te recomiendo buscar este libro "No.Starch.Press.Linux.Firewalls.Sep.2007".