Sicurezza di rete - Firewall

Quasi ogni organizzazione di media e grande scala ha una presenza su Internet e ha una rete organizzativa ad essa collegata. Il partizionamento della rete al confine tra Internet esterno e la rete interna è essenziale per la sicurezza della rete. A volte la rete interna (intranet) viene definita lato "attendibile" e Internet esterno come lato "non attendibile".

Tipi di firewall

Il firewall è un dispositivo di rete che isola la rete interna dell'organizzazione da una rete / Internet esterna più grande. Può essere un hardware, software o un sistema combinato che impedisce l'accesso non autorizzato alla o dalla rete interna.

Tutti i pacchetti di dati che entrano o escono dalla rete interna passano attraverso il firewall, che esamina ogni pacchetto e blocca quelli che non soddisfano i criteri di sicurezza specificati.

Distribuire un firewall ai confini della rete è come aggregare la sicurezza in un unico punto. È analogo a chiudere un appartamento all'ingresso e non necessariamente a ciascuna porta.

Il firewall è considerato un elemento essenziale per ottenere la sicurezza della rete per i seguenti motivi:

  • È improbabile che la rete interna e gli host siano adeguatamente protetti.

  • Internet è un luogo pericoloso con criminali, utenti di aziende concorrenti, ex dipendenti scontenti, spie di paesi ostili, vandali, ecc.

  • Per impedire a un utente malintenzionato di lanciare attacchi denial of service sulle risorse di rete.

  • Per impedire la modifica / l'accesso illegale ai dati interni da parte di un utente malintenzionato esterno.

Il firewall è classificato in tre tipi di base:

  • Filtro pacchetti (stateless e stateful)
  • Gateway a livello di applicazione
  • Gateway a livello di circuito

Queste tre categorie, tuttavia, non si escludono a vicenda. I firewall moderni hanno un mix di capacità che possono collocarli in più di una delle tre categorie.

Firewall di filtraggio dei pacchetti stateless e stateful

In questo tipo di distribuzione del firewall, la rete interna è collegata alla rete esterna / Internet tramite un firewall del router. Il firewall ispeziona e filtra i dati pacchetto per pacchetto.

Packet-filtering firewalls consentire o bloccare i pacchetti principalmente in base a criteri quali indirizzi IP di origine e / o destinazione, protocollo, numeri di porta di origine e / o destinazione e vari altri parametri all'interno dell'intestazione IP.

La decisione può essere basata su fattori diversi dai campi dell'intestazione IP come il tipo di messaggio ICMP, i bit TCP SYN e ACK, ecc.

La regola del filtro dei pacchetti ha due parti:

  • Selection criteria - È usato come condizione e pattern matching per il processo decisionale.

  • Action field- Questa parte specifica l'azione da intraprendere se un pacchetto IP soddisfa i criteri di selezione. L'azione può essere bloccare (negare) o consentire (consentire) il pacchetto attraverso il firewall.

Il filtraggio dei pacchetti viene generalmente eseguito configurando gli elenchi di controllo di accesso (ACL) su router o switch. ACL è una tabella delle regole di filtro dei pacchetti.

Quando il traffico entra o esce da un'interfaccia, il firewall applica gli ACL dall'alto verso il basso a ciascun pacchetto in entrata, trova i criteri di corrispondenza e consente o nega i singoli pacchetti.

Stateless firewallè una specie di strumento rigido. Guarda il pacchetto e lo consente se soddisfa i criteri anche se non fa parte di alcuna comunicazione in corso stabilita.

Pertanto, tali firewall vengono sostituiti da stateful firewallsnelle reti moderne. Questo tipo di firewall offre un metodo di ispezione più approfondito rispetto agli unici metodi di ispezione dei pacchetti basati su ACL dei firewall senza stato.

Il firewall con stato monitora la configurazione della connessione e il processo di smontaggio per tenere sotto controllo le connessioni a livello TCP / IP. Ciò consente loro di tenere traccia dello stato delle connessioni e di determinare quali host hanno connessioni aperte e autorizzate in un dato momento.

Fanno riferimento alla rule base solo quando viene richiesta una nuova connessione. I pacchetti appartenenti alle connessioni esistenti vengono confrontati con la tabella di stato delle connessioni aperte del firewall e viene presa la decisione di consentire o bloccare. Questo processo consente di risparmiare tempo e fornisce anche una maggiore sicurezza. Nessun pacchetto può oltrepassare il firewall a meno che non appartenga a una connessione già stabilita. Può eseguire il timeout delle connessioni inattive al firewall dopo di che non ammette più i pacchetti per quella connessione.

Gateway dell'applicazione

Un gateway a livello di applicazione funge da nodo di inoltro per il traffico a livello di applicazione. Intercettano i pacchetti in entrata e in uscita, eseguono proxy che copiano e inoltrano informazioni attraverso il gateway e funzionano come fileproxy server, impedendo qualsiasi connessione diretta tra un server o un client attendibile e un host non attendibile.

