Google Translate Francese Français Tedesco Deutsch Olandese Nederlands Turco Türk Arabo العربية Polacco polski Russo русскиŇ Greco ελληνικά

Guida al dimensionamento dei firewall hardware


Premesse


La seguente guida al dimensionamento dell'hardware è stata scritta inizialmente e principalmente per il sistemi operativi pfSense® e OPNsense®.
Chi fosse interessato ad approdondire le differenze, troverà una comparativa tecnica pfSense® VS OPNsense® a questo link.
Tuttavia è possibile estendere questi concetti anche per Zeroshell, ipCop, ipFire.
Di seguito ci dilungheremo su dei concetti tecnici per spiegare e motivare le nostre conclusioni riportate nella tabella Dimensionamento istantaneo.
Qualora il navigatore non avesse voglia di leggere tutta la parte tecnica può saltare immediatamente a: Dimensionamento istantaneo.

Per dimensionare un firewall hardware basato su pfSense® dalla 2.2 in poi è necessario tenere presente 2 fattori principali:

  1. Throughput richiesto
  2. Features o pacchetti aggiuntivi di pfSense®/OPNsense® utilizzati

Questi 2 fattori influenzano principalmente su RAM, CPU, Memoria di massa e quantità di NIC. Nella parte sottostante metteremo a disposizione la nostra esperienza nel dimensionamento dell'hardware.

1. Considerazioni sul Throughput richiesto


Per definizione si intende per throughput di un canale di comunicazione la sua capacità di trasmissione effettivamente utilizzata.

Il throughput non è da confondersi con la capacità del link. Sia la capacità che il throughput si esprimono in bit/s, ma mentre la prima esprime la frequenza trasmissiva massima alla quale i dati possono viaggiare, il throughput è un indice dell'effettivo utilizzo della capacità del link. Il throughput è la quantità di dati trasmessi in una unità di tempo e dipende esclusivamente da quanta informazione è immessa sul canale della trasmissione.

Prima di fare delle considerazioni sul troughput occorre considerare il fatto che sia pfSense® che OPNsense® possono operare sia come firewall che come router oppure entrambi. Sarà necessario quindi considerare per la scelta dell'apparato il throughput complessivo del sistema che vogliamo realizzare.
Per esempio se dobbiamo realizzare un firewall, possiamo considerare come throughput la somma dei throughput delle WAN.
Se dobbiamo invece realizzare un Router che unisce tra loro delle reti dobbiamo sommare il throughput di tutte le interfacce, sia WAN che LAN.

È importante determinare il throughput di una rete prima dell'installazione di un firewall/router pfSense®/OPNsense® in quanto esso determina il tipo di CPU da utilizzare ed in certi casi il tipo di NIC.
Se sono richiesti meno di 10 Mbps allora è possibile utilizzare i requisiti minimi hardware. Per throughput superiori consigliamo caldamente di seguire il dimensionamento suggerito dalla tabella che segue, basata su test effettivamente eseguiti sul campo. La tabella qui sotto è pensata per evitare di raggiungere il massimo livello di carico dell'hardware, così da non incorrere in problemi.

Requisiti minimi di sistema per pfSense® dalla 2.2 in poi:


CPU Non meno di 300 MHz
RAM 256 MB
Installazione su Hard Disk 1 GB
Embedded Compact Flash da 2 GB

Dimensionamento pfSense®/OPNsense® basato sul Throughput

Throughput: Mbps Requisiti hardware consigliati Prodotto consigliato Rumorosità
1-10 Mbps Non meno di 500 MHz CPU Single Core Entry level Nulla
1-30 Mbps Non meno di 1000 MHz CPU Single Core APU Entry Level - NanoCluster APU2 Nulla
10-300 Mbps Non meno di 2.4 GHz CPU Quad Core Compact Small UTM - A2SUTM - Small Cluster Nulla
50-650 Mbps Non meno di 2.4 GHz CPU Octa Core A1-Server - Power Cluster Quasi nulla (*)
750 + Mbps Non meno di 3,5 GHz Quad/Octa Core APUTM - Power Cluster Bassa / Media (*)
Fino a 10 Gbps Non meno di 3,5 GHz Quad/Octa Core A1-Server - Power Cluster Bassa / Media (*)

(*) I modelli Power Cluster e APUTM con CPU Intel I7 presentano un livello di rumorosità Medio solo se sottoposti a forti e continuativi carichi di lavoro.

2. Features o pacchetti aggiuntivi di pfSense®/OPNsense® utilizzati


Molte features di pfSense®/OPNsense® influenzano notevolmente il dimensionamento dell'hardware.

