Squid

1. Squid

Fernando Carlos Franco
fernandofranco

(usa Fedora)

Enviado em 24/02/2009 - 14:59h

Bom sou novo na comunidade linux e estou montando um serv. linux para testes em minha empresa.
Montei o serv. com linux e o squid, a minha pergunta é o seguinte , o meu linux está funcionando correto, nas estações de trabalho quando eu coloco ele pra trabalhar em proxy, consiso vericar quem está acessando as páginas quando retiro o proxy não sei quem mais acessa , configurei como proxy transparente.


  


2. Re: Squid

Alcimar
arc

(usa Slackware)

Enviado em 24/02/2009 - 15:03h

posta seu firewall para analisar-mos as regras amigo!



3. Squid

Fernando Carlos Franco
fernandofranco

(usa Fedora)

Enviado em 24/02/2009 - 15:18h

aqui meu amigo o me firewall

sou novo no mundo linux, se tiver erro me desculpe.



#!/bin/sh

#######################
## Setando Variaveis ##
#######################

IPT='/sbin/iptables'
INT_INT='eth0'
INT_EXT='eth1'
NET_INT='192.168.0.0/24'
NET_EXT='0.0.0.0/0'
ADDR_INT='192.168.0.100'
ADDR_EXT='201.16.244.154'

#########################
## Setando Modulos ##
#########################

/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ip_tables
/sbin/modprobe ipt_state
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_limit

##########################
## Modulos da VPN ##
##########################

/sbin/modprobe ip_conntrack_pptp
/sbin/modprobe ip_nat_pptp
/sbin/modprobe ip_gre


#####################################
## Habilitacoes Especificas ##
#####################################

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

#####################################
## Flushando todas as Regras ##
#####################################

$IPT -F
$IPT -t nat -F
$IPT -X

#####################################
## Definindo Politicas ##
#####################################

$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT

#####################################
## Definindo liberacoes especiais ##
#####################################
$IPT -A INPUT -p TCP --dport 22 -j ACCEPT

######################################
## Definindo Regras de Mascaramento ##
######################################
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -i $INT_EXT -o $INT_INT -j ACCEPT
$IPT -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -i $INT_INT -o $INT_EXT -j ACCEPT
$IPT -t nat -A POSTROUTING -s $NET_INT -j MASQUERADE

##########################
## Redirecionamento DNS ##
##########################

#$IPT -t nat -I PREROUTING -d 192.168.0.2 -p tcp --dport 53 -j DNAT --to 208.67.222.222
#$IPT -t nat -I PREROUTING -d 192.168.0.2 -p udp --dport 53 -j DNAT --to 208.67.222.222

###########################
## Protege Ping of Death ##
###########################
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

###########################
## Protege Stealth Scan ##
###########################
$IPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

###########################
## Protege Syn-flood DoS ##
###########################
$IPT -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

#######################
# Entrada ( INPUT ) #
#######################
$IPT -A INPUT -i lo -j ACCEPT

$IPT -A INPUT -m state --state NEW,ESTABLISHED,RELATED -i $INT_INT -j ACCEPT
$IPT -A INPUT -i $INT_INT -s $NET_INT -d $NET_EXT -j ACCEPT
#$IPT -A INPUT -i $INT_INT -s $NET_EXT -d $NET_INT -j DROP

################################
## Liberacao Porta 1723 e GRE ##
################################
#$IPT -A INPUT -i $INT_EXT -p tcp --dport 1723 -j ACCEPT
#$IPT -A INPUT -i $INT_EXT -p udp --dport 1723 -j ACCEPT
#$IPT -A INPUT -i $INT_EXT -p 47 -j ACCEPT

