cprvendas
(usa Conectiva)
Enviado em 29/12/2008 - 08:54h
Bom dia, estou com um problema aqui na minha empresa, trabalho numa rede de supermercados onde sou responsável pela T.I.; Fiz um servidor Conectiva 10, com Squid e Iptables. O mesmo funciona como um relógio, na questão de direcionar a porta 80, bloquear sites, bloquear palavras, exigir proxy, etc...
A única coisa que eu não consigo fazer é bloquear o famoso MSN, já tentei mile uma maneiras e até agora NADA, tentei com uma lista de sites e IP´s usador pelo msn, GATEWAY.DLL, por MAC... Enfim ñ tem jeito...............
Gostaria que alguem me ajudasse a fazer tal bloqueio, pq não tá fácil :) ...............
Sou iniciante no linux, por isso, se eu estiver falando besteira, favor me corrijam....
Lembrando que qualquer tentativa pra mim é válida...
Vou postar meo Squid e Iptables...
squid.conf
#Default:
http_port 3128
#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
########## CRIANDO REGRAS #####
acl xp src 192.168.1.158
acl carlinha src 192.168.1.5
acl marilda src 192.168.1.20
acl jucilei src 192.168.1.111
acl individuo src 192.168.1.4
## PUXANDO TXT COM OS BLOQUEIOS ##
acl orkut url_regex -i "/etc/squid/orkut.txt"
########## APLICANDO REGRAS ###
http_access allow xp !orkut
http_access allow carlinha
http_access allow marilda
http_access allow jucilei
http_access allow individuo
http_access deny all
------------------------------------------------------------------------------
Iptables
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
if [ ${NETWORKING} = "no" ]
then
exit 0
fi
case "$1" in
start)
gprintf "Iniciando o serviço de %s: " "IPtables"
echo
echo 1 > /proc/sys/net/ipv4/ip_forward
## Habilitando Modulos
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
modprobe ipt_multiport
modprobe iptable_nat
# modprobe ipt_unclean
modprobe ipt_limit
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ip_nat_ftp
modprobe iptable_mangle
modprobe ipt_tos
## Declarando interfaces
INTERFACE="eth0"
INTERFACE2="eth1"
DNS1="201.10.120.2"
DNS2="201.10.128.3"
PROTO="tcp"
PROTO2="udp"
DP="DROP"
RJ="REJECT"
AP="ACCEPT"
## Definindo a Politica default
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
## Limpando as regras existentes
iptables -t filter -F
iptables -t nat -F
## Redireciona para Squid (Sem essa linha, o usuario pode se conectar SEM proxy nos navegadores)
## Mas, não existem regras... (SQUID MORTO)
iptables -t nat -A PREROUTING -s 0/0 -p $PROTO --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 0/0 -p $PROTO2 --dport 80 -j REDIRECT --to-port 3128
## Libera
iptables -A FORWARD -s 192.168.1.0/24 -d 0/0 -j ACCEPT
iptables -A FORWARD -s 0/0 -d 192.168.1.0/24 -mstate --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE
## Liberando Portas
# iptables -A FORWARD -p $PROTO -d 192.168.1.254 --dport 5900 -j $AP
# iptables -t nat -A PREROUTING -p $PROTO -i $INTERFACE --dport 5900 -j DNAT --to 192.168.1.254:5900
## Bloqueando MSN
## Delay minimo (para um trafego melhor na web)
iptables -t mangle -A OUTPUT -o $INTERFACE -p $PROTO --dport 53 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A OUTPUT -o $INTERFACE -p $PROTO --dport 80 -j TOS --set-tos Minimize-Delay
iptables -L -n
;;
stop)
gprintf "Parando o serviço de %s: " "IPtables"
echo
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -t filter -P FORWARD DROP
iptables -t nat -P PREROUTING DROP
iptables -t nat -P OUTPUT DROP
iptables -t nat -P POSTROUTING DROP
iptables -t filter -F
iptables -t nat -F
iptables -t filter -L -n
iptables -t nat -L -n
rmmod ipt_state ipt_MASQUERADE iptable_nat ip_conntrack iptable_filter ip_tables
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
;;
status)
gprintf "Status do serviço de %s: " "IPtables"
iptables -t filter -L -n
iptables -t nat -L -n
;;
*)
gprintf "Uso: iptables (start|stop|status)"
echo
;;
esac
exit 0