Configurando um firewall baseado em interface na aplicação de rede Vyatta


Introdução

A aplicação de rede Vyatta pode ser usada como firewall para proteger instâncias de servidor em nuvem da Rackspace.

Neste artigo, você verá como firewalls baseados em interface podem ser configurados na Vyatta e aplicados na interface pública para filtrar tráfego local (que termina na Vyatta) e também tráfego de entrada (que passa pela aplicação com destino aos Cloud Servers).

Para acessar o guia que explica como configurar a aplicação Vyatta como um firewall, clique aqui .

O firewall da Vyatta possui inspeção dinâmica de pacotes dos tipos IPv4 e IPv6 para interceptar e analisar a atividade da rede e permitir ou negar a tentativa. O recurso de firewall da Vyatta analisa e filtra pacotes de IP entre interfaces de rede. Isso permite a filtragem de pacotes com base em suas características e a execução de ações em pacotes que atendam à regra. O recurso de firewall do sistema Vyatta fornece:

  • Filtragem de pacotes no tráfego que atravessa a aplicação e no tráfego destinado à própria aplicação.
  • Critérios definíveis para regras de pacote, incluindo endereço IP de origem, endereço IP de destino, porta de origem, porta de destino, protocolo IP e tipo de ICMP
  • Detecção geral nas opções de IP, como roteamento de origem e pacotes de transmissão
  • Capacidade de definir o firewall globalmente para operar com ou sem monitoramento de estado

Os recursos avançados de firewall da Vyatta incluem failover com monitoramento de estado, filtragem baseada em zona e filtragem baseada em tempo.

Definição do firewall

Firewalls filtram pacotes em interfaces. Há duas etapas para se usar o recurso de firewall:

  • Você define uma instância de firewall e a salva com um nome. Uma instância do firewall nada mais é do que um conjunto de regras. Você define a instância e configura o conjunto de regras no nó de configuração do firewall.
  • Após definir a instância e especificar as regras, você aplica a instância a uma interface ou zona. Você faz isso através do nó de configuração da interface ou zona.

Após a instância ser aplicada à interface ou zona, as regras na instância começam a filtrar os pacotes naquele local.

Tipos de firewall

Há dois tipos de firewall: baseado em interface e baseado em zona. Se apenas a interface está sendo protegida, então o firewall baseado em interface pode servir ao seu propósito. No entanto, se mais de uma interface estiver sendo protegida, recomendam-se firewalls baseados em zona.

Regras de firewall

Regras são executadas em sequência, de acordo com o número da regra. Se o tráfego atende às características especificadas pela regra, a ação da regra é executada; caso contrário, o sistema pula para a próxima regra.

A ação pode ser:

  • Accept (aceitar): o tráfego é aceito e encaminhado.
  • Drop (descartar): o tráfego é descartado sem avisos.
  • Reject (rejeitar): o tráfego é descartado com uma mensagem de "porta inacessível" do ICMP.

Aplicando regras de firewall a interfaces (firewall baseado em interface)

Após uma instância do firewall ser definida, ela pode ser aplicada a uma interface, onde age como filtro de pacotes. A instância do firewall filtra os pacotes de uma das seguintes formas, dependendo das especificações feitas na aplicação da instância:

  • in (entrada): se você aplicar a instância como "in", o firewall filtrará os pacotes que entram na interface e passam pelo sistema Vyatta. Você pode aplicar um filtro de entrada de pacotes.
  • out (saída): se você aplicar a instância como "out", o firewall filtrará os pacotes que deixam a interface. Eles podem ser pacotes passando pelo sistema Vyatta ou pacotes originados no sistema. Você pode aplicar um filtro de saída de pacotes.
  • local (local): se você aplicar a instância como "local", o firewall filtrará os pacotes destinados ao sistema Vyatta. Uma instância de firewall pode ser aplicada como filtro local de pacotes.

No total, três instâncias de firewall podem ser aplicadas a uma interface: uma como filtro de entrada, uma como filtro de saída e uma como filtro local.