VPN: l'utilizzo pesante del servizio VPN fa crescere molto i requisiti della CPU. La cifratura e decifratura dei pacchetti accresce il carico sulla CPU. Il numero di connessioni è un fattore meno preoccupante del throughput.
  • CPU di 266 MHz supporta circa 4 Mbps di traffico IPsec
  • CPU di 500 MHz supporta circa 10-15 Mbps di traffico IPsec
  • CPU I7 o I3 di nuova generazione supportano quasi fino a 200 Mbps di traffico IPsec


Squid – Squidguard – controllo del traffico in uscita mediante proxy: entrambi i pacchetti utilizzano molto sia la CPU che le scritture su disco. È pertanto fortemente sconsigliato l'utilizzo con la fascia Entry level ed Entry level APU.
Per questo tipo di lavoro è fortemente consigliato l'utilizzo di COMPACT SMALL UTM , A2SUTM , AUTM5 , A1-Server o APUTM con SSD o dischi Classici.
Tuttavia è altresì possibile l'utilizzo ottimizzato con il solo pacchetto squid sulla fascia Entry level APU a patto che si utilizzi la scrittura sul supporto disco con parsimonia ed in ogni caso a forte discapito delle prestazioni.

Captive Portal: Ambienti con centinaia di connessioni richiedono molta CPU. Con riferimento alla tabella del throughput sarà necessario aumentare gli utenti di un 15-20% per ottenere la piattaforma raccomandata.

Grandi tabelle di Stato: Ogni voce della tabella di stato richiede 1 KB. La tabella di stato, quando è piena ha 10.000 voci, quindi circa 10 MB di RAM. Per tabelle di stato più grandi, con centinaia di migliaia di connessioni sarà necessario dimensionare adeguatamente la RAM.

Packages: molti pacchetti aumentano significativamente la quantità di RAM utilizzata. Per esempio snort e ntop non dovrebbero essere installati su piattaforme hardware con meno di 512 MB di ram.

Versione di pfSense®/OPNsense® da installare


È da sottolineare la differenza tra i due tipi di installazioni che è possibile effettuare con pfSense®/OPNsense® sui diversi dispositivi:

  • La soluzione Embedded (firewall Entry Level) NON permette la scrittura dei file di log sulla memoria (C.F. o DOM) ed in ogni caso è fortemente sconsigliato farlo. Su questa versione non è possibile installare alcuni dei pacchetti aggiuntivi di pfSense®/OPNsense®.
  • La soluzione che si installa su hard disk (normalmente sulle soluzioni Appliance UTM o superiori) ha la possibilità di salvare i log al suo interno. Su questa versione è possibile installare tutti i pacchetti aggiuntivi forniti per pfSense®/OPNsense®.


3. Approfondimento sui chipset delle schede di rete


La scelta di una scheda di rete è fondamentale per chi sta progettando un sistema per medie/grandi dimensioni.
Come potete notare dalle descrizioni dei prodotti, specifichiamo sempre molto bene se gli apparati integrano al proprio interno dei chipset Intel oppure Realtek.

Da circa metà 2016 in avanti praticamente tutti i nostri devices sono dotati di chipset Intel.
Il chipset Realtek è meno performante del chipset Intel ed è adatto principalmente per carichi di lavoro meno intensi. Tuttavia, per un'azienda che non richiede throughput elevati (come l'85% delle aziende Italiane) rimane sempre la scelta ideale.

Il chipset Intel invece offre maggiori performances in caso di traffico intenso: offre infatti parecchie features avanzate come la gestione delle code e dalla versione di pfSense® 2.2 in poi anche un supporto migliorato al multi-core. Questo si traduce in un throughput più elevato e minore carico sulle CPU.
Per essere precisi, il pieno supporto al multicore è stato introdotto su FreeBSD, ciòoè dal S.O. padre di pfSense e OPNsense, Quindi lo stesso discorso fatto per pfSense® vale e varrà in futuro anche per OPNsense®.
Se state ancora utilizzando pfSense® 2.1.x, a questo proposito abbiamo pubblicato un approfondimento sull'ottimizzazione delle NIC Intel attraverso il tuning del driver e delle impostazioni. Specifichiamo comunque che fino ad oggi le nostre appliances non hanno bisogno ti tale ottimizzazione. Noi la inseriamo comunque per completezza.

Sulle attuali versioni di pfSense®/OPNsense® non sembra essere necessario apportare modifiche.
Qualora pensiate che il vostro appliances abbia problemi di performances derivanti dalle NIC potete utilizzare questa guida per la diagnosy del problema.

4. Dimensionamento secondo la rumorosità degli apparati


Per fornire il prodotto adeguato è necessario pensare a dove verrà collocato il firewall.
Se l'apparato verrà collocato nelle vicinanze di persone che lavorano, sarà necessario scegliere una macchina con un basso livello di rumore o sarà necessario l'acquisto di apposito kit silent!

Ultimamente, per effetto della nuova tecnologia a 25 nanometri di Intel, le potenze assorbite si sono ridotte moltissimo e di conseguenza anche il calore dissipato è diminuito.

Dal punto di vista progettuale, abbiamo preferito mantenere nei modelli di fascia alta (tipicamente impiegati in datacenter o CED) la ventola. Questo perché, qualora la board o la CPU rilevassero alte temperature, l'ausilio della ventola riporterebbe in pochi secondi la temperatura a livelli accettabili.

Di seguito è riportata una tabella nella quale vengono forniti dati indicativi sulla rumorosità degli apparati:
Fascia Apparato Livello di rumore
Entry Level / APU Entry Level / COMPACT / NanoCluster / A2SUTM / Small Cluster Livello 0 (completamente fan less)
AUTM5 / A1-Server Livello 1 (rumore quasi impercettibile)
Power Cluster/APUTM Livello 4 (rumore udibile da 4 / 5 metri)
Note sul rumore:
un dispositivo che dissipa bene il calore, sicuramente durare più a lungo e sarà più stabile e affidabile!
Ecco perché i nostri dispositivi di fascia alta sono progettati in modo tale che il flusso d'aria "investa" i componenti interni raffreddandoli.

5. Quando dovrei usare un sistema Cluster?


Un sistema Cluster è una soluzione composta da un sistema avente due apparati hardware completamente indipendenti. Esistono 3 versioni di soluzioni Cluster, una per piccoli uffici e l'altra per traffico intenso e/o per strutture medio/grandi.
  • NANOCluster: soluzione 1U compatta, studiata per piccoli uffici
  • Small Cluster: soluzione 2U per le PMI e/o piccoli Datacenter che non vogliono rinunciare all’alta affidabilità
  • Power Cluster: soluzione 2U per aziende e organizzazioni che necessitano dell'alta affidabilità
Lo Small Cluster e il Power Cluster sono dispositivi 2U, composti da 2 cassetti indipendenti, mentre il NanoCluster è composto da due apparati Entry Level.
Mediante pfSense® oppure OPNsense® si può ottenere un vero e proprio Cluster attivo passivo configurato per ottenere l'alta affidabilità tra i 2 apparati che diventano a tutti gli effetti dei nodi del cluster.
Gli altri S.O. non hanno (speriamo solo per ora) una funzione come il CARP di pfSense®/OPNsense® ma possono essere comunque configurati in modo tale che l'utente possa spegnere manualmente uno dei due sistemi ed accendere l'altro. Possiamo dire quindi che si tratta di un sistema Cluster che nel caso di pfSense® e OPNsense® è automatico ed in caso di altri S.O. è manuale. Tale sistema dovrebbe essere utilizzato in ambienti dove l'alta affidabilità è obbligatoria.

6. Dimensionamento istantaneo


In base alle nostre esperienze abbiamo stilato una classificazione delle installazioni che abbiamo seguito negli anni. Tale classificazione non è solo frutto dell'esperienza fatta durante l'installazione del firewall, ma anche dell'evoluzione tecnologica che l'utilizzatore richiede al dispositivo durante gli anni di utilizzo.

I risultati sono legati per esempio all'evoluzione tecnologica che ogni azienda/ente subisce o richiede negli anni per esigenze diverse. Per esempio le piccole aziende richiedono inizialmente l'installazione di un semplice firewall. Normalmente non passa molto tempo dalla presentazione di richieste come la VPN, filtraggio dei contenuti o regole di navigazione.

Per questo in base al numero di "dispositivi attivi" (cioè di dispositivi connessi ad internet) abbiamo elaborato la seguente tabella che tiene anche conto dei concetti sopra riportati:

Modello firewallN. di dispostivi attivi
Entry Level o NanoClusterda 1 a 5 utenti
Entry level APU o NanoClusterda 1 a 10 utenti
COMPACT o A2SUTM o Small Clusterda 8 a 35 utenti
AUTM5 o A2SUTM o Small Clusterda 20 a 60 utenti
A1-SERVER o Power Clusterda 50 a 350 utenti (with i3 CPU)
APUTM o Power Clusterda 100 a 2000 utenti (with i3 CPU)
APUTM o Power Clusterda 100 a 3500/5000 utenti (with i7 CPU)


7. Analisi performance apparati


