Fórum Ubuntu Linux - PT

Suporte Técnico => Servidores => Tópico iniciado por: lucascatani em 20 de Abril de 2012, 16:15

Título: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 20 de Abril de 2012, 16:15
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!
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 20 de Abril de 2012, 17:36
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
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 24 de Abril de 2012, 13:13
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!
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 24 de Abril de 2012, 18:02
Amigo, use o modulo INVALID para pacotes mal formados/invalidos

iptables -t filter -A FORWARD -m state --state INVALID -j DROP
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 25 de Abril de 2012, 13:36
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?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 25 de Abril de 2012, 14:17
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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 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...
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 26 de Abril de 2012, 09:16
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
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 26 de Abril de 2012, 09:17
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
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 26 de Abril de 2012, 11:20
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

Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 26 de Abril de 2012, 12:34
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?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 26 de Abril de 2012, 13:44
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.

Citar
A influência dessa regra pra qualidade do firewall é zero.
Era isso que eu queria ouvir..
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 26 de Abril de 2012, 14:21
posta seu script de firewall
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 26 de Abril de 2012, 14:58
Esse é o arquivo dhcpd.conf

Código: [Selecionar]
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
Código: [Selecionar]
#!/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
Código: [Selecionar]
# 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
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 28 de Abril de 2012, 15:08
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).
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 28 de Abril de 2012, 17:41
Citar
Quero 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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 28 de Abril de 2012, 18:23
Citar
Quero 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.
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fwww.l9web.com.br%2F_PUB%2Frede1.png&hash=ea4f08f0e0bbe06767882cbca2fdafcddefb3a85)
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 28 de Abril de 2012, 18:41
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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 29 de Abril de 2012, 19:28
Na imagem abaixo tem exatamente o que eu preciso fazer. Se tiver algumas dicas de como fazer isso eu agradeço muito.
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fwww.l9web.com.br%2F_PUB%2Frede1.png&hash=ea4f08f0e0bbe06767882cbca2fdafcddefb3a85)
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?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 01 de Maio de 2012, 17:17
Na imagem abaixo tem exatamente o que eu preciso fazer. Se tiver algumas dicas de como fazer isso eu agradeço muito.
(https://ubuntuforum-pt.org/proxy.php?request=http%3A%2F%2Fwww.l9web.com.br%2F_PUB%2Frede1.png&hash=ea4f08f0e0bbe06767882cbca2fdafcddefb3a85)
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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 01 de Maio de 2012, 19:21
Citar
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.
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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 02 de Maio de 2012, 13:09
Citar
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.
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?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 02 de Maio de 2012, 13:30
Separar as redes fisicamente.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 03 de Maio de 2012, 10:06
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?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 03 de Maio de 2012, 19:36
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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 03 de Maio de 2012, 20:53
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.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 04 de Maio de 2012, 15:03
gostaria de uma explicação sobre essas regras:

Código: [Selecionar]
REDEMASQ=192.168.0.0/24
Código: [Selecionar]
iptables -P FORWARD DROP
Código: [Selecionar]
iptables -A FORWARD -o eth1 -m state --state NEW,INVALID -j DROP
Código: [Selecionar]
iptables -A FORWARD -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
Código: [Selecionar]
iptables -A FORWARD -i eth1 -s $REDEMASQ -j ACCEPT
Código: [Selecionar]
iptables -A FORWARD -j DROP
Código: [Selecionar]
iptables -A INPUT -j DROP
Código: [Selecionar]
iptables -A FORWARD -o eth1 -p tcp -m multiport --dports 80,8080 -j ACCEPT
Código: [Selecionar]
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 445,139 -j ACCEPT
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 04 de Maio de 2012, 21:24
Vamos la:

Citar
REDEMASQ=192.168.0.0/24

Aqui não e uma regra, você esta alocando uma variável com o valor da faixa de rede 192.168.0.0 na mascara de rede 255.255.255.0, isso poderá ser utilizado futuramente nas regras do seu firewall, um exemplo seria, iptables -A FORWARD - i PLACAINTERNA -o PLACA EXTERNA -s $REDEMASQ -j ACCEPT, assim você libera o acesso  que passa pelo teu server que entra da rede interna com saída para a externa e que tiver origem da rede que você setou na variável REDEMASQ


Citar
iptables -P FORWARD DROP

Aqui você especifica a politica padrão da cadeia FORWARD como DROP, não sai nada! a partir disso você necessita liberar o que deve sair pelo teu firewall


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

Aqui você esta dropando os pacotes inválidos que passam pelo teu servidor, remove o NEW, dependendo como esta a politica do teu firewall nada vai sair e adiciona a placa de rede que entra estes pacotes EX:
iptables -A FORWARD -i eth0 -o eth1 -m state --state INVALID -j DROP


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

Aqui você esta garantindo que as conexões que saírem pelo teu firewall tenham o seu retorno garantido, sem precisar criar as regras de retorno para esses pacotes, inclusive os pacotes que tenham alguma relação com estas conexões, também adicione a placa de rede que entra estes pacotes EX:
 
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

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

Aqui segue o primeiro exemplo que te disse  você esta aceitando, todos pacotes que passam pelo teu servidor que possuem origem da rede 192.168...., adiciona a placa de rede que sai estes pacotes EX:

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



Citar
iptables -A FORWARD -j DROP

Aqui esta dizendo esta dropando todos pacotes que passam pelo teu server, cuidado, pois tudo que estiver liberado na cadeia FORWARD apos esta regra, vai acabar sendo barrada pelo teu firewall, pois lembre-se que ele lê as regras de cima para baixo!

Citar
iptables -A INPUT -j DROP

Aqui esta dropando todos os pacotes que entram no teu firewall


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

Aqui você libera a porta 80 e 8080 no protocolo tcp, que passam pelo teu server, adiciona a placa de rede que entra estes pacotes EX:
iptables -A FORWARD -i eth1 -o eth1 -p tcp -m multiport --dports 80,8080 -j ACCEPT


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

E aqui você esta aceitando conexões provenientes das portas 445,139  no protocolo tcp pela tua interface eth0

Aconselho que você de uma olhada neste link http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html, tem uma documentação muito boa
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 09:09
Muito obrigado cpaynes, excelente explicação, assim como as do zekkerj. Estou usando um script de firewall que achei aqui http://www.vivaolinux.com.br/artigo/Firewall-Proxy-%28solucao-completa%29?pagina=5

mas não consegui entender a função dessas variáveis

Variáveis\
GW="200.x.x.1"
IP_EXT="200.x.x.7"
REDE="10.0.0.0/32"

e da erro nessa regra também (BAD ARGUMENT 0.0.0.0/0)

iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -s $REDE -j SNAT --to $IP_EXT


Se tiver um tempinho de olhar fico grato! Um abraço e bom final de semana!
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 05 de Maio de 2012, 10:34
A função das variáveis é pra vc poder ajustar o script pra tua configuração, sem ter que ficar fuçando em cada uma das regras.

Quanto ao erro, é um erro menor, comum: o endereço "0.0.0.0/0" significa "qualquer endereço". Quando vc filtra por "qualquer endereço", é a mesma coisa que "não filtrar". Então toda essa parte "-d 0.0.0.0/0" é desnecessária, basta retirar da linha.

Aliás, se isso aparecer no resto do script ("-d 0.0.0.0/0", "-d 0/0", "-s 0.0.0.0/0" ou "-s 0/0"), pode tirar também.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 12:47
A função das variáveis é pra vc poder ajustar o script pra tua configuração, sem ter que ficar fuçando em cada uma das regras.

Quanto ao erro, é um erro menor, comum: o endereço "0.0.0.0/0" significa "qualquer endereço". Quando vc filtra por "qualquer endereço", é a mesma coisa que "não filtrar". Então toda essa parte "-d 0.0.0.0/0" é desnecessária, basta retirar da linha.

Aliás, se isso aparecer no resto do script ("-d 0.0.0.0/0", "-d 0/0", "-s 0.0.0.0/0" ou "-s 0/0"), pode tirar também.

Sim, as variáveis eu uso também, na verdade não entendi o que colocar na variavel IP_EXT ... O que a linha faz? Posso colocar qualquer ip? substituo os x?


Aproveitando...

#Setadas as políticas
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#liberar samba
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 445,139 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m multiport --dports 137,138 -j ACCEPT
#liberar ssh
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

#liberar internet para as estacoes
iptables -t nat - A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

A internet fica liberada para as estações, mas não para o próprio servidor. Como eu libero também para o servidor? Abraço!
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 05 de Maio de 2012, 13:31
IP_EXT parece ser o ip externo da conexão. Seria utilizado no caso de conexão com IP fixo. Mas não dá pra dizer qual seria o impacto de usar esse script numa conexão de IP dinâmico, sem ver o script completo.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 05 de Maio de 2012, 13:34
Vou postar mesmo assim, pois o Zekkerj, postou antes de mim ..

Citar
Sim, as variáveis eu uso também, na verdade não entendi o que colocar na variavel IP_EXT
voce precisa atribuir o endereco da tua interface de saida, deve ser um ip do teu modem ou que lhe foi fornecido pela operadora em caso de planos corporativos.


Citar
A internet fica liberada para as estações, mas não para o próprio servidor. Como eu libero também para o servidor

voce especificou os DNS da tua operadora no teu resolv.conf ?
vi /etc/resolv.conf

EX: DNS: nameserver 8.8.8.8

Citar
# Contra Syn-flood
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

esta linha esta no teu firewall, isso não protege contra synflood, com isso teu firewall poderá levar você a uma negação de serviço.
da uma olhada neste artigo sobre isto. Um excelente artigo do Elgio!
http://www.vivaolinux.com.br/artigo/Iptables-protege-contra-SYN-FLOOD/
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 13:38
IP_EXT parece ser o ip externo da conexão. Seria utilizado no caso de conexão com IP fixo. Mas não dá pra dizer qual seria o impacto de usar esse script numa conexão de IP dinâmico, sem ver o script completo.

Beleza. Vou abandonar aquele script pronto e trabalhar em um do zero.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 13:39
Vou postar mesmo assim, pois o Zekkerj, postou antes de mim ..

Citar
Sim, as variáveis eu uso também, na verdade não entendi o que colocar na variavel IP_EXT
voce precisa atribuir o endereco da tua interface de saida, deve ser um ip do teu modem ou que lhe foi fornecido pela operadora em caso de planos corporativos.


Citar
A internet fica liberada para as estações, mas não para o próprio servidor. Como eu libero também para o servidor

voce especificou os DNS da tua operadora no teu resolv.conf ?
vi /etc/resolv.conf

EX: DNS: nameserver 8.8.8.8

Citar
# Contra Syn-flood
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

esta linha esta no teu firewall, isso não protege contra synflood, com isso teu firewall poderá levar você a uma negação de serviço.
da uma olhada neste artigo sobre isto. Um excelente artigo do Elgio!
http://www.vivaolinux.com.br/artigo/Iptables-protege-contra-SYN-FLOOD/


está ficando bloqueado por causa do INPUT DROP, gostaria de saber a regra para liberar, se eu colocar iptables -A INPUT ACCEPT funciona... mas quero que pro padrão seja drop...


Segue meu script de firewall do zero, sem os bloqueios contra DOS, etc,

Código: [Selecionar]
#!/bin/bash

INTERNET="eth1"
REDELOCAL="eth0"


modprobe ip_tables
modprobe iptable_nat

# Politica padrao
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Liberando Samba
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 139,445 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 137,138 -j ACCEPT
# Liberando ssh
iptables -A INPUT -i $REDELOCAL -p tcp --dport 22 -j ACCEPT


# Compartilhando a internet com a REDELOCAL
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 05 de Maio de 2012, 13:42
Citar
está ficando bloqueado por causa do INPUT DROP, gostaria de saber a regra para liberar, se eu colocar iptables -A INPUT ACCEPT funciona... mas quero que pro padrão seja drop...
Inclui isto no teu firewall abaixo da politica padrão
Melhor especificar todas politicas DROP
e ir liberando o que precisa

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


Citar
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 139,445 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 137,138 -j ACCEPT
Transforma isso em uma regra apenas,
#samba
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 137,138,139,445 -j ACCEPT

Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 13:59
Citar
está ficando bloqueado por causa do INPUT DROP, gostaria de saber a regra para liberar, se eu colocar iptables -A INPUT ACCEPT funciona... mas quero que pro padrão seja drop...
Inclui isto no teu firewall abaixo da politica padrão
Melhor especificar todas politicas DROP
e ir liberando o que precisa

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


Citar
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 139,445 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 137,138 -j ACCEPT
Transforma isso em uma regra apenas,
#samba
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 137,138,139,445 -j ACCEPT



A do Samba é udp a linha de baixo, erro de digitação..

Com as regras acima a internet não funciona, qual a regra para liberar a navegação, tanto nas estações quanto no servidor?

Te agradeço muito cara, estou aprendendo muito com a ajuda de vocês.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 05 de Maio de 2012, 14:02
Nao estao saindo porque voce nao especificou as regras de FORWARD das portas que necessita sair
EX porta 80 HTTP:
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 80 -j ACCEPT

EX porta SSH 22
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT

e assim por diante
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 14:06
Nao estao saindo porque voce nao especificou as regras de FORWARD das portas que necessita sair
EX porta 80 HTTP:
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 80 -j ACCEPT

EX porta SSH 22
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT

e assim por diante

Entendido. Agora eu quero integrar com o squid. Já tenho o squid configurado (meia-boca). Vou optar por colocar nos navegadores o proxy manualmente. Gostaria que não funcionasse nada se o cara não tiver o proxy no navegador.

Alguma luz do que fazer?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 05 de Maio de 2012, 14:11
Citar
Agora eu quero integrar com o squid. Já tenho o squid configurado (meia-boca). Vou optar por colocar nos navegadores o proxy manualmente. Gostaria que não funcionasse nada se o cara não tiver o proxy no navegador.
insere esta regra antes dos FORWARD's

iptables -t nat -A PREROUTING -i $REDELOCAL -p tcp --dport 80 -j REDIRECT --to-port 3128
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 14:16
Citar
Agora eu quero integrar com o squid. Já tenho o squid configurado (meia-boca). Vou optar por colocar nos navegadores o proxy manualmente. Gostaria que não funcionasse nada se o cara não tiver o proxy no navegador.
insere esta regra antes dos FORWARD's

iptables -t nat -A PREROUTING -i $REDELOCAL -p tcp --dport 80 -j REDIRECT --to-port 3128


Assim ele vai ficar transparente, eu quero que quem não colocar no navegador o proxy não consiga acessar a internet.


Outra coisa, meu firewall até agora (ainda não libera a internet)
Código: [Selecionar]
#!/bin/bash

INTERNET="eth1"
REDELOCAL="eth0"


modprobe ip_tables
modprobe iptable_nat

# Politica padrao
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Politicas da rede ou pessoais
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando http e https
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 8080 -j ACCEPT

# Liberando o ssh
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT

# Liberando Samba
iptables -A INPUT -i $REDELOCAL -p tcp -m multiport --dports 139,445 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p udp -m multiport --dports 137,138 -j ACCEPT
# Liberando ssh
iptables -A INPUT -i $REDELOCAL -p tcp --dport 22 -j ACCEPT


# Compartilhando a internet com a REDELOCAL
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# Liberando a internet no servidor

Uma pergunta besta. Qual a diferenca dessas 2 regras
Código: [Selecionar]
# Liberando o ssh
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT
Código: [Selecionar]
iptables -A INPUT -i $REDELOCAL -p tcp --dport 22 -j ACCEPT
 ???
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 05 de Maio de 2012, 14:38
Citar
Assim ele vai ficar transparente, eu quero que quem não colocar no navegador o proxy não consiga acessar a internet.

Isso você limita no teu proxy com parâmetros de Auth

Citar
# Liberando o ssh
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p tcp --dport 22 -j ACCEPT

Simples:
Na cadeia FORWARD você especifica as conexoes que passam pelo teu firewall para fora ou para dentro
Na cadeia INPUT você aceita conexões diretamente ao teu host
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 14:52
Citar
Assim ele vai ficar transparente, eu quero que quem não colocar no navegador o proxy não consiga acessar a internet.

Isso você limita no teu proxy com parâmetros de Auth

Citar
# Liberando o ssh
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p tcp --dport 22 -j ACCEPT

Simples:
Na cadeia FORWARD você especifica as conexoes que passam pelo teu firewall para fora ou para dentro
Na cadeia INPUT você aceita conexões diretamente ao teu host

as regras de FORWARD da porta 80 e 8080 não funcionaram. Alguma dica?

FORWARD tem q vir antes do input ou depois, ou nao muda nada?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 15:30
Citar
Assim ele vai ficar transparente, eu quero que quem não colocar no navegador o proxy não consiga acessar a internet.

Isso você limita no teu proxy com parâmetros de Auth

Citar
# Liberando o ssh
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i $REDELOCAL -p tcp --dport 22 -j ACCEPT

Simples:
Na cadeia FORWARD você especifica as conexoes que passam pelo teu firewall para fora ou para dentro
Na cadeia INPUT você aceita conexões diretamente ao teu host

as regras de FORWARD da porta 80 e 8080 não funcionaram. Alguma dica?

FORWARD tem q vir antes do input ou depois, ou nao muda nada?

Achei, tem liberar o DNS também

Código: [Selecionar]
iptables -A FORWARD -i $REDELOCAL -o $INTERNET -p udp -m multiport --dports 53,5353 -j ACCEPT
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 05 de Maio de 2012, 15:39
Somente a questão do SQUID ainda não está muito clara. Preciso que:

1 - Se o usuário não colocar o proxy no navegador, não consiga navegar nem em http e nem em https >:(

2 - Se o usuário não colocar o proxy no navegador, possa utilizar o compartilhamento samba da rede e o ssh normalmente ;D

3 - Se o usuário colocar o proxy no navegador, todas suas requisições passem pelo SQUID, sem usuário e senha. ::)
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 05 de Maio de 2012, 18:31
Citar
# Contra Syn-flood
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

esta linha esta no teu firewall, isso não protege contra synflood, com isso teu firewall poderá levar você a uma negação de serviço.
da uma olhada neste artigo sobre isto. Um excelente artigo do Elgio!
http://www.vivaolinux.com.br/artigo/Iptables-protege-contra-SYN-FLOOD/

Esse trecho é fácil de consertar, pq a regra está bem próxima do aceitável. Da forma como está, o firewall só vai aceitar um pacote tcp por segundo, independente da origem, e independente do tipo de pacote. Precisamos melhorar essa regra:
1. Essencial: Só limitar os pacotes de abertura de conexão ("TCP Syn").
2. Opcional: Aumentar a quantidade de novas conexões aceitas.
3. Opcional: Controlar os pedidos de conexão vindos da mesma origem.

Ao só limitar os pacotes de abertura de conexão, a gente não interfere nas conexões que já estão abertas. Isso é feito observando se o segmento TCP tem o flag "Syn" ligado. [opções "-p tcp --syn" na linha do iptables]

Outra coisa que se pode fazer é aumentar o limite de conexões aceitas; uma máquina atual aceita facilmente centenas de conexões por segundo. Podemos então mudar esse limite de "1/s" para "10/s" ou "100/s" sem medo da máquina ficar sobrecarregada.

Controlando as novas conexões vindas da mesma máquina, fica mais difícil um ataque de DoS --- apesar de não proteger contra um DDoS (se bem que contra um DDoS, só o provedor pode te ajudar). Nesse caso as regras são um pouco diferentes, pq vão envolver um outro módulo ("recent").
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 05 de Maio de 2012, 18:35
Somente a questão do SQUID ainda não está muito clara. Preciso que:

1 - Se o usuário não colocar o proxy no navegador, não consiga navegar nem em http e nem em https >:(
Mole: Bloqueie tudo que vá passar da rede interna pra externa.

iptables -A FORWARD -p tcp -j DROP

Depois libere só os acessos legítimos, tipo, correio eletrônico:

iptables -A FORWARD -p tcp --dport 25 -j ACCEPT

Só tenha cuidado que, apesar de eu ter dito "depois", a regra de liberação tem que vir antes, no script.

Citar
2 - Se o usuário não colocar o proxy no navegador, possa utilizar o compartilhamento samba da rede e o ssh normalmente ;D
Seu script de firewall só vai controlar o que passar pelo firewall; compartilhamentos samba da rede não passam pelo firewall, a menos que o servidor de arquivos seja justamente o firewall. Nesse caso, é um tráfego que está entrando (INPUT), não atravessando (FORWARD). É só incluir a liberação na cadeia correta.

Sobre o ssh... é pra liberar ssh no servidor, ou pra fora? ???

Citar
3 - Se o usuário colocar o proxy no navegador, todas suas requisições passem pelo SQUID, sem usuário e senha. ::)


iptables -A INPUT -p tcp --dport 3128 -j ACCEPT ;)

Ah!!! Informe-se sobre o WPAD. Assim o usuário não vai precisar colocar o proxy no navegador: basta selecionar "detectar automaticamente".
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 06 de Maio de 2012, 00:04
Citar
Outra coisa que se pode fazer é aumentar o limite de conexões aceitas; uma máquina atual aceita facilmente centenas de conexões por segundo. Podemos então mudar esse limite de "1/s" para "10/s" ou "100/s" sem medo da máquina ficar sobrecarregada.

zekkerj, mas limitar não seria furada? pois quem for a conexão numero 2, 11 ou 101 estará sendo dropada, mesmo que seja legitima!
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 06 de Maio de 2012, 09:49
No meio de um ataque DoS, um SynFlood, vc consegue diferenciar quem é legítimo, e quem não é?
Limitando a uma certa quantidade de tentativas de abertura de conexão por segundo da mesma origem, vc torna mais difícil bloquear sua máquina, e não impede máquinas legítimas de conectar.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 06 de Maio de 2012, 10:54
Somente a questão do SQUID ainda não está muito clara. Preciso que:

1 - Se o usuário não colocar o proxy no navegador, não consiga navegar nem em http e nem em https >:(
Mole: Bloqueie tudo que vá passar da rede interna pra externa.

iptables -A FORWARD -p tcp -j DROP

Depois libere só os acessos legítimos, tipo, correio eletrônico:

iptables -A FORWARD -p tcp --dport 25 -j ACCEPT

Só tenha cuidado que, apesar de eu ter dito "depois", a regra de liberação tem que vir antes, no script.

Citar
2 - Se o usuário não colocar o proxy no navegador, possa utilizar o compartilhamento samba da rede e o ssh normalmente ;D
Seu script de firewall só vai controlar o que passar pelo firewall; compartilhamentos samba da rede não passam pelo firewall, a menos que o servidor de arquivos seja justamente o firewall. Nesse caso, é um tráfego que está entrando (INPUT), não atravessando (FORWARD). É só incluir a liberação na cadeia correta.

Sobre o ssh... é pra liberar ssh no servidor, ou pra fora? ???

Citar
3 - Se o usuário colocar o proxy no navegador, todas suas requisições passem pelo SQUID, sem usuário e senha. ::)


