Como implementar o firewall na LAN (fora do sistema operacional dos usuários) como o EC2 fez?

1

No aws ec2, os usuários podem configurar grupos de segurança que funcionam como um firewall, normalmente, o trabalho de firewall atrás de um servidor gateway / nat, no entanto, descobri que o firewall no EC2 funciona na LAN também.

Por exemplo, os usuários também têm instâncias, A: 10.108.33.13/26 , B: 10.108.33.18/26 , de acordo com o ip e netmask , eles estão na mesma LAN, no entanto, se eu colocar essas instâncias em diferentes segurança grupos (e as regras bloqueiam a visita de diferentes sgs), o firewall funciona nelas.

Minhas perguntas são, eu acho que o firewall funciona apenas em Layer3 / 4, em que ip e porta foram. Na LAN, o tráfego entre os hosts passa pela camada 2 (por endereço MAC). Como é possível implementar esse firewall em uma LAN?

P.S. Eu verifiquei o iptables em cada host e tenho certeza que parou.

    
por ley 08.03.2013 / 11:12

2 respostas

0

Um monte de switches L3 mais avançados suportam ACLs que cada pacote / frame seria verificado em cima de entrada - não importa se ele estaria indo para o mecanismo de roteamento do switch. Desta forma, restrições para hosts dentro do mesmo domínio de broadcast podem ser implementadas facilmente, embora deva ser notado que o processamento de ACLs normalmente não é tão sofisticado quanto você esperaria de um filtro de pacotes stateful (principalmente porque a lógica de processamento é implementada em circuitos em vez de software).

Dito isso, como a Amazon está virtualizando com o Xen , então eles usariam a comutação virtual / bridging do Linux muito e provavelmente teriam implementado sua filtragem dentro da camada de software - ebtables , que é capaz de fazer filtragem de IP em interfaces em ponte, seria um bom candidato para o processamento sob o capô.

    
por 08.03.2013 / 11:40
0

Recentemente, tenho lido as implementações da nova OpenStack.

Depois, descobri que se libvirt fosse usado, o firewall acima pode ser facilmente implementado usando o nwfilter mechanism libvirt implementado.

Informações detalhadas podem ser encontradas no link , ele explica como foi implementado, e como @ syneticon-dj mencionado, ele usou uma combinação de ebtables , iptables e ip6tables .

    
por 14.03.2013 / 05:08