LINUX

Come configurare IPsec VPN su PfSense Firewall

Questo articolo riguarda la protezione del livello IP utilizzando la rete privata virtuale (VPN), nota anche come IPsec (Internet Protocol Security) sul noto firewall open source PfSense. Due componenti del protocollo IPsec sono Authentication Header (AH) e Encapsulating Security Payload (ESP) per fornire funzionalità di integrità dei pacchetti, autenticazione e sicurezza della privacy. I meccanismi di sicurezza crittografica vengono utilizzati in IPsec per proteggere le comunicazioni sul livello IP. Il protocollo IPSec consente la crittografia e l’autenticazione di tutto il traffico del livello IP tra la posizione locale e quella remota.

PfSense Firewall utilizza uno strumento Strongswan open source che fornisce funzionalità VPN IPsec. Entrambe le fasi di IPsec (condivisione delle chiavi e crittografia) sono implementate dallo strumento Strongswan su piattaforme Linux/Unix. Fornisce Internet Key Exchange (IKE) o la condivisione automatica delle chiavi tra nodi o gateway VPN IPsec e quindi utilizza l’implementazione del kernel Linux/Unix di Autenticazione (AH) e Crittografia (ESP). Stongswan utilizza l’implementazione OpenSSL di algoritmi crittografici (come AES128/256, MD5/SHA1 ecc.) nella prima fase (fase IKE) della VPN IPsec. L’Encapsulated Security Payload (ESP) di IPsec VPN è disponibile nei kernel Linux/Unix, utilizzato da Strongswan nella seconda fase della VPN.

Requisiti

Per continuare questo articolo, presumo che tu abbia già installato PfSense sulla tua VM. In questa configurazione, ogni VM ha due interfacce (WAN e LAN) e anche indirizzi IP configurati. Le figure seguenti mostrano l’interfaccia e l’assegnazione dell’indirizzo IP per le macchine virtuali dispositivo-a e dispositivo-b.

interfaccia device-o e impostazioni ip

impostazioni dell'interfaccia pfsense1

interfaccia dispositivo-b e impostazioni ip

impostazioni dell'interfaccia pfsense2

Il pacchetto Strongswan è già installato nella nuova installazione di PfSense ed è disponibile sull’interfaccia web nel menu VPN. Tuttavia, l’installazione di Strongswan su piattaforma Linux è disponibile anche nell’articolo precedente.

Configurazione VPN IPsec

Per impostazione predefinita, tutto è bloccato sull’interfaccia WAN di PFsense, quindi prima consenti le porte UDP 4500 ((IPsec NAT-T) e 500 (ISAKMP) per IPsec VPN. Tuttavia, ho consentito a ciascuna cosa (non consigliata per l’ambiente di produzione) di stabilire IPsec tra due VM.

Come mostrato di seguito, una regola è configurata per l’interfaccia WAN a PfSense nel menu del firewall.

regola del firewall pfsense

La regola IPsec è configurata anche nel firewall per far passare il traffico attraverso la VPN stabilita.

regola ipsec firewall pfsense

È anche importante assicurarsi che il dispositivo remoto sia disponibile per IPsec VPN. L’istantanea seguente mostra che il dispositivo remoto è acceso e risponde.

ip remoto pfsense

Dopo aver garantito la connettività da gateway a gateway, il passaggio successivo consiste nel configurare la VPN (fase 1 e fase 2) nelle macchine virtuali. Nella prima fase, viene configurato IKE e viene selezionato l’algoritmo di crittografia/autenticazione. La seconda fase di IPsec consiste nell’impostare parametri ESP come crittografia/autenticazione su entrambe le macchine virtuali. Impostazioni come IP locale/remoto, reti locali/remote, algoritmi di crittografia/autenticazione) della VPN IPsec su entrambe le VM dovrebbero essere corrette per stabilire il tunnel tra le VM.

Il firewall PfSense è configurato utilizzando l’interfaccia web, quindi la seguente finestra si apre dopo aver fatto clic sul sottomenu IPsec in VPN.

vpn ipsec pfsense