iptables -A INPUT -p tcp --dport 3128 -j ACCEPT ;)

Ah!!! Informe-se sobre o WPAD. Assim o usuário não vai precisar colocar o proxy no navegador: basta selecionar "detectar automaticamente".
Bom dia. Meu servidor está rodando firewall + dhcp + proxy + samba + ssh.
O ssh é para as pessoas acessarem o servidor... tanto da rede externa quanto da rede interna.

Esse esquema da ordem das regras é um tanto confuso, pois diz-se que o interpretador lê de cima para baixo. MAs se eu fizer isso:

iptabbles Libere o ssh para o ip 192.168.0.2
iptables bloqueie tudo

Ele vai deixar liberado o ssh para o ip 192.168.0.2

Então na verdade, se pensarmos bem, a regra de baixo não prevalece sobre a de cima, a de cima prevalece. É ao contrário de um css por exemplo.

Mas se eu setar uma política padrão em cima, e uma liberaçao embaixo, ele libera, justamente ao contrario do exemplo anterior!!!!

iptables -P INPUT DROP
itables -A INPUT -p tcp --dport 80 -j ACCEPT

Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 06 de Maio de 2012, 11:33
Outra dúvida. Tem alguma necessidade em trabalhar com a política iptables -P OUTPUT DROP?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 06 de Maio de 2012, 12:21
Outra coisa, se eu quiser que um ip da rede, por exemplo 192.168.0.99 tenha tudo liberado e não precise passar pelo proxy, qual o regra e onde coloco ela?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 06 de Maio de 2012, 12:21
Citar
No meio de um ataque DoS, um SynFlood, vc consegue diferenciar quem é legítimo, e quem não é?
Limitando a uma certa quantidade de tentativas de abertura de conexão por segundo da mesma origem, vc torna mais difícil bloquear sua máquina, e não impede máquinas legítimas de conectar

