mibetasigma
(usa Ubuntu)
Enviado em 02/04/2012 - 16:21h
Prezados amigos, boa tarde.
Em um servidor de uma empresa na qual presto serviços, instalei o squid para controle de acesso à internet com proxy transparente. O proxy transparente funciona bem, mas em resumo, parece quem as regras do squid são ignoradas. Eis abaixo que envio os arquivos de firewall e proxy.
Agradeço a atenção.
Firewall:
#Regras de Firewall
echo Limpando as tabelas e Chains
iptables -F
iptables -F -t nat
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t mangle -F
iptables -t nat -F
iptables -X
echo Limpeza das Tabelas ..... [ok]
### Habilitando os módulos
modprobe iptable_nat
modprobe ip_nat_ftp
echo Modulos Carregados ..... [ok]
### Compartilhamento da Internet
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.1/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
#iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo Internet Compartilhada ..... [ok]
#Segurança
#Não responde a pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
#Proteção contra Ip Spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
#Autoriza pacotes provenientes da interface de loopback lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
#Impedindo ataque Ping of Death na rede
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#Impedindo ataque de Denial Of Service Dos na rede e servidor
iptables -I FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -m limit --limit 1/s -j ACCEPT
#Protecao contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
#Protecao contra worms
iptables -I FORWARD -p tcp --dport 135 -j LOG --log-level info --log-prefix 'WORMS REDE>'
iptables -A FORWARD -p tcp --dport 135 -j DROP
iptables -I INPUT -p tcp --dport 135 -j LOG --log-level info --log-prefix 'WORMS >'
#bloqueador de tentativas de conexão da internet
iptables -A INPUT -p tcp --syn -j DROP
echo Seguranca Carregada ..... [ok]
#CONECTIVIDADE SOCIAL
#iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT
#iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT
#echo Conectividade Social Carregada ..... [ok]
#PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo Proxy Transparente Carregado ..... [ok]
#BLOQUEAR MSN
#iptables -I FORWARD -p tcp -s 192.168.0.0/24 --dport 1863 -j DROP
#echo Bloqueio de Msn Carregado ..... [ok]
#Redirecionamentos
#EXEMPLO DE REDIRECIONAMENTO
#iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 3389 -i eth1 -j DNAT --to 192.168.0.1
#iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 3389 -i eth1 -j DNAT --to 192.168.0.1
E o squid está como abaixo:
# rules for squid
http_port 3128 transparent
visible_hostname server-veritas
error_directory /usr/share/squid/errors/Portuguese
cache_mem 256 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 3 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 1024 16 50
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
#O cache pode ser configurado para continuar downloads de requisicoes abortadas
quick_abort_min -1 KB
quick_abort_max 0 KB
quick_abort_pct 100%
#fecha a conexao quando o a leitura do socket retornar sem mais dados para leitura
half_closed_clients off
read_timeout 60 seconds
pconn_timeout 120 seconds
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 SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#Lista de Sites Bloqueados
acl bloqueados url_regex -i /etc/squid/regras/wordsblock.txt
http_access deny bloqueados
#Aqui você vai colocar a faixa de ip da sua rede local ex: 192.168.1.0/24 ou conforme abaixo:
acl redelocal src 192.168.0.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all
forwarded_for off
memory_pools off
detect_broken_pconn on