mercoledì 1 dicembre 2010

VPN PPTP in pfSense

In quest'articolo vedremo come utilizzare un firewall pfSense, di cui vi ho già parlato nel precedente articolo, come server per connessioni VPN di tipo PPTP.

pfSense permette nativamente la creazione di tunnel VPN di tipo IPSEC, OpenVPN e PPTP. Ecco di seguito i passi da seguire per configurare il servizioS PPTP su pfSense 1.2.3

Il protocollo PPTP è considerato il meno sicuro per stabilire una connessione VPN, questo è dovuto al suo metodo di autenticazione basato solo su username e password. Qualunque forma di autenticazione basata solo su una password è insicura e, in ultima analisi, destinata a fallire. Dato che non si può costringere gli utenti a ricordare delle password complesse, ovvero lunghe sequenze di caratteri contenenti minuscole, maiuscole, cifre ed altro, alla fine gli utenti scelgono password deboli, facile preda dei software di cracking. Se siete interessati ad approfondire le vulnerabilita del protocollo PPTP potete poi leggere quest'articolo di SANS.

Nonostante questo è possibile utilizzare il protocollo PPTP per fare pratica con il concetto di VPN, stabilire connessioni occasionali con la propria azienda, aggiungere uno strato di sicurezza a connessioni normalmente insicure, configurare velocemente una connessione vpn di servizio senza bisogno di certificati, clientspecifici, ecc...

Ora vediamo come configurare il servizio PPTP su pfSense:
- Accedere all'interfaccia web di pfSense;
- Selezionare la voce VPN e poi PPTP;
- Impostare le seguenti informazioni

Enable PPTP Server
Server address 192.168.0.190 -> Indirizzo IP utilizzto dal server VPN
Remote address range192.168.0.192/28 -> 14 indirizzi host attribuiti ai client VPN
Require 128-bit encryption

Nella sezione User è possibile definire gli utenti che avranno accesso alla VPN.
I parametri configurabili in questa sezione sono pochi e semplici:

Username: nome utente
Password: password
IP address: eventuale IP che si vuole assegnare al client

A questo punto occorre definire le regole di firewall per il traffico PPTP. Come regola di default possiamo definire la seguente:

Action: Pass
Interface: PPTP
Protocol: Any
Source type: PPTP clients
Destination: Lan Subnet
Description: PPTP -> Lan

Fatto questo il server è pronto per accettare connessioni PPTP.

Ora configuriamo un client Windows XP

- Accedere al Pannello di Controllo e selezionare Connessioni di Rete;
- Selezionare Nuova connessione di rete;
- Selezionare Connessione alla rete aziendale;
- Selezionare Connessione VPN;
- Inserire un nome identificativo della connessione VPN;
- Selezionare Non effettuare prima alcuna connessione;
- Inserire l'indirizzo IP o il nome DNS del server VPN;

La connessione è stata correttamente configurata, ora non resta altro che inserire username e password per stabilire la connessione.

Se non volete utilizzare la connessione VPN come gateway per il vostro traffico:

- Cliccare su Proprietà;
- Selezionare Avanzate;
- Rimuovere la spunta da Usa gateway predefinito sulla rete remota

pfSense permette di configurare il servizio PPTP in altri due modi:
1 - Ridirigendo tutto il traffico PPTP verso un altro server PPTP della rete selezionando "
Redirect incoming PPTP connections to:" ed inserendo l'indirizzo IP del server;
2 - Utilizzando un server RADIUS per l'autenticazione degli utenti abilitati alla VPN. Questa opzione è molto interessante per le reti windows perchè permette di utilizzare un server IAS per integrare la connessione PPTP di pfSense con gli utenti del dominio Windows.

giovedì 25 novembre 2010

Un firewall professionale, potente e gratuito

Circa due anni fa, dopo una lunga ricerca di firewall software con funzionalità particolari, mi sono imbattuto in pfSense. Inizialmente l'impressione non è stata delle migliori ma confidando nelle impressioni di chi lo aveva già utilizzato ho deciso di provarlo ed oggi lo considero una delle migliori soluzioni disponibili sul mercato.

pfSense è un firewall software Open Source basato su FreeBSD. Al cuore del sistema c'è FreeBSD e il firewall PF (Packet Filter) in prestito da OpenBSD da cui ne deriva appunto la sigla.
Il progetto ha lo scopo di fornire un firewall professionale, potente, flessibile e dalle richieste hardware molto contenute. La piattaforma può essere installata su una vasta gamma di sistemi (è disponibile la lista di compatibilità completa) partendo da HW da 100 euro fino a potenti server del valore di qualche migliaio di euro.
Le prestazioni scalano in maniera sorprendente con la potenza dell'HW impiegato, ma grandi soddisfazioni possono essere comunque ottenute già con sistemi a basso costo.
Sul sito ufficiale è disponibile una guida breve e completa che permette di dimensionare correttamente l'HW in base all'uso a cui è destinato.

Le funzionalità messe a disposizione sono molte e non hanno nulla da invidiare alle soluzioni commerciali. Tra le funzioni principali troviamo:
  • Stateful Firewall (livello 3 della pila ISO/OSI);
  • DHCP Server;
  • NAT (Network address translation);
  • HA High Availability grazie a CARP che permette di configurare due firewall su due macchine identiche per replicarsi e autosostituirsi nel caso di guasto di una delle due;
  • Load Balancing (Bilanciamento del carico) per distribuire il carico di lavoro tra 2 o più server. Utilizzato normalmente per web server, mail server, ecc;
  • VPN (Virtual Private Network) di tipo IPsec, OpenVPN e PPTP.
  • Grafici RRD ed informazioni in tempo reale;
  • DNS dinamici;
  • Captive portal;
  • Traffic shaping;
  • Multi WAN.
Queste sono solo alcune delle funzioni disponibili, un elenco completo è presente sul sito ufficiale del progetto e se non dovessero bastare è possibile aggiungerne di nuove installando uno dei numerosi package messi a disposizione dalla community o, perchè no, sviluppandone di nuovi.

Attualmente è disponibile la versione 1.2.3 ma tutta la community è in attesa del rilascio della versione 2.0 che è disponibile in beta da quasi un anno e che promette molte novità importanti.

Per fare le prime prove è possibile utilizzare la versione Live CD o l'appliance VmWare, sono sicuro che il passo successivo sarà installarlo su un vecchio PC per metterlo alla prova sul campo.