Ai que ta Zekkerj, em um synflood envolve falsificação de números Ips e diversas máquinas atuando em conjunto, mesmo que limite a origem, essas serão sempre diferentes, mesmo que use o modulo recent nao conseguiria isso... Ligando a opção "echo 1 > /proc/sys/net/ipv4/tcp_syncookies", pois quando recebe o SYN, ele devolve o SYN/ACK mas apenas aloca os recursos do TCP quando  receber o ACK final..

Citar
Então na verdade, se pensarmos bem, a regra de baixo não prevalece sobre a de cima, a de cima prevalece. É ao contrário de um css por exemplo.
Mas se e setar uma política padrão em cima, e uma liberaçao embaixo, ele libera, justamente ao contrario do exemplo anterior!!!!
iptables -P INPUT DROP
itables -A INPUT -p tcp --dport 80 -j ACCEPT

você esta se referindo a politica padrão, onde você estabelece como vai funcionar teu firewall, se tu bloqueia tudo e libera o que necessita ou se tu libera tudo e bloqueia o que necessita, ela vem sempre por primeiro.

Citar
Outra dúvida. Tem alguma necessidade em trabalhar com a política iptables -P OUTPUT DROP?

um EX: se tu tiver alguma coisa maliciosa no teu server e ele enviar dados para fora do teu server, ele vai estar usando a cadeia OUTPUT do teu firewall, então se tu tratar o que realmente deve sair, quase certo que este elemento não vai conseguir enviar nada para fora, e vai bater no teu firewall. Ainda pode colocar para logar estas saídas indevidas com uma regra no final do teu firewall
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 06 de Maio de 2012, 12:27
Citar
Outra coisa, se eu quiser que um ip da rede, por exemplo 192.168.0.99 tenha tudo liberado e não precise passar pelo proxy, qual o regra e onde coloco ela?
Duas formas:
essa regra tu insere antes do redirecionamento pro proxy
IPTABLES -t nat -A PREROUTING -s 192.168.0.99 -p tcp --dport 80 -j ACCEPT

ou tu faz o redirecionamento assim:
iptables -t nat -A PREROUTING -i $REDELOCAL -s ! 192.168.0.99 -p tcp --dport 80 -j REDIRECT --to-port 3128
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 06 de Maio de 2012, 12:40
Citar
Outra coisa, se eu quiser que um ip da rede, por exemplo 192.168.0.99 tenha tudo liberado e não precise passar pelo proxy, qual o regra e onde coloco ela?
Duas formas:
essa regra tu insere antes do redirecionamento pro proxy
IPTABLES -t nat -A PREROUTING -s 192.168.0.99 -p tcp --dport 80 -j ACCEPT

ou tu faz o redirecionamento assim:
iptables -t nat -A PREROUTING -i $REDELOCAL -s ! 192.168.0.99 -p tcp --dport 80 -j REDIRECT --to-port 3128


Não uso proxy transparente. Todos os usuários tem que colocar o proxy no navegador.

Um dos usuários é o DONO da empresa, quero que a máquina dele não passe pelo squid.

Não estou usando nada de PREROUTING no meu firewall.

Essa regra serve? iptables -A FORWARD -s 192.168.0.3 -j ACCEPT
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 06 de Maio de 2012, 12:51
Vou utilizar o sarg para analisar os logs do SQUID. Preciso ter um servidor web rodando na máquina para usar o sarg?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: cpaynes em 06 de Maio de 2012, 13:16
Citar
Não estou usando nada de PREROUTING no meu firewall.
Essa regra serve? iptables -A FORWARD -s 192.168.0.3 -j ACCEPT

