Passar por fora do PROXY [RESOLVIDO]

1. Passar por fora do PROXY [RESOLVIDO]

Henrique Rodrigues
henriquebh

(usa Debian)

Enviado em 11/07/2010 - 12:18h

Galera, boa tarde.
Montei meu firewall baseado em informacoes do VOL e no livro Servidores Linux de Carlos Morimoto.
Bem, meus script ficou assim.
E eu preciso liberar 5 maquinas a navegarem com um proxy externo CAPS UFMG.
Dai minha necessidade de que essas maquinas naveguem fora do proxy interno.
Help!

#!/bin/bash

iniciar(){

# Abre para uma faixa de endereços da rede local
iptables -A INPUT -p tcp --syn -s 192.168.2.0/255.255.255.0 -j ACCEPT

# Compartilha a conexão:
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo "Ativação do compartilhamento da interface eth1 'OK'..."

# Proxy transparente:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "Ativação do proxy transparente 'OK'..."

# Abre portas (inclusivo para a Internet)
iptables -A INPUT -p tcp --destination-port 21 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 110 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 465 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 995 -j ACCEPT

# Fecha portas (inclusivo para a Internet)
iptables -A INPUT -p tcp --destination-port 2535 -j DROP
iptables -A INPUT -p tcp --destination-port 138 -j DROP
iptables -A OUTPUT -p tcp --destination-port 138 -j DROP
iptables -A INPUT -p tcp --destination-port 139 -j DROP
iptables -A OUTPUT -p tcp --destination-port 139 -j DROP

# Fechando as portas do SSH pra fora
iptables -A INPUT -p tcp --dport 2756 -m iprange --src-range 192.168.2.0-192.168.2.255 -j ACCEPT

# Ignora pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# Desabilita o suporte a source routed packets
echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/eth1/accept_source_route

# Proteção contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Permite conexões na interface de rede local e na porta 22:
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# Regras básicas de firewall:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -p tcp --syn -j DROP

# Abre para a interface de loopback.
iptables -A INPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

# Bloqueia qualquer conexão que não tenha sido permitida acima
iptables -A INPUT -p tcp --syn -j DROP

# Bloqueia as portas UDP de 0 a 1023:
iptables -A INPUT -p udp --dport 0:1023 -j DROP

echo "Ativação de regras de firewall e compartilhamento 'OK'..."

}

parar(){
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo 0 > /proc/sys/net/ipv4/ip_forward
echo "Desativação de regras de firewall e compartilhamento 'OK'..."
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Indique um dos parâmetros de configuração 'start' ou 'stop' ou 'restart'"
esac


  


2. Re: Passar por fora do PROXY [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 11/07/2010 - 15:24h

Kra, primeiramente, a sua função iniciar deveria t uma regra limpando. Imagine se vc coloca alguma regra por fora e o seu firewall não está iniciado. Quando vc iniciá-lo, aquela regra não será limpada. Outra coisa: pra vc liberar as máquinas para não passar pelo proxy, pq vc num libera pelo squid? Pelo iptables, eu acho q é possível vc pondo regras d FORWARD na porta 80 ANTES da regra d redirecionamento. Tente ae, pois com proxy sem ser transparente dá.


3. Re: Passar por fora do PROXY [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 11/07/2010 - 18:50h

Como disse o renato, seu firewall deveria ter regras limpando ao iniciar, até porque o "parar" do seu firewall também não o faz.
Adicione:
iptables -X -t filter
iptables -X -t nat
iptables -F -t filter
iptables -F -t nat

Quanto ao proxy, como a regra que redireciona é esta:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Coloque acima dela para impedir que esta regra bata, como:
iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -s IP_FORA_DO_PROXY -j ACCEPT



PS: Seu firewall está meio "aberto" ainda, apesar de complexo.
Seu police padrão de FORWARD/INPUT/OUTPUT parece ser ACCEPT (até porque ele não é mexido no "iniciar"), o que não é uma prática muito boa...


4. Re: Passar por fora do PROXY [RESOLVIDO]

Henrique Rodrigues
henriquebh

(usa Debian)

Enviado em 12/07/2010 - 07:59h

Eu sou novato no linux, a pouco mais de 1 mes que venho mexendo com ele. O que eu sei e lendo um pouco daqui um pouco da li e vendo opinioes diversas. Agradeco qualquer tipo de critica, opinioes, acho que é bem por ai mesmo que aprenderei. O VOL e todos que participam dele estao de parabens. Obrigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts