deuz
(usa Debian)
Enviado em 10/02/2012 - 09:40h
Bom dia a Todos!!
o titulo sugere alguns comentarios, na definição de firewall, até onde aprendi, um proxy ja faz o papel de um, mesmo que limitado com suas regras, mas podemos dizer que é um, pelo controle de acessos que oferece. Portanto estou postando nesse forum para tentar dirimir alguns problemas na rede.
obs essa regra:
iptables -t nat -A PREROUTING -i $REDE_INTERNA -p tcp -m multiport --dport 80,443 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $INTERNET -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
ela compartilha internet com a rede interna, se mudar a primeira regra para:
iptables -t nat -A PREROUTING -i $REDE_INTERNA -s \! IP_USER -p tcp -m multiport --dport 80,443 -j REDIRECT --to-port 3128
esse IP_USER nao passa mais pelo proxy, sai direto, ou se ainda eu fizer isso antes das regras de redirecionamento:
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.97/32 -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.33/32 -p tcp -m multiport --dport 80,443 -j ACCEPT
os ip 97 e 33 tambem nao passarão pelo proxy.
Até aqui tudo bem, agora eu coloquei essa analise acima para discutir basicamente o contrario:
na minha rede, temos um servidor onde roda um ERP, e o splash de logon do sistema, usa o html para iniciar o sistema, sendo que em todas as estações onde tem o ERP instalado sempre aparece no report do sarg o acesso ao servidor, causando problemas, pois se o proxy estiver interrompido por algum motivo, ou desligado ou mesmo sem link de internet, ninguem consegue acessar o sistema, que está em um servidor dentro da rede. Eu coloquei nos navegadores para nao usar proxy para endereços internos e mais, especifiquei esses endereços na guia avançado.
Ao verificar com tail, percebi que ele abre usando o endereço
http://192.168.1.1/sistema.etc.tal. o mesmo ocorre sempre nas maquinas da rede interna, sempre tem lá no relatorio as maquinas internas acessando suas vizinhas, tudo internamente, usando o mesmo esquema: http://maquina/, assim eu peguei usando o tail: 192.168.1.87 TCP_MISS/503 1508 OPTIONS http://srvdados/ - DIRECT/srvdados text/html, confesso é a primeira vez q vejo isso, ja instalei muitos proxies e nenhum deles deu isso, podia desligar o servidor que internamente td permanecia funcionando.
Entao pensei em descobrir uma regra que permitisse o trafego interno nao passar pelo proxy, como seria a regra que exclui a estação do proxy, mas pensei tambem, que essa regra só funcionaria com o servidor ligado, caso ele fosse desligado por algum motivo, o tal sistema nao funcionaria, pois nao tem a regra do iptabls dizendo pra nao passar pelo proxy.
Mas de qualquer forma, se algum puder me ajudar com essa regra, nao sei como escreve-la, ja seria bom pra mim, pelo menos sei que mesmo sem internet ou sem squid, o povo conseguira´acessar o ERP. (claro com o server funcionando), e vou ver o que consigo descobrir, talvez mudar o gateway do servidor ERP etc..
agradeço seus comentarios e desculpa pelo tamanho do post e pra adiantar vou mandar meu script de firewall para voces analisarem, sei que precisarão dele.
#/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/etc/init.
INTERNET="eth0"
REDE_INTERNA="eth1"
## PORTA PARA INPUT E OUTPUT DE SERVIÃS ( liberadas )
TCP_PORT="443,80,3128,20,21,1863,33434,25,110,6088,2631,5900,4899,1449"
UDP_PORT="80,443,53,25,110,60712"
VNC="5900"
RADMIN="4899"
EMULE_TCP="6088"
EMULE_UDP="60712"
#CAIXA_PORT="2631"
#VPN="1723"
CAIXA_01="200.201.174.204"
CAIXA_02="200.201.174.207"
# fazer NAT de forma que haja compartilhamento na conexao
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
### utlizado nas opçs que geram log.
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
### Zerar regras
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.97/32 -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.33/32 -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -t nat -A PREROUTING -i $REDE_INTERNA -p tcp -m multiport --dport 80,443 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o $INTERNET -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "[OK]"
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
# ACESSO REMOTO VIA WTS
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 3389 -i eth0 -j DNAT --to 192.168.1.253
iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 3389 -i eth1 -j DNAT --to 192.168.1.253
echo "ACESSO VIA WTS LIBERADO [OK]"
echo -n
#### Filtros - DROP nos pacotes TCP indesejáis
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL: NEW sem syn: "
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
#### ACCEPT (libera) pacotes de retorno da internet
iptables -A INPUT -i ! $INTERNET -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
### Permitir conexãvinda da minha rede interna:" que vem de dentro e quer sair" via vnc, ssh (putty), vpn
iptables -A INPUT -p tcp -s 0/0 -m multiport --dport $TCP_PORT -j ACCEPT
iptables -A OUTPUT -p tcp -d 0/0 -m multiport --sport $TCP_PORT -j ACCEPT
iptables -A INPUT -p udp -s 0/0 -m multiport --dport $UDP_PORT -j ACCEPT
iptables -A OUTPUT -p udp -d 0/0 -m multiport --sport $UDP_PORT -j ACCEPT
# PROBLEMAS COM NFE
iptables -t nat -A PREROUTING -p tcp -d 201.55.62.0/24 -j ACCEPT
iptables -A FORWARD -p tcp -d 201.55.62.0/24 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 201.55.62.86/32 -j ACCEPT
iptables -A FORWARD -p tcp -d 201.55.62.86/32 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 201.55.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -d 201.55.0.0/16 --dport 80 -j ACCEPT
#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 --dport 80 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
echo "Tudo [OK]"
abraços a todos.