[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Firewall e proxy



Eder, eu uso isso:

#liberacao de IP para acesso fora do proxy
$IPT -t nat -A PREROUTING -s 10.0.4.201 -p tcp -i eth1 --dport 80 -j ACCEPT

#bloqueio de acesso a internet via porta 80
$IPT -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DROP ACCEPT

no caso, meus users só acessam a net via porta do proxy (3128) 
entao antes da regra de drop, e u coloquei a regra liberando meu ip ...



On Wednesday 26 April 2006 15:06, Eder Gobbi wrote:
> Pessoal
>
> E a segunda vez que to postando o mesmo problema..
> Já faz mais de um mês que tô atrás disso..
> Acho que sou muito ignorante, mas preciso tirar meu micro do proxy.
> O proxy é autenticado no AD e tem regra no firewall que impede navegação
> fora do proxy..
>
> Eu quero uma excessão à esta regra. Mas sou muito noob nisto..
>
> Segue meu firewall..
> Meu ip é 10.43.42.20
>
> #!/bin/sh
> # Script de Configuração de firewall
> # Autor: Eder Gobbi - Woody
> # Data: 21/03/2006
> # Descrição: Produzido para ser distribuído livremente, baseado no guia
> #             Foca GNU/Linux. http://www.guiafoca.org
> #
>
> # É assumido um sistema usando kmod para carga automática dos módulos
> usados por
> # esta configuração do firewall:
> # ipt_filter
> # ipt_nat
> # ipt_conntrack
> # ipt_mangle
> # ipt_TOS
> # ipt_MASQUERADE
> # ipt_LOG
>
> # Se você tem um kernel modularizado que não utiliza o kmod, será
> necessário
> # carregar estes módulos via modprobe, insmod ou iptables --modprobe=modulo
>
> ##### Limpando regras #####
> iptables -F
> iptables -X
> iptables -t nat -F
> iptables -t nat -X
> iptables -t mangle -F
> iptables -t mangle -X
>
> ##### Carregando módulos necessários #####
> modprobe iptable_nat
> modprobe ip_nat_ftp
> modprobe ip_conntrack_ftp
>
> ##### Definição de Policiamento #####
> # Tabela filter
> iptables -t filter -P INPUT DROP
> iptables -t filter -P OUTPUT ACCEPT
> iptables -t filter -P FORWARD DROP
> # Tabela nat
> iptables -t nat -P PREROUTING ACCEPT
> iptables -t nat -P OUTPUT ACCEPT
> iptables -t nat -P POSTROUTING DROP
> # Tabela mangle
> iptables -t mangle -P PREROUTING ACCEPT
> iptables -t mangle -P OUTPUT ACCEPT
>
>
> ##### Proteção contra IP Spoofing #####
> for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
>   echo 1 >$i
> done
>
> ##### Ativamos o redirecionamento de pacotes (requerido para NAT) #####
> echo "1" >/proc/sys/net/ipv4/ip_forward
>
> # O iptables define automaticamente o número máximo de conexões simultâneas
> # com base na memória do sistema. Para 32MB = 2048, 64MB = 4096, 128MB =
> 8192,
> # sendo que são usados 350 bytes de memória residente para controlar
> # cada conexão.
> # Quando este limite é excedido a seguinte mensagem é mostrada:
> #  "ip_conntrack: maximum limit of XXX entries exceed"
> #
> # Como temos uma rede simples, vamos abaixar este limite. Por outro lado
> isto
> # criará uma certa limitação de tráfego para evitar a sobrecarga do
> servidor.
> # echo "2048" > /proc/sys/net/ipv4/ip_conntrack_max
>
>
> ###############################################################
> #                      Tabela filter                          #
> ###############################################################
>
> ##### Chain INPUT #####
> # Criamos um chain que será usado para tratar o tráfego vindo da Internet e
> iptables -N net-input
>
> # Aceita todo o tráfego vindo do loopback e indo pro loopback
> iptables -A INPUT -i lo -j ACCEPT
> # Todo tráfego vindo da rede interna também é aceito
> iptables -A INPUT -s 10.43.42.0/24 -i eth1 -j ACCEPT
>
> # Conexões vindas da interface eth0 são tratadas pelo chain net-input
> iptables -A INPUT -i eth0 -j net-input
>
> # Qualquer outra conexão desconhecida é imediatamente registrada e
> derrubada
> iptables -A INPUT -j LOG --log-prefix "FIREWALL: INPUT "
> iptables -A INPUT -j DROP
>
>
> ##### Chain FORWARD ####
> # Permite redirecionamento de conexões entre as interfaces locais
> # especificadas abaixo. Qualquer tráfego vindo/indo para outras
> # interfaces será bloqueado neste passo
> iptables -A FORWARD -s 10.43.42.20 -j ACCEPT
> iptables -A FORWARD -d 10.43.42.0/24 -i eth0 -o eth1 -j ACCEPT
> iptables -A FORWARD -s 10.43.42.0/24 -i eth1 -o eth0 -j ACCEPT
> iptables -A FORWARD -j LOG --log-prefix "FIREWALL: FORWARD "
> iptables -A FORWARD -j DROP
>
>
> ##### Chain net-input ####
> # Aceitamos todas as mensagens icmp vindas de eth0 com certa limitação
> # O tráfego de pacotes icmp que superar este limite será bloqueado
> # pela regra "...! ESTABLISHED,RELATED -j DROP" no final do
> # chain net-input
> #
> iptables -A net-input -p icmp -m limit --limit 2/s -j ACCEPT
>
> # Aceita pacotes vindos dos sites da Caixa
> iptables -A INPUT -p all -s 70.86.48.0/24 -j ACCEPT
> iptables -A INPUT -p all -s 200.201.174.0/24 -j ACCEPT
>
> # Primeiro aceitamos o tráfego vindo da Internet para o serviço www (porta
> 80)
> iptables -A net-input -p tcp --dport 80 -j ACCEPT
>
> # A tentativa de acesso externo a estes serviços serão registrados no
> syslog
> # do sistema e serão bloqueados pela última regra abaixo.
> iptables -A net-input -p tcp --dport 21 -j LOG --log-prefix "FIREWALL: ftp
> "
> iptables -A net-input -p tcp --dport 25 -j LOG --log-prefix "FIREWALL:
> smtp "
> iptables -A net-input -p udp --dport 53 -j LOG --log-prefix "FIREWALL: dns
> "
> iptables -A net-input -p tcp --dport 110 -j LOG --log-prefix "FIREWALL:
> pop3 "
> iptables -A net-input -p tcp --dport 113 -j LOG --log-prefix "FIREWALL:
> identd "
> iptables -A net-input -p udp --dport 111 -j LOG --log-prefix "FIREWALL:
> rpc"
> iptables -A net-input -p tcp --dport 111 -j LOG --log-prefix "FIREWALL:
> rpc"
> iptables -A net-input -p tcp --dport 137:139 -j LOG --log-prefix
> "FIREWALL: samba "
> iptables -A net-input -p udp --dport 137:139 -j LOG --log-prefix
> "FIREWALL: samba "
> # Bloqueia qualquer tentativa de nova conexão de fora para esta máquina
> iptables -A net-input -m state --state ! ESTABLISHED,RELATED -j LOG
> --log-prefix "FIREWALL: netin "
> iptables -A net-input -m state --state ! ESTABLISHED,RELATED -j DROP
> # Qualquer outro tipo de tráfego é aceito
> iptables -A net-input -j ACCEPT
>
>
> #######################################################
> #                   Tabela nat                        #
> #######################################################
>
> ##### Chain POSTROUTING #####
>
> #Emule
> iptables -t nat -A PREROUTING -i eth0 -p tcp -d 192.168.0.2 --dport 5010
> -j DNAT --to 10.43.42.20
> iptables -t nat -A PREROUTING -i eth0 -p udp -d 192.168.0.2 --dport 5020
> -j DNAT --to 10.43.42.20
> iptables -t nat -A PREROUTING -i eth0 -p tcp -d 192.168.0.2 --dport 5030
> -j DNAT --to 10.43.42.20
>
> # Permite qualquer conexão vinda com destino a lo e rede local para eth1
> iptables -t nat -A POSTROUTING -o lo -j ACCEPT
> iptables -t nat -A POSTROUTING -s 10.43.42.0/24 -o eth1 -j ACCEPT
>
> # Conectividade Social
> # iptables -t nat -A POSTROUTING -o eth0 -s 10.43.42.0/24 -d
> 200.201.174.0/24 -j ACCEPT
>
> iptables -t nat -A POSTROUTING -s 10.43.42.2/24 -d 200.201.173.0/24 -j
> MASQUERADE
>
> # Não queremos que usuários tenham acesso direto a www e smtp da rede
> externa, o
> # squid e smtpd do firewall devem ser obrigatoriamente usados. Também
> registramos
> # as tentativas para monitorarmos qual máquina está tentando conectar-se
> diretamente.
> iptables -t nat -A POSTROUTING -s 10.43.42.0/24 -o eth0 -p tcp --dport 80
> -j LOG --log-prefix "FIREWALL: SNAT-www "
> #iptables -t nat -A POSTROUTING -s 10.43.42.0/24 -o eth0 -p tcp --dport 25
> -j LOG --log-prefix "FIREWALL: SNAT-smtp "
> #iptables -t nat -A POSTROUTING -s 10.43.42.0/24 -o eth0 -p tcp --dport 25
> -j DROP
> iptables -t nat -A POSTROUTING -s 10.43.42.20 -o eth0 -p tcp --dport 80 -j
> ACCEPT
> #iptables -t nat -A POSTROUTING -s 10.43.42.0/24 -o eth0 -p tcp -d !
> 200.201.174.0/24 --dport 80 -j DROP
> # feito masquerading dos outros serviços da rede interna indo para a
> interface
> # eth0
> iptables -t nat -A POSTROUTING -s 10.43.42.0/24 -o eth0 -j MASQUERADE
>
> # Qualquer outra origem de tráfego desconhecida indo para eth1 (conexões
> vindas
> # de eth0) são bloqueadas aqui
> iptables -t nat -A POSTROUTING -o eth1 -d 10.43.42.0/24 -j LOG
> --log-prefix "FIREWALL: SNAT unknown"
> iptables -t nat -A POSTROUTING -o eth1 -d 10.43.42.0/24 -j DROP
> # Quando iniciamos uma conexão eth, obtemos um endereço classe A
> (10.x.x.x) e após
> # estabelecida a conexão real, este endereço é modificado. O tráfego indo
> para
> # a interface eth não deverá ser bloqueado. Os bloqueios serão feitos no
> # chain INPUT da tabela filter
> iptables -t nat -A POSTROUTING -o eth0 -j ACCEPT
>
> # Registra e bloqueia qualquer outro tipo de tráfego desconhecido
> iptables -t nat -A POSTROUTING -j LOG --log-prefix "FIREWALL: SNAT "
> iptables -t nat -A POSTROUTING -j DROP
>
>
> ###############################################
> #                Tabela mangle                #
> ###############################################
>
> ##### Chain OUTPUT #####
> # Define mínimo de espera para os serviços ftp, telnet, irc e DNS, isto
> # dará uma melhor sensação de conexão em tempo real e diminuirá o tempo
> # de espera para conexões que requerem resolução de nomes.
> #iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 21 -j TOS --set-tos
> 0x10
> #iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 23 -j TOS --set-tos
> 0x10
> #iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 6665:6668 -j TOS
> --set-tos 0x10
> #iptables -t mangle -A OUTPUT -o eth0 -p udp --dport 53 -j TOS --set-tos
> 0x10
> iptables -t mangle -A OUTPUT -o eth0 -p tcp --dport 3389 -j TOS --set-tos
> 0x10
>
>
> --
> Usando o revolucionário cliente de correio do Opera:
> http://www.opera.com/mail/

-- 
Andre Novelli
andre.ti@embalatec.com.br



Reply to: