Servidor - dhcp + firewall + proxy

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

tópico anterior - próximo tópico

lucascatani

Esse é o arquivo dhcpd.conf

authoritative;

default-lease-time 600;
max-lease-time 7200;

option domain-name-servers 192.168.0.1, 8.8.8.8;
option subnet-mask 255.255.255.0;

#COnfiguração do servidor dhcp
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.50 192.168.0.100;
  option routers 192.168.0.1;
  option broadcast-address 192.168.0.255;
}

#Especificar edereçco ip para determinado host através do MAC
#host fantasia{
#  hardware ethernet 08:00:07:04:c4:a3;
#  fixed-address fantasia.fugue.com;
#}


Esse é o arquivo do firewall
#!/bin/sh
echo "Ativando o Firewall"

#carrega os modulos
modprobe ip_tables
modprobe iptable_nat
echo "Modulos carregados"

#compartilha a conexao
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "Conexao ativada"

#Proxy transparente
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#echo "Proxy transparente ativado"

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

#protege contra pacotes danificados
#iptables -A FORWARD -m unclean -j DROP
#echo "Dropando pacotes danificados"

#Abrir portas
#iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT

#Abre a internet para a rede local distribuida na eth1
iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT

echo "Internet Ativa e compartilhada com eth1"

#Fecha o resto
iptables -A INPUT -p tcp --syn -j DROP

echo "Bloqueando tudo"

#Protecao contra ICMP Broadcasts - PC nao respondera a pings
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

echo "PC nao respode a pings"


echo "Firewall ativo"


Esse é o interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

#placa de saida
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255

lucascatani

Vou tentar ser mais claro.
- Quero bloquear tudo para TODOS.

- Num segundo momento quero liberar só a internet para determinado IP ou MAC.

- Num terceiro momento quero habilitar outros serviços somente para determinados ips (por exemplo ssh).

zekkerj

CitarQuero bloquear tudo para TODOS

Isso é fácil:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


Difícil é lidar com as consequências da política totalmente restritiva: somente os fluxos que vc liberar, explicitamente, em cada uma dessas cadeias, vão poder passar.
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

#18
Citação de: zekkerj online 28 de Abril de 2012, 17:41
CitarQuero bloquear tudo para TODOS

Isso é fácil:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


Difícil é lidar com as consequências da política totalmente restritiva: somente os fluxos que vc liberar, explicitamente, em cada uma dessas cadeias, vão poder passar.

Na imagem abaixo tem exatamente o que eu preciso fazer. Se tiver algumas dicas de como fazer isso eu agradeço muito.

zekkerj

O mesmo que eu recomendei pro outro colega: escreva suas necessidades, criando uma política de segurança. Depois traduza sua política em regras de iptables.
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

zekkerj

Citação de: lucascatani online 28 de Abril de 2012, 18:23
Na imagem abaixo tem exatamente o que eu preciso fazer. Se tiver algumas dicas de como fazer isso eu agradeço muito.
Essa imagem não estava antes... isso seria fácil de fazer com um switch gerenciável (e VLANs). Como você não tem um, sugiro que use placas de rede adicionais em seu servidor/firewall.

Outra coisa, não sei se vc percebeu, mas vc não tem 3 grupos, e sim dois. O grupo das estações LTSP não conta, porque elas não acessam a internet. Quem faz isso é o servidor LTSP. E se ele tem as mesmas permissões de acesso do grupo cabeado, então é o mesmo grupo, não?

Observo também que vc tem um roteador wireless oferecendo acesso pra um grupo de estações com menos privilégios. Já verificou se essas restrições que vc quer implantar não podem ser feitas no próprio roteador wireless?
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 29 de Abril de 2012, 19:28
Citação de: lucascatani online 28 de Abril de 2012, 18:23
Na imagem abaixo tem exatamente o que eu preciso fazer. Se tiver algumas dicas de como fazer isso eu agradeço muito.
Essa imagem não estava antes... isso seria fácil de fazer com um switch gerenciável (e VLANs). Como você não tem um, sugiro que use placas de rede adicionais em seu servidor/firewall.

Outra coisa, não sei se vc percebeu, mas vc não tem 3 grupos, e sim dois. O grupo das estações LTSP não conta, porque elas não acessam a internet. Quem faz isso é o servidor LTSP. E se ele tem as mesmas permissões de acesso do grupo cabeado, então é o mesmo grupo, não?

Observo também que vc tem um roteador wireless oferecendo acesso pra um grupo de estações com menos privilégios. Já verificou se essas restrições que vc quer implantar não podem ser feitas no próprio roteador wireless?

Na verdade o que me impede de colocar 2 placas de rede é a estrutura física do local. O cabo que sai do Firewall liga a um Switch, que a partir dele saem cabos para os 2 grupos de usuários. O ideal seria separar em 2 ou talvez 3 sub-nets. Mas infelizmente não tenho como.

O Roteador Wireless não me dá possibilidade de limitação de banda e controles, pensei em talvez criar regras (squid) para limitar a banda para o IP do ROteador wireless (que irá distribuir dhcp em outra faixa, diferente da rede interna). Seria a melhor solução para o meu problema?

Quanto ao servidor de terminal, ele acessa a internet com velocidade reduzida, mas não pode acessar os compartilhamentos da rede 2, que é a rede interna da empresa.

Outra coisa, que regras são realmente importantes para um firewall corporativo? Regras para proteger o servidor da empresa de ataques e acessos indevidos.(Além das que eu coloquei nos scripits acima)... Pois vou usar um proxy na mesma máquina para controle de acesso a websites e controle de banda.

zekkerj

CitarNa verdade o que me impede de colocar 2 placas de rede é a estrutura física do local. O cabo que sai do Firewall liga a um Switch, que a partir dele saem cabos para os 2 grupos de usuários. O ideal seria separar em 2 ou talvez 3 sub-nets. Mas infelizmente não tenho como.
Então não tem como você fazer o que quer.
Você quer que os grupos não se enxerguem; mas a única forma de fazer isso é colocá-los em domínios de broadcast diferentes. Você pode até colocar os grupos pra usarem faixas de sub-rede diferentes, mas não vai impedir que as estações se comuniquem, e pior, o tráfego de um grupo vai interferir no tráfego do outro.

Outro problema q vai ter é q não vai ser possível usar dhcp nos grupos, pois o sistema não terá como distinguir um grupo do outro pelo domínio de broacast.
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 01 de Maio de 2012, 19:21
CitarNa verdade o que me impede de colocar 2 placas de rede é a estrutura física do local. O cabo que sai do Firewall liga a um Switch, que a partir dele saem cabos para os 2 grupos de usuários. O ideal seria separar em 2 ou talvez 3 sub-nets. Mas infelizmente não tenho como.
Então não tem como você fazer o que quer.
Você quer que os grupos não se enxerguem; mas a única forma de fazer isso é colocá-los em domínios de broadcast diferentes. Você pode até colocar os grupos pra usarem faixas de sub-rede diferentes, mas não vai impedir que as estações se comuniquem, e pior, o tráfego de um grupo vai interferir no tráfego do outro.

Outro problema q vai ter é q não vai ser possível usar dhcp nos grupos, pois o sistema não terá como distinguir um grupo do outro pelo domínio de broacast.

Se não tem jeito vou ter que colocar mais placas de rede. Colocando mais placas de rede o que você me sugere?

zekkerj

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 02 de Maio de 2012, 13:30
Separar as redes fisicamente.

Colocando 2 placas de rede e criando 2 subnets eu já faço isso, correto? Posso utilizar as mesmas políticas do squid para as 2 placas? ou reaproveitar?

zekkerj

Não, vc precisa separar as redes fisicamente. As duas placas de rede não podem ir para o mesmo switch, e não pode haver cabo ligando esses dois switches.
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 03 de Maio de 2012, 12:07
Não, vc precisa separar as redes fisicamente. As duas placas de rede não podem ir para o mesmo switch, e não pode haver cabo ligando esses dois switches.

Claro, isso eu entendi, me refiro ao fluxo entrante da rede1 e da rede2. Nas configurações do firewall e proxy.

zekkerj

A partir do momento em que as redes estejam separadas, cada uma vai ser atribuída uma sub-rede. Você então vai ter que adaptar a configuração do seu firewall e do seu squid pra lidar com essas duas faixas de endereços.
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

gostaria de uma explicação sobre essas regras:

REDEMASQ=192.168.0.0/24

iptables -P FORWARD DROP

iptables -A FORWARD -o eth1 -m state --state NEW,INVALID -j DROP

iptables -A FORWARD -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i eth1 -s $REDEMASQ -j ACCEPT

iptables -A FORWARD -j DROP

iptables -A INPUT -j DROP

iptables -A FORWARD -o eth1 -p tcp -m multiport --dports 80,8080 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 445,139 -j ACCEPT