Firewall baseado em interface na interface pública.

O exemplo a seguir mostra um conjunto de regras de firewall aplicado a uma interface pública do Vyatta. Esse conjunto de regras faz o seguinte:

  • Torna o firewall dinâmico (stateful) (configuração global). Define as regras globais recomendadas para serem aplicadas em todas as interfaces do firewall (neste caso, interface pública. Todas as outras interfaces com uma configuração de firewall também herdarão essa configuração)
  • Permite L2TP sobre tráfego IPsec em sessões VPN com acesso remoto
  • Permite tráfego site a site no túnel VPN
  • Permite tráfego SSH e ICMP

 

1. Entre na aplicação Vyatta usando ssh:

ssh vyatta@X.X.X.X

Onde X.X.X.X é o endereço IP da Vyatta. Você verá a mensagem de boas-vindas da Vyatta e uma solicitação de senha.

Após entrar na aplicação, você pode digitar ? ou pressionar a tecla Tab para obter ajuda.

2. Entre no modo de configuração:

vyatta@vyatta: configure
[edit]
vyatta@vyatta#

O símbolo # indica que você está no modo de configuração.

 

3. Torne o firewall dinâmico (configuração global)

set firewall state-policy established action 'accept'
set firewall state-policy related action 'accept'

4. Defina as regras globais recomendadas que serão aplicadas a todas as interfaces protegidas pelo firewall. Qualquer configuração global pode ser alterada dentro da regra de firewall específica da interface.

set firewall all-ping 'enable'
set firewall broadcast-ping 'disable'
set firewall ipv6-receive-redirects 'disable'
set firewall ipv6-src-route 'disable'
set firewall ip-src-route 'disable'
set firewall log-martians 'enable'
set firewall receive-redirects 'disable'
set firewall send-redirects 'enable'
set firewall source-validation 'disable'
set firewall syn-cookies 'enable'

5. Comece a definir a configuração do firewall para a interface pública

edit firewall name protect-vyatta

Descartar tudo por padrão

set default-action 'drop'

Permitir tráfego IKE e ESP para IPsec

set rule 100 action 'accept'
set rule 100 destination port '500'
set rule 100 protocol 'udp'
set rule 200 action 'accept'
set rule 200 protocol 'esp'

Permitir L2TP sobre IPsec

set rule 210 action 'accept'
set rule 210 destination port '1701'
set rule 210 ipsec 'match-ipsec'
set rule 210 protocol 'udp'

Permitir NAT transversal de IPsec

set rule 250 action 'accept'
set rule 250 destination port '4500'
set rule 250 protocol 'udp'

Impedir ssh por força bruta (permite apenas 3 novas conexões dentro de 30 segundos)

set rule 300 action 'drop'
set rule 300 destination port '22'
set rule 300 protocol 'tcp'
set rule 300 recent count '3'
set rule 300 recent time '30'
set rule 300 state new 'enable'

Permitir todos os outros tipos de ssh

set rule 310 action 'accept'
set rule 310 destination port '22'
set rule 310 protocol 'tcp'

Permitir icmp

set rule 900 action 'accept'
set rule 900 description 'allow icmp'
set rule 900 protocol 'icmp' 
exit

6. Aplique localmente na interface pública (eth0)

set interfaces ethernet eth0 firewall local name 'protect-vyatta'

7. Crie e aplique um conjunto de regras "de entrada" (para tráfego destinado aos cloud servers) na interface pública (eth0)

set firewall name untrusted default-action 'drop'
set firewall name untrusted description 'deny traffic from internet'
set interfaces ethernet eth0 firewall in name 'untrusted'

8. Efetive e salve as alterações.

commit
save


Este conteúdo foi útil?




© 2014 Rackspace US, Inc.

Salvo indicação em contrário, o conteúdo deste site está licenciado sob uma licença não adaptada de Creative Commons Attribution-NonCommercial-NoDerivs 3.0


Ver detalhes da licença e o AVISO LEGAL