Entao e isso mesmo. Insere esta regra antes do iptables -A FORWARD  -j DROP

Citar
Vou utilizar o sarg para analisar os logs do SQUID. Preciso ter um servidor web rodando na máquina para usar o sarg?

Precisa ter o apache2.
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 07 de Maio de 2012, 17:34
Para bloquear o msn no squid, como proceder?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 14 de Maio de 2012, 09:08
Citar
Outra coisa que se pode fazer é aumentar o limite de conexões aceitas; uma máquina atual aceita facilmente centenas de conexões por segundo. Podemos então mudar esse limite de "1/s" para "10/s" ou "100/s" sem medo da máquina ficar sobrecarregada.

zekkerj, mas limitar não seria furada? pois quem for a conexão numero 2, 11 ou 101 estará sendo dropada, mesmo que seja legitima!

Você está certo cpaynes. Com essa regra a conexão "cai" o tempo todo. Se essa regra vai beleza. Tem algo similar para protejer a máquina?

Um abraço!
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 14 de Maio de 2012, 11:51
Qual "essa regra"?
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 14 de Maio de 2012, 22:23
Citar
# Contra Syn-flood
iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

esta linha esta no teu firewall, isso não protege contra synflood, com isso teu firewall poderá levar você a uma negação de serviço.
da uma olhada neste artigo sobre isto. Um excelente artigo do Elgio!
http://www.vivaolinux.com.br/artigo/Iptables-protege-contra-SYN-FLOOD/

