liberar unico site:porta externo para todos da rede local

1. liberar unico site:porta externo para todos da rede local

Eduardo
dufixtech

(usa Debian)

Enviado em 26/09/2010 - 13:44h

Olá Galera! Estou com um duvida e gostaria da ajuda de vocês. Tenho um servidor com proxy transparente por autenticação instalado (roteador-eth1:servidor:eth0-rede interna). Nessa autenticação temos 3 níveis de usuários:

1-acesso irrestrito
2-bloqueado para alguns sites
3-liberado para alguns sites

Até aqui funciona tudo perfeitamente. Meu problema está nas regras do firewall:
preciso que todos os usuários da rede interna, pois uma aplicação exclusiva que acessa através do http (porta 80) acessem dois ips e portas expecíficos (ex: fixtech.homelinux.com:8000 e fixtech.homelinux.com:8001)localizados na internet (fora da rede local)
o que devo usar no meu firewall? FORWARD, PREROUTING ou POSTROUTING? poderiam me dar um exemplo? É possivel liberar um endereço ip fora da rede e acessar via http diretamente a porta desse endereço? (ex.: fixtech.homelinux.com:8000 como está na configuracao abaixo em #1#?)

segue minhas regras de firewall

#!/bin/bash

#Ativa modulos
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_contrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE

# Abre para faixa de endereços da rede local
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT

# Libera site especifico por fora do proxy
#####ESTA LINHA Q NAO SEI COMO IMPLEMENTAR########

#1#
#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.1.0/24 -d fixtech.homelinux.com --dport 80 -j DNAT --to fixtech.homelinux.com:8000

#2#
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -d fixtech.homelinux.com -j RETURN

# Redireciona a porta 80 para o squid com iptables
iptables -t nat -A PRETOUTING -s 192.168.1.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Libera portas
iptables -A INPUT -p tcp --dport 22-j ACCEPT
#iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
#iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# Rejeitar o resto e criar log
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

# Ignora pings:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

#Proteje contra IP spoofing:
echo 1 > /prc/sys/net/ipv4/conf/default/rp_filter

#Descarta pacotes malformados, protegendo contra ataques diversos
iptables -A INPUT -m state --state INVALID -j DROP

#Abre para interface loopback
iptables -A INPUT -i lo -j ACCEPT

#impede a abertura de novas conexoes, efetivamente blqueando o acesso
#externo ao servidor, com excecao das portas e faixas de enderecos
#especificadas anteriormente
iptables -A INPUT -p tcp --syn -j DROP



Agradeço desde já!


  


2. liberar unico site:porta externo para todos da rede local

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/09/2010 - 19:26h

iptables -t nat -I PREROUTING -i eth0 -p tcp -d www.uol.com.br --dport 80 -j ACCEPT

Essa regra faz com que você acesse uol por fora do proxy.
Mas eu não entendi muito bem sua pergunta. Explique melhor por favor.


3. liberar unico site:porta externo para todos da rede local

Eduardo
dufixtech

(usa Debian)

Enviado em 26/09/2010 - 19:52h

fala aí rafaelrsr, obrigado pela ajuda!
Nesta regra que você passou:

iptables -t nat -I PREROUTING -i eth0 -p tcp -d www.uol.com.br --dport 80 -j ACCEPT

desculpe minha ignorância, mas o que você quer dizer com acessar por fora do proxy?

Se eu tenho um proxy autenticado, para as estações se conectarem na internet, elas tem que passar pelo proxy, não? Se eu colocar essa regra quando abrir o Mozilla numa estação de trabalho e digitar www.uol.com.br ele nao vai me pedir login e senha?

para esta regra que você mencionou nao existe a possibilidade de eu especificar a porta juntamente com o site, né? ficando assim:

iptables -t nat -I PREROUTING -i eth0 -p tcp -d fixtech.homelinux.com:8000 --dport 80 -j ACCEPT

Bom vou tentar explicar melhor a situacao, o esquema seria este:

[estacao de trabalho] aplicação sai pela porta 80 --- [servidor proxy squid/firewall] porta 3128 --- [router] --- [internet] --- [fixtech.homelinux.com:8000]

obrigado



4. liberar unico site:porta externo para todos da rede local

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/09/2010 - 16:56h

pelo o que entendi você tem um proxy rodando na porta 3128 e quer acessar um site na porta 80, se for isso a minha regra acho que ajuda agora se não for ai me explica melhor por favor.
Abraço


5. liberar unico site:porta externo para todos da rede local

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/09/2010 - 16:59h

Quando eu falo passar por fora do proxy quero dizer que após você iniciar o squid toda requisição na porta 80 passa para a porta 3128. Passar por fora quero dizer que posso estabelecer regras como a que te mandei e passar por fora da porta 3128.


6. liberar unico site:porta externo para todos da rede local

Rither Nascimento
rither

(usa Red Hat)

Enviado em 27/09/2010 - 17:10h

Cara, creio que a solução mais facil no seu caso seria a criação de uma nova ACL no squid permitindo TODOS ou um grupo especifico acessar esse site.



7. iberar unico site:porta externo para todos da rede local

Eduardo
dufixtech

(usa Debian)

Enviado em 27/09/2010 - 22:55h

Obrigado a ajuda de todos.
Bom acho q eu nao soube explicar direito mesmo.... mas é simples... tenho um servidor com proxy squid instalado com 3 niveis de usuario: 1 - acesso total, 2 - bloqueado para alguns sites, 3 - acesso somente aos sites liberados. Tenho uma aplicação que se comunica via http e que todos da rede utilizam. Essa aplicação precisa ter acesso irrestrito ao endereço fixtech.homelinux.com na porta 8000 e acesso irrestrito ao endereço fixtech.homelinux.com na porta 8001.

Segue o que meu chefe pediu:

" Srs.

Precisamos que facam os seguintes ajustes:

1 - Liberar o endereco: ( fixtech.homelinux.com ) na porta 8000
2 - Liberar o endereco: ( fixtech.homelinux.com ) na porta 8001 "

Valeu



8. Re: liberar unico site:porta externo para todos da rede local

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/09/2010 - 13:57h

Bom acredito que seu squid faça bloqueios por sites e palavras e que também tenha o arquivo txt com as palavras liberadas. Então se tiver acrescente os 2 sites que você quer liberar e crie a regra de acesso liberado para esses dois sites. No squid temos também as safe ports que são as portas seguras tipo a 443, 8080 dai você acrescenta as portas 8000 e 8001 e libera as safe ports se já não estiverem liberadas. Isso no squid acho que vai resolver seu problema.

No iptables você deve liberar as portas e os sites para a rede como no exemplo abaixo:

iptables -A FORWARD -p tcp -m multiport --dport 8000-8001 -j ACCEPT
iptables -A FORWARD -s (ip da rede) -d (site que vc quer) -m multiport --dport 8000-8001 -j ACCEPT

Mas você precisa ver se não tenha nenhuma regra que cancele essas ai.




9. Re: liberar unico site:porta externo para todos da rede local

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/09/2010 - 14:02h

E ai resolveu????


10. liberar unico site:porta externo para todos da rede local

Eduardo
dufixtech

(usa Debian)

Enviado em 30/09/2010 - 14:14h

Fala rafaelrsr

ainda nao resolvi nao! o programa retorna um socket error...
Hj vou tentar rodar novamente e retorno o access.log do squid

Agradeço pela ajuda!


11. liberar unico site:porta externo para todos da rede local

Eduardo
dufixtech

(usa Debian)

Enviado em 30/09/2010 - 14:22h

a... só uma coisa... ao adicionar essas linhas o firewall voltou um erro referente ao multiport (vendo o help das iptables substitui 8000-8001 por 8000,8001) ficando da seguinte maneira:
iptables -A FORWARD -p tcp -m multiport --dport 8000,8001 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/255.255.255.0 -p tcp -d fixtech.homelinux.com -m multiport --dport 8000,8001 -j ACCEPT

mas mesmo assim ele dá esse "socket error"

no squid alem de adicionar na safe port coloquei a seguinte regra:

##### libera fixtech.homelinux.com ####
acl Fixtech dstdomain fixtech.homelinux.com
always_direct allow Fixtech

é só isso mesmo né?

Valeu!!!


12. Re: liberar unico site:porta externo para todos da rede local

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/09/2010 - 17:44h

Sim isso libera no iptables porta por porta as vezes a regra da multi porta que passei estaja errada. Abraço



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts