GNU/Linux >> Linux Esercitazione >  >> Linux

Un'introduzione ai firewall delle applicazioni Web per gli amministratori di sistema Linux

I firewall sono stati in circolazione in una forma o nell'altra dall'inizio del networking. I primi firewall non sono stati nemmeno identificati come firewall; non erano altro che barriere fisiche tra le reti. Fu solo negli anni '80 che il primo dispositivo specificamente progettato per essere (e denominato) un firewall fu sviluppato da DEC. Da allora, i firewall si sono evoluti in una miriade di moduli.

Ma cos'è un firewall? Al suo interno, un firewall è un dispositivo progettato per consentire o negare il traffico in base a un insieme di regole. Tali regole possono essere semplici come "consenti HTTP e blocca tutto il resto" oppure possono essere infinitamente più complesse, inclusi protocolli, porte, indirizzi e persino il fingerprinting delle applicazioni. Alcuni firewall moderni hanno persino incorporato l'apprendimento automatico nel mix.

Presentazione del WAF

Come con altre tecnologie, con l'evoluzione dei firewall sono stati identificati alcuni usi di nicchia.

I Web Application Firewall (WAF) sono uno di quegli usi di nicchia. Un WAF è un firewall progettato specificamente per gestire il traffico "web"; ovvero, il traffico che utilizza il protocollo HTTP. In generale, il ruolo di un WAF è ispezionare tutto il traffico HTTP destinato a un server Web, scartare le richieste "cattive" e passare il traffico "buono". I dettagli su come funziona sono, come potresti sospettare, un po' più complicati.

Proprio come i firewall "normali", un WAF dovrebbe bloccare determinati tipi di traffico. Per fare ciò, devi fornire al WAF un elenco di cosa bloccare. Di conseguenza, i primi prodotti WAF sono molto simili ad altri prodotti come software antivirus, prodotti IDS/IPS e altri. Questo è ciò che è noto come rilevamento basato sulla firma. Le firme in genere identificano una caratteristica specifica di un pacchetto HTTP che desideri consentire o negare.

Esempi WAF

Ad esempio, i WAF vengono spesso utilizzati per bloccare gli attacchi SQL injection. Una firma molto semplicistica potrebbe semplicemente cercare elementi chiave che identificano un tipico attacco SQL injection. Ad esempio, potrebbe cercare qualcosa come ' AND 1=1 incluso come parte della richiesta GET o POST. Se corrisponde a un pacchetto in arrivo, il WAF lo contrassegna come non valido e lo scarta.

Le firme funzionano abbastanza bene, ma richiedono molta manutenzione per garantire che i falsi positivi siano ridotti al minimo. Inoltre, scrivere firme è spesso più una forma d'arte piuttosto che un semplice compito di programmazione. E anche la scrittura della firma può essere piuttosto complicata. Stai spesso cercando di abbinare un modello di attacco generale senza abbinare anche il traffico legittimo. Per essere sinceri, questo può essere piuttosto snervante.

Tra le erbacce WAF

Per illustrarlo un po' di più, diamo un'occhiata a ModSecurity. Il progetto ModSecurity è un progetto WAF open source che è iniziato come modulo per il server web Apache, ma da allora si è evoluto in un pacchetto modulare che funziona con IIS, Nginx e altri. ModSecurity è un WAF basato sulle firme e spesso viene fornito con un set predefinito di firme noto come OWASP ModSecurity Core Rule Set.

Il Core Rule Set (CRS) è un ottimo punto di partenza per la distribuzione di un WAF basato sulla firma. Include firme per tutti i rischi per la sicurezza delle applicazioni Web OWASP Top Ten, nonché un'ampia varietà di altri attacchi. Gli sviluppatori hanno fatto del loro meglio per garantire che il CRS abbia pochi falsi allarmi, ma, inevitabilmente, chiunque utilizzi il CRS dovrà modificare le regole. Ciò implica l'apprendimento del linguaggio delle regole e una profonda comprensione del protocollo HTTP.

La tecnologia si evolve, tuttavia, e i nuovi fornitori di WAF utilizzano altri approcci per bloccare il traffico scadente. C'è stato un passaggio piuttosto diffuso da approcci di configurazione statica come elenchi di autorizzazioni e blocchi a metodi più dinamici che coinvolgono API e apprendimento automatico. Questa mossa è avvenuta su più tecnologie, inclusi firewall tradizionali, software antivirus e, come hai intuito, WAF.

[ Rete fuori controllo? Dai un'occhiata all'automazione della rete per tutti, un libro gratuito di Red Hat. ]

Un WAF può imparare

Nel nuovo e coraggioso mondo dei set di regole dinamici, i WAF utilizzano approcci più intelligenti per identificare il traffico buono e cattivo. Uno dei metodi più "facili" utilizzati è quello di mettere il WAF in modalità "apprendimento" in modo che possa monitorare il traffico che scorre da e verso il server web protetto. L'obiettivo qui è "addestrare" il WAF per identificare che aspetto ha un buon traffico. Ciò può includere il traffico che corrisponde a schemi etichettati come non validi quando sono state utilizzate le firme. Una volta che il WAF è stato addestrato, è passato alla modalità di applicazione.

L'addestramento di un WAF come questo è simile a ciò che accade quando si addestra un sistema di posta elettronica per identificare lo spam. I sistemi di posta elettronica utilizzano spesso un algoritmo di filtraggio bayesiano per identificare lo spam. Questi algoritmi funzionano relativamente bene ma possono essere avvelenati per consentire lo spam. Problemi simili esistono con gli algoritmi utilizzati dai fornitori di WAF, soprattutto quando il WAF è in modalità di apprendimento.

I provider WAF più avanzati utilizzano tecniche proprietarie per consentire e bloccare il traffico. Queste tecniche includono algoritmi in grado di identificare se determinati attacchi funzioneranno contro il sistema di destinazione e bloccano solo quelli che sarebbero dannosi. Tecniche avanzate come questa, tuttavia, si trovano in genere solo nei provider SaaS WAF e non nelle apparecchiature WAF autonome.

[ Hai bisogno di maggiore sicurezza di rete? VLAN per amministratori di sistema:le basi ]

Concludi

I WAF, e i firewall in generale, si sono evoluti molto nel corso degli anni, passando da metodi statici a metodi dinamici per identificare e bloccare il traffico. Queste tecniche miglioreranno solo in futuro. Ci sono una varietà di soluzioni disponibili da open source a fornitori commerciali. Non importa quali siano le tue esigenze, c'è un WAF là fuori per te.


Linux
  1. I miei comandi Linux preferiti per l'ottimizzazione delle immagini web

  2. 10 browser Web leggeri e open source per Linux

  3. Demistificare Ansible per gli amministratori di sistema Linux

  4. 5 suggerimenti avanzati di rsync per gli amministratori di sistema Linux

  5. 30 Esercizi sui processi Linux per amministratori di sistema

Terminal Velocity:un'applicazione CLI per prendere appunti per Linux

Un'introduzione a Cockpit, uno strumento di amministrazione basato su browser per Linux

Guida rapida ad Ansible per amministratori di sistema Linux

30 Esercizi sulle autorizzazioni Linux per amministratori di sistema

40 utili comandi di rete Linux per i moderni amministratori di sistema

Che cos'è un WAF (Web Application Firewall)? Tipi di WAF