####################
## Protocolo ICMP ##
####################
$IPT -A INPUT -p ICMP -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type source-quench -j ACCEPT
$IPT -A INPUT -p ICMP -s 0/0 --icmp-type parameter-problem -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP -s $NET_EXT -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type 0 -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type 3 -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type 8 -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type source-quench -d $ADDR_EXT -j ACCEPT
$IPT -A INPUT -i $INT_EXT -p ICMP --icmp-type parameter-problem -d $ADDR_EXT -j ACCEPT

##########################
# Regras contra Spoofing #
##########################
$IPT -A INPUT -i $INT_EXT -s $NET_INT -j DROP

##########################################
## Liberar Foward Rede-Interna ##
##########################################
$IPT -A FORWARD -s $NET_INT -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT


#Input
$IPT -A INPUT -i lo -s 127.0.0.1/32 -j ACCEPT
$IPT -A INPUT -p icmp -m limit --limit 3/m --limit-burst 3 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
$IPT -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#$IPT -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "INPUT packet denied:"




4. Re: Squid

Alcimar
arc

(usa Slackware)

Enviado em 24/02/2009 - 18:10h

Amigo supondo que seu squid esteja rodando no porta 3128
e com a regra para proxy transparente:

http_port 3128 transparent

tente usar este script abaixo, pois acho que não foi vc que escreveu este firewall então use essas regras até vc estudar um pouco mais sobre firewall. Não analisei todo seu firewall para ver se estão certas as regras mas é notório que falta liberar o INPUT NA porta 80 para a rede interna e tb redirecionar a porta 80 para 3128!


#!/bin/bash
#################################
iptables -F
iptables -t nat -F
##################################
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_mangle
modprobe ipt_mark
modprobe ipt_MARK
####################################

### ativa roteamente

echo "1" > /proc/sys/net/ipv4/ip_forward

#### Faz mascaramento da rede que esta conectada na internet. Lembre-se de trocar eth1 pela sua rede externa

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

#####Redireciona porta 80 para a porta que o squid está escutando, troque 3128 pela porta que o squid está rodando

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128







5. Squid

Fernando Carlos Franco
fernandofranco

(usa Fedora)

Enviado em 24/02/2009 - 19:10h

sim estou direcionando tudo que vem da 80 para 3128 no iptables, no squid estou com 3128 transparent

vou verificar novamente meu firewall amanhã , qualquer coisa te aviso...por enquanto é so e obrigado amigo por sua ajuda....t+++


6. Re: Squid

vfsmount
vfsmount

(usa Slackware)

Enviado em 24/02/2009 - 19:56h

Amigo...

quando voce mascara sua rede interna, os micros podem navegar sem ter o proxy configurado no navegado, ou seja voce nao pode ver os sites que estao sendo navegados. Voce deve comentar as linhas de mascaramento, assim vai obrigar os micros a navegar somente pelo proxy.
Entao caso queira que somente um micro navegue atraves do proxy, coloque uma regra para fazer MASQUERADE de somente aquele endereco.

nao consegui ver no seu firewall a regra que direciona da 80 pra 3128...

espero que tudo funcione corretamente... valew


7. Re: Squid

Alcimar
arc

(usa Slackware)

Enviado em 24/02/2009 - 21:17h

Se o seu firewall for o que postou acima com certeza não esta redirecionando a porta 80 para 3128. E lembre-se que sua politica INPUT esta como DROP entao terá que liberar o INPUT na porta 80 para rede interna

Com mascaramento e proxy transparente vc conseguirá ver o que o pessoal esta acessando mas somente pelo ip de cada maquina e não por usuários(caso seja proxy autenticado)


8. squid

Fernando Carlos Franco
fernandofranco

(usa Fedora)

Enviado em 25/02/2009 - 13:52h

olá pessoal ,,boa tarde
o meu firewall está ativado dessa maneira aqui
eth0 - rede externa

iptables -t nat -A POSTROUTING -s etho -j MASQUERADE

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DIRECT --to-port 3128
ou
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.100

ESSA IP 100 É MEU FIREWALL INTERNO
VE SE ESTOU CERTO ...GRATO






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts