Servidor - dhcp + firewall + proxy

Iniciado por lucascatani, 20 de Abril de 2012, 16:15

tópico anterior - próximo tópico

lucascatani

Pessoal, bom dia. Apesar da enxurrada de tutorias disponíveis na internet, gostaria de esclarecer algumas dúvidas.

Situação: Preciso criar um servidor linux (ubuntu server 11.10) que:

1 - Com 2 placas de rede, "receba" internet do modem por uma delas (192.168.1.50), e pela outra distribua internet para a rede.

2 - Essa placa que distribui a internet também deve distribuir ips para a rede interna. (Faixa 10.1.1.X).


3 - O firewall deve bloquear por padrão tudo, menos para determinados IPS (que eu preferia controlar por MAC)

4 - O Proxy vai ser transparente, e vai fazer cache.

Alguma dica pessoal? Podemos ir por partes, para ficar mais fácil.

O que devo configurar primeiro?

Muito obrigado!

cpaynes

#1
Olá,

na minha opinião a partir de um tutorial você instalaria um Ubuntu-Server em um micro com duas placas de redes e de acordo com as tuas
dúvidas iria solicitando ajuda!

1 - instala o Linux
2 - Configura as placas de rede e  instala e configura um DHCP, tem diversos tutoriais sobre isto.
3 - Habilita o roteamento entre as placas de redes echo "1" /proc/sys/net/ipv4/ip_forward
4 - Procura sobre firewall iptables, tem diversos scripts prontos
5 - depois queestiver funcionando instala e configura o Squid.

Abraços

lucascatani

Muito obrigado. Consegui fazer o DHCP funcionar e compartilhar a a internet para outros computadores. Agora vamos aos bloqueios.
Essa regra dá a seguinte mensagem:
regra: iptables -A FORWARD -m unclean -j DROP erro
mensagem: No chain/target/match by that name

Abraço!

cpaynes

Amigo, use o modulo INVALID para pacotes mal formados/invalidos

iptables -t filter -A FORWARD -m state --state INVALID -j DROP

zekkerj

Não é a mesma coisa, mas dá pro gasto. O módulo unclean seria voltado pra pacotes usando opções inconsistentes, tipo um TCP SYN junto com um RST e/ou FIN.

Já o estado inválido do módulo state é para descartar qualquer pacote passando por conexões que não foram oficialmente abertas. Note que a conexão pode estar nesse estado simplesmente pq foi aberta antes do firewall ser ativado.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

lucascatani

Citação de: zekkerj online 25 de Abril de 2012, 10:05
Não é a mesma coisa, mas dá pro gasto. O módulo unclean seria voltado pra pacotes usando opções inconsistentes, tipo um TCP SYN junto com um RST e/ou FIN.

Já o estado inválido do módulo state é para descartar qualquer pacote passando por conexões que não foram oficialmente abertas. Note que a conexão pode estar nesse estado simplesmente pq foi aberta antes do firewall ser ativado.

o que fazer então para tratar os pacotes nesse estado? além do que o amigo postou acima?

lucascatani

Já vou adiantando as perguntas:

1 - Preciso de uma regra que bloqueie o acesso a internet para todas as máquinas da rede, exceto as que eu quiser liberar (POR MAC).

2 - Preciso de uma regra que libere determinado website para todos da rede.

zekkerj

Lembro de ter visto um script aqui no fórum pra fazer liberação por MAC address. Dá uma pesquisada...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

lucascatani

#8
Citação de: zekkerj online 25 de Abril de 2012, 23:32
Lembro de ter visto um script aqui no fórum pra fazer liberação por MAC address. Dá uma pesquisada...

Então preciso de um só pra isso
1 - Preciso de uma regra que bloqueie o acesso a internet para todas as máquinas da rede, exceto para o ip 192.168.0.55

lucascatani

E ainda não achei o motivo desse erro, em todos os scripts de firewall tem essa regra

regra: iptables -A FORWARD -m unclean -j DROP
mensagem: erro No chain/target/match by that name

zekkerj

No seu não tem, ué. Nem todos os iptables implementam o módulo "unclean". Vida que segue, isso é detalhe.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

lucascatani

Citação de: zekkerj online 26 de Abril de 2012, 09:40
No seu não tem, ué. Nem todos os iptables implementam o módulo "unclean". Vida que segue, isso é detalhe.

Pois é, estou tentando saber o pq do erro, se é algo que mudou na versão atual do iptables, pq em termos de segurança não dá para deixar porisso e segue o baile.

Vamos lá então. E essa?
1 - Preciso de uma regra que bloqueie o acesso a internet para todas as máquinas da rede, exceto para o ip 192.168.0.55


zekkerj

Citação de: lucascatani online 26 de Abril de 2012, 11:20
Citação de: zekkerj online 26 de Abril de 2012, 09:40
No seu não tem, ué. Nem todos os iptables implementam o módulo "unclean". Vida que segue, isso é detalhe.

Pois é, estou tentando saber o pq do erro, se é algo que mudou na versão atual do iptables, pq em termos de segurança não dá para deixar porisso e segue o baile.
Você não está baseando seu firewall todo na existência dessa regra, está? Esse módulo "unclean" era considerado experimental e não é obrigatório. E pra ser sincero, isso aí é apenas um detalhe, um pequeno plus. A influência dessa regra pra qualidade do firewall é zero.

Citar
Vamos lá então. E essa?
1 - Preciso de uma regra que bloqueie o acesso a internet para todas as máquinas da rede, exceto para o ip 192.168.0.55
O que vc já tem feito?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

lucascatani

Citação de: zekkerj online 26 de Abril de 2012, 12:34
Citação de: lucascatani online 26 de Abril de 2012, 11:20
Citação de: zekkerj online 26 de Abril de 2012, 09:40
No seu não tem, ué. Nem todos os iptables implementam o módulo "unclean". Vida que segue, isso é detalhe.

Pois é, estou tentando saber o pq do erro, se é algo que mudou na versão atual do iptables, pq em termos de segurança não dá para deixar porisso e segue o baile.
Você não está baseando seu firewall todo na existência dessa regra, está? Esse módulo "unclean" era considerado experimental e não é obrigatório. E pra ser sincero, isso aí é apenas um detalhe, um pequeno plus. A influência dessa regra pra qualidade do firewall é zero.

Citar
Vamos lá então. E essa?
1 - Preciso de uma regra que bloqueie o acesso a internet para todas as máquinas da rede, exceto para o ip 192.168.0.55
O que vc já tem feito?
O dhcp está pronto distribuindo na faixa 192.168.0.50 até 192.168.0.100
o firewall está com alguns bloqueios contra ataques e compartilhando a internet com toda e qualquer máquina da rede.

CitarA influência dessa regra pra qualidade do firewall é zero.
Era isso que eu queria ouvir..

cpaynes