NO VPN
BRIDGE NAT
TCP UDP TCP UDP
Banda Banda Jitter Banda Banda Jitter
ALIX 86,60 Mbps 87,10 Mbps 0,123 ms 86,57 Mbps 88,40 Mbps 0,122 ms
APU 474,00 Mbps 735,00 Mbps 0,028 ms 474,00 Mbps 535,00 Mbps 0,037 ms
CASUTM 595,00 Mbps 653,00 Mbps 0,033 ms 595,00 Mbps 535,00 Mbps 0,037 ms
AUTM5 754,50 Mbps 735,00 Mbps 0,024 ms 551,20 Mbps 560,00 Mbps 0,035 ms
Power Microcluster 939,00 Mbps 784,00 Mbps 0,029 ms 942,00 Mbps 784,00 Mbps 0,025 ms
APUTM 939,00 Mbps 784,00 Mbps 0,029 ms 942,00 Mbps 784,00 Mbps 0,025 ms


OPEN VPN
AES128 AES256 Blowfish
TCP UDP TCP UDP TCP UDP
Banda Banda Jitter Banda Banda Jitter Banda Banda Jitter
ALIX 13,43 Mbps 18,00 Mbps 0,052 ms 12,30 Mbps 16,00 Mbps 0,048 ms 14,67 Mbps 20,00 Mbps 0,095 ms
APU 68,20 Mbps 60,00 Mbps 0,055 ms 58,63 Mbps 55,00 Mbps 0,073 ms 79,33 Mbps 68,40 Mbps 0,057 ms
CASUTM 62,77 Mbps 75,50 Mbps 0,038 ms 56,10 Mbps 65,30 Mbps 0,064 ms 71,93 Mbps 87,10 Mbps 0,040 ms
AUTM5 80,20 Mbps 94,10 Mbps 0,026 ms 69,40 Mbps 80,25 Mbps 0,042 ms 97,10 Mbps 114,80 Mbps 0,040 ms
Power Microcluster 135,24 Mbps 121,74 Mbps 0,024 ms 116,16 Mbps 106,88 Mbps 0,031 ms 153,79 Mbps 138,41 Mbps 0,029 ms
APUTM 135,24 Mbps 121,74 Mbps 0,024 ms 116,16 Mbps 106,88 Mbps 0,031 ms 153,79 Mbps 138,41 Mbps 0,029 ms


IPSec
AES128 AES256 Blowfish128 3DES
TCP UDP TCP UDP TCP UDP TCP UDP
Banda Banda Jitter Banda Banda Jitter Banda Banda Jitter Banda Banda Jitter
ALIX 15,27 Mbps 16,00 Mbps 0,105 ms 13,73 Mbps 14,00 Mbps 0,116 ms 14,10 Mbps 15,00 Mbps 0,106 ms 8,62 Mbps 9,00 Mbps 0,089 ms
APU 49,00 Mbps 70,00 Mbps 0,061 Mbps 45,60 Mbps 54,20 Mbps 0,028 ms 44,60 Mbps 58,20 Mbps 0,083 ms 26,53 Mbps 32,00 Mbps 0,051 ms
CASUTM 60,13 Mbps 67,20 Mbps 0,042 ms 56,03 Mbps 63,20 Mbps 0,049 ms 56,87 Mbps 66,10 Mbps 0,057 ms 34,43 Mbps 37,10 Mbps 0,042 ms
AUTM5 74,22 Mbps 80,40 Mbps 0,079 ms 68,60 Mbps 73,50 Mbps 0,064 ms 69,70 Mbps 71,30 Mbps 0,074 ms 37,80 Mbps 40,00 Mbps 0,023 ms
Power Microcluster 109,54 Mbps 106,77 Mbps 0,039 ms 103,72 Mbps 96,06 Mbps 0,035 ms 105,99 Mbps 95,01 Mbps 0,039 ms 62,82 Mbps 54,86 Mbps 0,024 ms
APUTM 109,54 Mbps 106,77 Mbps 0,039 ms 103,72 Mbps 96,06 Mbps 0,035 ms 105,99 Mbps 95,01 Mbps 0,039 ms 62,82 Mbps 54,86 Mbps 0,024 ms


IPSec
AES128 AES256 3DES
TCP UDP TCP UDP TCP UDP
Banda Banda Jitter Banda Banda Jitter Banda Banda Jitter
ALIX 15,27 Mbps 16,00 Mbps 0,105 ms 13,73 Mbps 14,00 Mbps 0,116 ms 8,62 Mbps 9,00 Mbps 0,089 ms
ALIX + Card (*) 48,33 Mbps 39,10 Mbps 0,061 ms 48,07 Mbps 39,10 Mbps 0,078 ms 48,57 Mbps 39,10 Mbps 0,049 ms
Gain [%] 216,50% 144,38% 41,90% 250,11% 179,29% 32,76% 463,46% 334,44% 44,94%

(*) Queste misure sono state effettuate utilizzando il modulo hardware di compressione.