Esse trecho é fácil de consertar, pq a regra está bem próxima do aceitável. Da forma como está, o firewall só vai aceitar um pacote tcp por segundo, independente da origem, e independente do tipo de pacote. Precisamos melhorar essa regra:
1. Essencial: Só limitar os pacotes de abertura de conexão ("TCP Syn").
2. Opcional: Aumentar a quantidade de novas conexões aceitas.
3. Opcional: Controlar os pedidos de conexão vindos da mesma origem.

Ao só limitar os pacotes de abertura de conexão, a gente não interfere nas conexões que já estão abertas. Isso é feito observando se o segmento TCP tem o flag "Syn" ligado. [opções "-p tcp --syn" na linha do iptables]

Outra coisa que se pode fazer é aumentar o limite de conexões aceitas; uma máquina atual aceita facilmente centenas de conexões por segundo. Podemos então mudar esse limite de "1/s" para "10/s" ou "100/s" sem medo da máquina ficar sobrecarregada.

Controlando as novas conexões vindas da mesma máquina, fica mais difícil um ataque de DoS --- apesar de não proteger contra um DDoS (se bem que contra um DDoS, só o provedor pode te ajudar). Nesse caso as regras são um pouco diferentes, pq vão envolver um outro módulo ("recent").

Essa iptables -A FORWARD -p tcp -m limit --limit 100/s -j ACCEPT
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 14 de Maio de 2012, 23:37
Vc esqueceu a parte onde eu disse: "Essencial: só limitar os pacotes de abertura de conexão" ;)

