martedì 7 agosto 2012

Separare l'accesso WiFi per utenti ed ospiti

In molti casi può essere utile configurare l'accesso ad internet in modo che utenti della lan ed ospiti possano navigare in modo isolato e controllato da regole differenti.
Per esempio, supponiamo di voler far in modo che nella nostra rete siano disponibili:
1) un punto d'accesso wireless con SSID UTENTI che dia accesso a tutte le risorse di rete;
2) un punto d'accesso wireless con SSID OSPITI che dia accesso solo ad internet e solo tramite i protocolli HTTP ed HTTPS.
Vediamo come configurare i dispositivi di rete e come configurare il nostro firewall affinchè tutto funzioni alla perfezione.



Per la nostra configurazione utilizzeremo il seguente hardware:
1) un AP multi SSID e, più in particolare, il CISCO WAP200 Wireless-G Access Point;
2) uno switch DELL PowerConnect 2848;
3) un firewall pfSense 2.0 con 2 schede di rete (WAN e LAN).
Per questa configurazione gli unici requisiti dell'hardware impiegato sono la possibilità di utilizzare più SSID per l'access point ed il supporto alle VLAN per l'access point e per lo switch, pertanto i modelli impiegati possono essere tranquillamente sostituiti con altre marche e modelli.

Nella nostra configurazione utilizzeremo le seguenti reti:
LAN: 192.168.0.0/24
VLAN_UTENTI: 192.168.2.0/24
VLAN_OSPITI: 192.168.3.0/24

1) Configuriamo l'Access Point

Per prima cosa configuriamo l'AP creando i due SSID e due VLAN ed associando tra loro SSID e VLAN.

Accediamo al menù Wireless > Basic Settings ed impostiamo i nostri SSID nel seguente modo
SSID 1: UTENTI
SSID 2: OSPITI

Ora accedendo al menù Wireless > VLAN & QoS assegnamo una VLAn per ogni SSID come riportato di seguito:
SSID 1: VLAN ID 2
SSID 2: VLAN ID 3
La configurazione dell'AccessPoint è completa (non ci occuperemo degli altri parametri di configurazione di base).

2) Configuriamo lo Switch

Passiamo ora alla configurazione dello switch. Sullo switch andremo a configurare le VLAN che andremo poi ad impiegare. Nel nostro caso consideriamo di avere connesso sulla porta 1 il firewall e sulla porta 2 l'access point. Entrambe le porte dovranno essere configurate in modalità trunk in modo da "trasportare" tutte le VLAN in uso servendosi dei TAG.

Accediamo al menù Switch > VLAN > VLAN Membership ed aggiungiamo le nostre VLAN.
Cliccare su Add per aggiungere una VLAN così definita:
VLAN ID: 2
VLAN Name: UTENTI
Associamo alla VLAN le seguenti porte indicando che dovranno essere in modalità Tag
Ports 1: Tag
Ports 2: Tag


Ripetiamo la precedente operazione per creare una nuova VLAN con i seguenti parametri:
VLAN ID: 3
VLAN Name: OSPITI
Ports 1: Tag
Ports 2: Tag

Sotto il menù Switch > VLAN > Port Settings verifichiamo che le porte siano assegnate al PVID di default che nel caso degli switch dell è 1
Port 1: PVID 1
Port 2: PVID 1
Anche la configurazione dello switch è terminata, ora lo switch farà passare i pacchetti tra firewall e accesspoint separandoli tramite Tag.

3) Configuriamo pfSense

Ora è venuto il momento di configurare pfSense in modo che possa ricevere il traffico delle due VLAN e smistarlo in modo corretto in base alla provenienza. Nel nostro caso andremo a permettere qualsiasi tipo di protocollo in qualsiasi direzione proveniente dalla VLAN UTENTI, mentre autorizzeremo solo il traffico HTTP ed HTTPS proveniente dalla VLAN OSPITI e diretto verso internet.