Controlla Abilita IPSec opzione per creare un tunnel su PfSense. Clicca su il pulsante più per aggiungere un nuovo criterio tunnel IPsec sul lato locale (lato a in questo caso). Gli snapshot seguenti mostrano l’impostazione per la fase IKE (prima fase) di IPsec.

Due modalità di fase IKE o versione di scambio di chiavi sono v1 e v2. Tuttavia, l’opzione automatica è selezionata nella versione per lo scambio di chiavi. L’interfaccia WAN viene selezionata per stabilire il tunnel e l’indirizzo IP del dispositivo remoto (parte b in questo caso) viene fornito nel campo gateway remoto.

Impostazione della fase 1 sul lato a

vpn ipsec pfsense fase 1

Regolazione della fase 1 sul lato b

impostazioni vpn ipsec pfsense phase1

Lo snapshot seguente mostra la selezione del meccanismo di autenticazione per la prima fase. In questa esercitazione viene selezionato PSK reciproco o segreto condiviso per l’autenticazione reciproca di entrambe le macchine virtuali. La modalità principale è selezionata perché è più sicura della modalità aggressiva. La chiave precondivisa o il segreto condiviso per entrambi i dispositivi è “test12345” . Lo snapshot seguente mostra anche l’impostazione di crittografia per la prima fase. La selezione predefinita dell’algoritmo di crittografia è AES256 e SHA1 per l’algoritmo di hashing.

Autenticazione vpn ipsec pfsense

Il attraversamento NAT è impostata anche l’opzione auto per i client protetti da firewall. Un’altra caratteristica di IPsec è il Dead Peer Detection (DPD), anch’esso abilitato.

vpn ipsec pfsense avanzato

Lo screenshot seguente mostra che l’impostazione precedente della fase 1 è stata salvata sul dispositivo-a.

vpn ipsec pfsense phase2

Clicca su il pulsante più per aggiungere il criterio di fase 2 sul firewall PfSense. Nello snapshot successivo, la rete locale e remota sono incluse nel criterio.

vpn ipsec pfsense phase2

I parametri selezionati per la fase 2 (la proposta ESP) sono presentati di seguito.

chiave vpn ipsec pfsense phase2

Lo snapshot seguente mostra che il criterio VPN è stato creato correttamente sul dispositivo PfSense -a.

vpn ipsec pfsense vpn creato

Altre impostazioni (come l’abilitazione/disabilitazione dei livelli di registrazione) di Strongswan IPsec sono fornite nella scheda Impostazioni avanzate.

impostazioni vpn ipsec pfsense

Fare clic su IPsec dal menu Stato per ottenere maggiori dettagli sulla VPN configurata.

impostazioni avanzate vpn ipsec pfsense

Lo screenshot seguente mostra la panoramica della VPN configurata sul dispositivo-a. Come mostrato di seguito, lo stato attuale della VPN è disconnesso. Clicca su in linea pulsante per avviare la negoziazione con il dispositivo remoto.

stato vpn ipsec pfsense

La negoziazione riuscita tra due dispositivi è mostrata nelle figure seguenti.

dispositivo: uno stato VPN

lato-a-stato

stato VPN dispositivo-b

lato-b-stato

Di seguito sono mostrati il ​​Security Association Database (SAD) e il Security Policy Database (SPD).

SAD per dispositivo-a

pfsense ipsec triste A

SPD per dispositivo-a

pfsense ipsec spd A

Clicca su Registri per visualizzare i registri IPsec dettagliati a scopo di risoluzione dei problemi.

log ipsec pfsense

Anche lo stato della VPN viene verificato utilizzando utilità della riga di comando come setkey e il comando ipsec status.

setkey -D uscita

riga di comando status pfsense setkey

Output ipsec statusall

status pfsense riga di comando ipsecstatusall

Conclusione

Questo articolo riguarda l’utilizzo della VPN IPsec sul firewall PfSense per proteggere il livello di rete dagli aggressori. Strongswan è un’implementazione open source di IPsec disponibile nella maggior parte dei firewall open source. Una VPN IPsec basata su segreto condiviso viene stabilita tra due macchine virtuali per proteggere la comunicazione.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close