A regra deveria ser "-A FORWARD -p tcp --syn -m limit --limit 100/s -j ACCEPT". ;)
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 15 de Maio de 2012, 00:36
Vc esqueceu a parte onde eu disse: "Essencial: só limitar os pacotes de abertura de conexão" ;)

A regra deveria ser "-A FORWARD -p tcp --syn -m limit --limit 100/s -j ACCEPT". ;)

Na verdade usei a regra que vc postou acima, só que com INPUT  :-[

# Syn Flood via modulo limit
iptables -A INPUT -p tcp --syn -m limit --limit 100/s -j ACCEPT
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: lucascatani em 15 de Maio de 2012, 00:38
A minha parte de proteção contra "ataques" está assim, recomenda mais alguma coisa?

Código: [Selecionar]
################### Protegendo contra ataques ###############

# Syn Cookyes
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

# ICMP Broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# Mensagens falsas de icmp_error responses
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

# Anti-spoofings
iptables -A INPUT -j DROP -s 10.0.0.0/8 -i $INTERNET
iptables -A INPUT -j DROP -s 127.0.0.0/8 -i $INTERNET
iptables -A INPUT -j DROP -s 172.16.0.0/12 -i $INTERNET
iptables -A INPUT -j DROP -s 192.168.1.0/16 -i $INTERNET

# Syn Flood via modulo limit
iptables -A INPUT -p tcp --syn -m limit --limit 100/s -j ACCEPT
Título: Re: Servidor - dhcp + firewall + proxy
Enviado por: zekkerj em 15 de Maio de 2012, 00:43
Vc pode extender as regras de anti-spoofing pra cadeia FORWARD, também.

Mas eu não recomendo desabilitar totalmente o ping. Mais cedo ou mais tarde vc pode precisar pingar seu servidor a partir da rede interna.