Controle de acesso ao recurso de rede (talvez usando VLANs?)

0

Estou tentando configurar uma rede que tenha alguns grupos de dispositivos diferentes com diferentes direitos de acesso. Fisicamente, os dispositivos são conectados à rede através de portas de parede ou através de uma das várias redes WiFi disponíveis. O hardware que estou usando são alguns switches inteligentes Cisco SG200-08, um conjunto de UniFi WiFi APs e um EdgeRouter Lite, que executa um fork do Vyatta-Linux chamado EdgeOS.

Como há bastante fluxo nos dispositivos conectados, eu gostaria de não ter que manter uma lista de endereços MAC para gerenciar os direitos de acesso, mas atribuir os dispositivos implicitamente a um grupo simplesmente com base em qual porta de parede ou rede WiFi Eu conecto-os a.

Meu pensamento atual de como fazer isso é o seguinte:

  • Defina VLANs diferentes para os diferentes grupos de dispositivos (para simplificar, digamos, a VLAN 10 para sistemas confiáveis com acesso total e a VLAN 20 para convidados que têm permissão apenas para acessar determinados recursos).
  • Os comutadores inteligentes podem atribuir automaticamente IDs de VLAN às diferentes portas de parede.
  • Acontece que os APs da UniFi podem transmitir até 4 redes Wi-Fi simultaneamente com diferentes credenciais de acesso e, em seguida, marcar o tráfego com IDs de VLAN dependendo de qual rede WiFi ele veio.
  • Finalmente, o EdgeRouter une tudo ao gerenciar os direitos de acesso para as diferentes VLANs.

O problema que tenho é que alguns dispositivos que eu tenho usam vários métodos de auto-descoberta para ser encontrado pelo seu software de acesso (UPNP, compartilhamentos de rede do Windows, protocolos proprietários, ...). Eu gostaria que os dispositivos que são acessíveis por todos (da VLAN 10 e 20) também possam ser descobertos por todos (ou seja, de ambas as VLANs). Assim, eu preciso encontrar uma maneira de transmitir as transmissões corretamente e talvez fazer algumas outras coisas também ...

Aqui é onde estou atualmente com meus pensamentos sobre como fazer isso:

  • Configure um servidor DHCP que atribua valores em 192.168. 10 .0 / 24 à VLAN 10
  • Configure um segundo servidor DHCP que atribua valores em 192.168. 20 .0 / 24 à VLAN 20
  • Peça aos servidores DHCP que digam a seus clientes que a máscara de sub-rede é 255.255. 0 .0 (esperamos que solicitem que eles tentem descobrir dispositivos em ambos os intervalos de endereços)
  • Configure o proxy ARP e transmita o encaminhamento de pacotes entre as VLANs (ainda não sei como conseguir isso. Talvez apenas conecte as duas VLANs?)
  • Adicione regras de firewall que eliminam todos os pacotes de VLAN cruzados, exceto pacotes de transmissão ou pacotes cuja VLAN-10-IP corresponde a um dispositivo que também deve ser acessível aos convidados.

Então, aqui estão minhas perguntas:

  1. A configuração da maneira como descrevi acima faz algum sentido ou existe uma maneira totalmente diferente e melhor de obter o controle de acesso? (Eu definitivamente gostaria de manter a conveniência de atribuir implicitamente computadores aos diferentes grupos de acesso simplesmente conectando-os a uma das várias redes WiFi disponíveis ou conectando-os a portas de parede específicas.)

  2. A configuração descrita realmente permite a descoberta de dispositivos (UPNP-) em VLANs? Que tal computadores com Windows e seus compartilhamentos de rede?

  3. É possível no Linux ter um servidor DHCP atribuindo endereços em uma sub-rede (por exemplo, 192.168.10.0/24), mas fornecer uma máscara de sub-rede diferente a seus clientes (por exemplo, 255.255.0.0)?

    Crédito extra: Posso fazer isso a partir da EdgeOS GUI no EdgeRouter de alguma forma, ou preciso configurá-lo a partir da linha de comando?

  4. Eu apenas configuro uma ponte genérica entre as VLANs e descarto pacotes "ilegais", ou existe uma maneira melhor (seguro, melhor desempenho, ...) de vincular as duas redes para permitir a descoberta de dispositivos? e acesso?

  5. É possível criar apenas duas VLANs completamente independentes (sem ponte) e simplesmente fazer com que o roteador "mapeie" um dispositivo na outra rede? Ou seja "falso" um sistema com endereço IP 192.168.20.5 na VLAN 20 e simplesmente encaminhar todo o tráfego para o sistema real em 192.168.10.5 na VLAN 10? Isso pode ser feito para que não haja diferença entre o sistema virtual mapeado em vez de ter esse sistema realmente conectado à rede sob o respectivo outro IP?

Mais uma observação: nem todos os dispositivos que preciso compartilhar nas redes executam o Linux. Portanto, não posso simplesmente "conectar" os dispositivos a ambas as VLANs por meio de interfaces virtuais, como eth0.10 e eth0.20.

PS: Eu li que as VLANs não são a maneira mais segura de fornecer controles de acesso, pois há várias maneiras fáceis de hacká-las (double-tagging, etc). Mas parece que com um pouco de cuidado para evitar IDs nativos e portas de tronco, estes podem ser facilmente evitados. Existem outras razões mais fundamentais para não usar VLANs para esse propósito? Se sim, qual seria uma alternativa?

    
por Markus A. 16.01.2014 / 08:02

0 respostas