I proxy sono specifici dell'applicazione. Possono filtrare i pacchetti a livello di applicazione del modello OSI.

Proxy specifici dell'applicazione

Un proxy specifico dell'applicazione accetta i pacchetti generati solo dall'applicazione specificata per cui sono progettati per essere copiati, inoltrati e filtrati. Ad esempio, solo un proxy Telnet può copiare, inoltrare e filtrare il traffico Telnet.

Se una rete si basa solo su un gateway a livello di applicazione, i pacchetti in entrata e in uscita non possono accedere a servizi che non hanno proxy configurati. Ad esempio, se un gateway esegue proxy FTP e Telnet, solo i pacchetti generati da questi servizi possono passare attraverso il firewall. Tutti gli altri servizi sono bloccati.

Filtro a livello di applicazione

Un gateway proxy a livello di applicazione, esamina e filtra i singoli pacchetti, anziché semplicemente copiarli e inoltrarli ciecamente attraverso il gateway. I proxy specifici dell'applicazione controllano ogni pacchetto che passa attraverso il gateway, verificando il contenuto del pacchetto attraverso il livello dell'applicazione. Questi proxy possono filtrare particolari tipi di comandi o informazioni nei protocolli dell'applicazione.

I gateway dell'applicazione possono limitare l'esecuzione di azioni specifiche. Ad esempio, il gateway potrebbe essere configurato per impedire agli utenti di eseguire il comando "FTP put". Ciò può impedire la modifica delle informazioni memorizzate sul server da parte di un utente malintenzionato.

Trasparente

Sebbene i gateway a livello di applicazione possano essere trasparenti, molte implementazioni richiedono l'autenticazione dell'utente prima che gli utenti possano accedere a una rete non attendibile, un processo che riduce la vera trasparenza. L'autenticazione può essere diversa se l'utente proviene dalla rete interna o da Internet. Per una rete interna, è possibile consentire a un semplice elenco di indirizzi IP di connettersi ad applicazioni esterne. Ma dal lato Internet dovrebbe essere implementata un'autenticazione forte.

Un gateway applicazione in realtà inoltra i segmenti TCP tra le due connessioni TCP nelle due direzioni (Client ↔ Proxy ↔ Server).

Per i pacchetti in uscita, il gateway può sostituire l'indirizzo IP di origine con il proprio indirizzo IP. Il processo è denominato NAT (Network Address Translation). Assicura che gli indirizzi IP interni non siano esposti a Internet.

Gateway a livello di circuito

Il gateway a livello di circuito è una soluzione intermedia tra il filtro dei pacchetti e il gateway dell'applicazione. Funziona a livello di trasporto e quindi può fungere da proxy per qualsiasi applicazione.

Analogamente a un gateway applicazione, anche il gateway a livello di circuito non consente una connessione TCP end-to-end attraverso il gateway. Imposta due connessioni TCP e ritrasmette i segmenti TCP da una rete all'altra. Tuttavia, non esamina i dati dell'applicazione come il gateway applicazione. Quindi, a volte viene chiamato "Pipe Proxy".

CALZINI

SOCKS (RFC 1928) si riferisce a un gateway a livello di circuito. È un meccanismo proxy di rete che consente agli host su un lato di un server SOCKS di ottenere l'accesso completo agli host sull'altro lato senza richiedere la raggiungibilità IP diretta. Il client si connette al server SOCKS sul firewall. Quindi il client avvia una negoziazione per il metodo di autenticazione da utilizzare e si autentica con il metodo scelto.

Il client invia una richiesta di inoltro della connessione al server SOCKS, contenente l'indirizzo IP di destinazione desiderato e la porta di trasporto. Il server accetta la richiesta dopo aver verificato che il client soddisfi i criteri di filtraggio di base. Quindi, per conto del client, il gateway apre una connessione all'host non attendibile richiesto e quindi monitora attentamente l'handshaking TCP che segue.

Il server SOCKS informa il client e, in caso di successo, inizia a ritrasmettere i dati tra le due connessioni. I gateway a livello di circuito vengono utilizzati quando l'organizzazione si fida degli utenti interni e non desidera ispezionare i contenuti oi dati dell'applicazione inviati su Internet.

Distribuzione firewall con DMZ

Un firewall è un meccanismo utilizzato per controllare il traffico di rete "in entrata" e "in uscita" da una rete interna dell'organizzazione. Nella maggior parte dei casi questi sistemi hanno due interfacce di rete, una per la rete esterna come Internet e l'altra per il lato interno.

Il processo firewall può controllare strettamente ciò che è consentito attraversare da un lato all'altro. Un'organizzazione che desidera fornire l'accesso esterno al proprio server Web può limitare tutto il traffico in arrivo al firewall previsto per la porta 80 (la porta http standard). Tutto il resto del traffico come il traffico di posta, FTP, SNMP e così via non è consentito attraverso il firewall nella rete interna. Un esempio di un semplice firewall è mostrato nel diagramma seguente.

Nella semplice implementazione di cui sopra, sebbene tutti gli altri accessi dall'esterno siano bloccati, è possibile per un utente malintenzionato contattare non solo un server Web ma qualsiasi altro host sulla rete interna che ha lasciato la porta 80 aperta per errore o in altro modo.

Pertanto, il problema che la maggior parte delle organizzazioni deve affrontare è come consentire l'accesso legittimo a servizi pubblici come Web, FTP ed e-mail mantenendo al contempo una stretta sicurezza della rete interna. L'approccio tipico consiste nell'implementazione di firewall per fornire una zona demilitarizzata (DMZ) nella rete.

In questa configurazione (illustrata nel diagramma seguente), vengono distribuiti due firewall; uno tra la rete esterna e la DMZ e un altro tra la DMZ e la rete interna. Tutti i server pubblici vengono inseriti nella DMZ.

Con questa configurazione, è possibile avere regole del firewall che consentono l'accesso pubblico ai server pubblici, ma il firewall interno può limitare tutte le connessioni in entrata. Avendo la DMZ, i server pubblici ricevono una protezione adeguata invece di posizionarli direttamente su una rete esterna.

Sistema di rilevamento / prevenzione delle intrusioni

I firewall di filtraggio dei pacchetti funzionano in base a regole che coinvolgono solo le intestazioni TCP / UDP / IP. Non tentano di stabilire controlli di correlazione tra sessioni diverse.

Il sistema di rilevamento / prevenzione delle intrusioni (IDS / IPS) esegue la Deep Packet Inspection (DPI) osservando il contenuto del pacchetto. Ad esempio, controllo delle stringhe di caratteri nel pacchetto rispetto al database di virus noti, stringhe di attacco.

I gateway dell'applicazione esaminano il contenuto del pacchetto ma solo per applicazioni specifiche. Non cercano dati sospetti nel pacchetto. IDS / IPS cerca i dati sospetti contenuti nei pacchetti e prova a esaminare la correlazione tra più pacchetti per identificare eventuali attacchi come la scansione delle porte, la mappatura della rete e la negazione del servizio e così via.

Differenza tra IDS e IPS

IDS e IPS sono simili nel rilevamento di anomalie nella rete. IDS è uno strumento di "visibilità" mentre IPS è considerato uno strumento di "controllo".

I sistemi di rilevamento delle intrusioni si trovano a lato della rete, monitorano il traffico in molti punti diversi e forniscono visibilità sullo stato di sicurezza della rete. In caso di segnalazione di anomalia da parte di IDS, le azioni correttive vengono avviate dall'amministratore di rete o da un altro dispositivo sulla rete.

Il sistema di prevenzione delle intrusioni è come un firewall e si trova in linea tra due reti e controlla il traffico che le attraversa. Applica una policy specifica sul rilevamento di anomalie nel traffico di rete. Generalmente, rilascia tutti i pacchetti e blocca l'intero traffico di rete quando rileva un'anomalia fino a quando un'anomalia non viene risolta dall'amministratore.

Tipi di IDS

Esistono due tipi fondamentali di IDS.

  • Signature-based IDS

    • Ha bisogno di un database di attacchi noti con le loro firme.

    • La firma è definita dai tipi e dall'ordine dei pacchetti che caratterizzano un particolare attacco.

    • La limitazione di questo tipo di IDS è che possono essere rilevati solo gli attacchi noti. Questo IDS può anche generare un falso allarme. Un falso allarme può verificarsi quando un normale flusso di pacchetti corrisponde alla firma di un attacco.

    • Un noto esempio di IDS open source pubblico è "Snort" IDS.

  • Anomaly-based IDS

    • Questo tipo di IDS crea un modello di traffico per il normale funzionamento della rete.

    • Durante la modalità IDS, esamina i modelli di traffico che sono statisticamente insoliti. Ad esempio, carico insolito ICMP, crescita esponenziale nelle scansioni delle porte, ecc.

    • Il rilevamento di qualsiasi modello di traffico insolito genera l'allarme.

    • La principale sfida affrontata in questo tipo di implementazione di IDS è la difficoltà nel distinguere tra traffico normale e traffico insolito.

Sommario

In questo capitolo, abbiamo discusso i vari meccanismi impiegati per il controllo dell'accesso alla rete. L'approccio alla sicurezza di rete attraverso il controllo degli accessi è tecnicamente diverso dall'implementazione dei controlli di sicurezza a diversi livelli di rete discussi nei capitoli precedenti di questo tutorial. Tuttavia, sebbene gli approcci di implementazione siano diversi, sono complementari tra loro.

Il controllo dell'accesso alla rete comprende due componenti principali: l'autenticazione dell'utente e la protezione dei confini della rete. RADIUS è un meccanismo popolare per fornire l'autenticazione centrale nella rete.

Il firewall fornisce la protezione dei confini della rete separando una rete interna dall'Internet pubblica. Il firewall può funzionare a diversi livelli del protocollo di rete. IDS / IPS permette di monitorare le anomalie nel traffico di rete per rilevare l'attacco e intraprendere azioni preventive nei confronti dello stesso.