3.1) CONFIGURIAMO LE VLAN


Accediamo al menù Interfaces > (assign) > VLANs
Clicchiamo su Add per creare una nuova VLAN con le seguenti impostazioni:
Parent interface: LAN (in realtà si dovrà specificare la porta fisica es: en0)

VLAN tag: 2
Description: VLAN_UTENTI

Ripetiamo l'operazione per creare anche la VLAN OSPITI con le seguenti impostazioni:
Parent interface: LAN
VLAN tag: 3
Description: VLAN_OSPITI

3.2) CONFIGURIAMO LE INTERFACCE

A questo punto sotto il menù Interfaces troveremo due nuove interfacce che rappresentano le nostre VLAN, le due interfacce andranno configurate come se si trattasse di interfacce fisiche.

Accediamo al menù Interfaces > VLAN_UTENTI e configuriamo l'interfaccia con i seguenti parametri
Type: Static
IP address: 192.168.2.1/24 (questa è la classe d'indirizzamento che verrà assegnata ai membri della VLAN)
Gateway: None

Accediamo al menù Interfaces > VLAN_OSPITI e configuriamo l'interfaccia con i seguenti parametri:
Type: Static
IP address: 192.168.3.1/24 (questa è la classe d'indirizzamento che verrà assegnata ai membri della VLAN)
Gateway: None

3.3) CONFIGURIAMO IL SERVIZIO DHCP

Ora procediamo con l'attivazione del servizio DHCP per l'assegnamento degli IP ai dispositivi che accederanno in WIFI.
Accediamo al menù Services > DHCP Server > VLAN_UTENTI e configuriamo il servizio con i seguenti parametri:
Range: 192.168.2.2 - 192.168.2.254
DNS Server: 192.168.2.1
Gateway: 192.168.2.1

Poi ripetiamo l'operazione  per attivare anche il DHCP della VLAN Ospiti.
Accediamo al menù Services > DHCP Server > VLAN_OSPITI e configuriamo il servizio con i seguenti parametri:
Range: 192.168.3.2 - 192.168.3.254
DNS Server: 192.168.3.1
Gateway: 192.168.3.1

3.4) CONFIGURIAMO LE RULES

Ora siamo pronti per configurare le nostre regole di firewall per differenziare il traffico.
Accediamo al menù Firewall >Rules > VLAN_UTENTI e creiamo la seguente regola di firewall che dovrà consentire il transito in qualsiasi direzione ai pacchetti provenienti dalla sottorete VLAN_UTENTI
Action: Pass
Protocol: Any
Source: VLAN_UTENTI net
Port: Any
Destination: Any
Port: Any
Gateway: *

Accediamo al menù Firewall >Rules > VLAN_OSPITI e creiamo le seguenti regole di firewall che avranno lo scopo di:
1) Bloccare il traffico che dalla VLAN_OSPITI tenta di andare verso la LAN;
2) Consentire il traffico HTTP e HTTPS proveniente dalla VLAN_OSPITI e diretto verso Internet.

Action: Block
Protocol: Any
Source: VLAN_OSPITI net
Port: Any
Destination: LAN net
Port: Any
Gateway: *

Action: Pass
Protocol: Any
Source: VLAN_OSPITI net
Port: Any
Destination: Any
Port: HTTP
Gateway: *

Action: Pass
Protocol: Any
Source: VLAN_OSPITI net
Port: Any
Destination: Any
Port: HTTPS
Gateway: *

A questo punto la nostra configurazione è terminata, ovviamente è possibile complicarla a piacimento per esempio limitando la banda a disposizione della VLAN_OSPITI applicando quanto spiegato nell'articolo  Come limitare la banda in upload e download, potremmo anche decidere di veicolare tutto il traffico della VLAN_OSPITI su una connessione secondaria di backup in modo che non ostacoli il traffico peresente sulla connessione principale ecc...
Posta un commento