Ciao !!! I Syahrulloh, in questo blog ho discuterà su VPS server e Linux.

Web Application Firewall (WAF)



Per ragioni abbastanza evidenti, un Web Application Firewall dovrebbe essere sempre presente tra il Web Server che ospita i contenuti e gli utenti che effettuano le richieste verso di esso.
Il Firewall intercetta le richieste prima che raggiungano il tuo blog, e solo dopo aver soddisfatto I requisiti necessari, la richiesta va in porto. Ovviamente a tempo di record, per non intaccare le prestazioni della nostra Web Application.
La sequenza quindi viene iniziata da chi vuole raggiungere il nostro blog (o lo vuole attaccare) --> la richiesta viene presa in carico dal server http del nostro fornitore di hosting che la rigira verso il Virtual Host dove risiede lo spazio a nostra disposizione --> a questo punto interviene il WAF che controlla ed applica i filtri di sicurezza --> per far arrivare infine la richiesta a Wordpress.
Su un servizio di hosting condiviso non è possibile implementare una soluzione del genere, perché non possiamo scalare verso l’alto oltre il nostro mero spazietto.
Esiste un plugin che riesce a fare tutto questo per noi, ed una volta apprese le nozioni base può diventare un nostro fidato amico.
Prima di scaricarlo ed installarlo come ogni altro plugin, devi capire la differenza tra tutti i plugin e NinjaFirewall (WP edition), scaricabile all’indirizzo https://wordpress.org/plugins/ninjafirewall
Tutte le richieste effettuate verso Wordpress hanno questa sequenza

Utente --> HTTP server (+ PHP) -->WordPress --> Plugins

NinjaFirewall (WP edition) invece agisce prima che la richiesta arrivi al cuore del nostro blog, e a differenza di altri prodotti dedicati alla sicurezza, protegge tutti gli script PHP, quindi anche quelli che non fanno parte del pacchetto di WordPress, perché va a proteggere tutto ciò che si trova nella cartella di Wordpress e le sue sottocartelle, quindi se hai creato pagine in php saranno protette allo stesso modo.

Utente --> HTTP server (+ PHP) -->NinjaFirewall --> WordPress
                                                                                                   --webapp1
                                                                                                   --webapp2

Una volta installato e attivato è bene fare attenzione a questa prima parte, mi raccomando!
Stiamo configurando un Firewall, non un plugin qualsiasi. Prima di effettuare modifiche importanti, effettuare migrazioni da un fornitore di hosting all’altro, disattiva il plugin. Non perderai le tue impostazioni. Lo stai solo fermando per lil tempo necessario alle operazioni.


Installazione


Dopo averlo installato come un qualsiasi plugin andiamo sul menu e clicchiamo su NinjaFirewall per avviare la procedura di configurazione. Clicchiamo avanti alla prima pagina e controlliamo che il path di installazione di Wordpress inserito in automatico corrisponda con il nostro.
Indichiamo la nostra configurazione Web Server al prodotto nella schermata che segue:




Devi scegliere la tua configurazione, se hai Apache come Web Server o Nginx o LiteSpeed è qui che va dichiarato.
Se non lo sai o non hai modo di reperire l’informazione (ce l’hai ce l’hai…) puoi usare Other WebServer.
Stessa cosa per il file php.ini in uso sul tuo spazio web.
Il prossimo passaggio è autorizzare Ninja Firewall WP a proteggere tutti gli script PHP, e per farlo deve aggiungere una direttiva al file php.ini.
Hai due scelte, o lo fa lui per te o lo aggiungi manualmente. Optiamo per la prima.






Siamo arrivati alla fine ed il plugin ci notifica che al nostro indirizzo mail ci sono state inviate delle rapide istruzioni e risoluzione di errori comuni. Testiamo il Firewall per iniziare.




Se è andato tutto secondo il verso giusto vedrai la schermata comprendente anche il messaggio dove ti viene detto che il tuo utente è stato inserito nella whitelist del firewall.
Se hai incontrato errori nel riconoscimento del file php.ini e sei su un hosting condiviso, seleziona il file user.ini e tutto dovrebbe andare liscio, altrimenti il team che lo ha sviluppato puó offrirti supporto.

Ninja Firewall WP offre un corposo menu, che trovi nella classica colonna di sinistra della Dashboard.

Vediamo nel dettaglio, tutto ciò che questo prodotto ci offre.





Statistiche


Ora vuoto, con il tempo, le statistiche diventeranno molto interessanti, devi avere solo un po’di pazienza.





Opzioni


Le OPZIONI del Firewall sono, con la possibilità di personalizzare anche in HTML, il messaggio di errore in caso di blocco (mi raccomando, dacci dentro...), l’immancabile import ed export delle configurazioni più le seguenti:

Firewall protection: Poco da dire, abilitato o disabilitato.


Debugging mode: Disabilitato di default, nel caso volessi, ma non è consigliato per la mole di dati che potrebbe scrivere, puoi abilitarlo da qui. Questa modalitá è consigliata se stai effettuando uno sviluppo custom del sito e necessiti di tutte le informazioni sulle chiamate effettuate tramite GET e POST.


HTTP error code to return: Quale messaggio di errore vuoi far vedere al malintenzionato di turno? Puoi scegliere tra diverse soluzioni, ma devi necessariamente conoscere gli errori server e la differenza tra 403 (Forbidden, quindi dichiarare all’utente che sta accedendo in maniera impropria ad una risorsa),  404 (La famosa pagina non trovata, ma non te la consiglio perchè si vedrebbe lontano un miglio che bluffi) e cosi via. Abbiamo trattato diverse volte l’argomento, a parte la 404, può essere una buona idea sviare le indagini e non dare una percezione reale all’utente che ha fatto una richiesta strana. A tua fantasia, sappi che un Firewall che ti blocca ha grande impatto psicologico se l’attaccante è alle prime armi.


Blocked user message: Il messaggio che vuoi che venga stampato a video in caso di blocco. Puoi usare l’html, quindi magari puoi inserire il tuo logo o qualcosa di carino.





Policies


Questo è uno dei punti più interessanti e più delicati del firewall. Non abilitare tutto per sentirti più tranquillo, lo faresti lavorare troppo e inutilmente.

Piuttosto, cerca di capire ad ogni azione quale reazione andrai a scatenare, e tutto sarà molto più semplice.

La prima parte è inerente al tipo di traffico che il firewall deve gestire. Se non utilizzi un certificato SSL puoi selezionare HTTP traffic only. Se il tuo sito/blog prevede il caricamento di file da parte degli utenti devi dirlo al firewall, altrimenti di default verranno disabilitati. E’ importante disabilitare l’upload se non lo prevedi.


Se all’interno del tuo blog hai diversi utenti con il ruolo di autore, abilitati cioè a scrivere articoli ma non ad amministrare la piattaforma, dovrai abilitare l’opzione, o non riusciranno a caricare le immagini da inserire nell’articolo.







Lascia le altre opzioni con i valori di default, prestando attenzione ad un’opzione in particolare. Se nel tuo sito è integrato l’e-Commerce e non riesci ad effettuare le transazioni, devi disabilitare il Blocco di scanner/bot sospetti (Block suspicious bots/scanners). 

Verifica prima di disabilitarlo, molto dipende dai plugin che utilizzi per fare e-Commerce.




File Guard


File Guard è una caratteristica molto importante di questo plugin.
Ninja Firewall è in grado di rilevare, in tempo reale , qualsiasi accesso a un file PHP e rilevarne eventuali manomissioni o creazioni, inviandoti una segnalazione.
Se l’attaccante cerca di caricare uno script sul tuo sito (o richiama una backdoor in un file già esistente caricata prima dell’installazione del plugin ) e prova ad accedere direttamente al file utilizzando il browser, il Firewall intercetta la richiesta http, rileva la creazione o modifica del file e ti notificherà via mail con un un log dettagliato con il nome dello script , l’IP sorgente , la data e l’ora.
Avere un prodotto che in Real Time veglia sul tuo Wordpress non è poco.
Di default è disabilitato, se intendi fruire di questa opzione devi abilitarlo.

Se devi compiere importanti personalizzazioni al tuo blog, lascialo disabilitato, e ricordati di abilitarlo di nuovo quando vai in Produzione (Produzione, in gergo, è l’ambiente con il prodotto reso accessibile al pubblico, quindi stop alle grandi manovre!).

File Check


File Check è un valore aggiunto ad un plugin di per se già molto completo.
Quando pensi di aver completato l’installazione di plugin, hai deciso quale tema utilizzare ed hai aggiornato la versione di Wordpress, puoi chiedere al Firewall di eseguire uno snapshot (una “foto”) della situazione attuale.
Ninja Firewall quindi scriverà su un file di testo i nomi dei file presenti nel tuo sito, scandagliando anche le sottocartelle ed i file contenuti in esse.
Una volta effettuato lo snapshot puoi effettuare una scansione manuale (farà la differenza tra lo snapshot e il nuovo scan) o se lasciarlo fare a lui determinando con quale frequenza deve effettuarlo.
Il tutto contornato con mail riepilogativa in caso di cambiamenti rilevati (puoi anche scegliere di riceverlo sempre, anche in caso negativo).
Questo plugin non svolge solamente il ruolo di WAF, se impari a domarlo, con un po’di esperienza, sarà il tuo più grande alleato, nonché segretario (visto tutte le mail che ti invia…)

Event notifications


In Event Notification stabilisci per cosa vuoi ricevere una mail di notifica e a quale indirizzo desideri riceverlo. Puoi anche scegliere di non ricevere nessuna mail di notifica, ma non è consigliato.
Se l’amministrazione è delegata a più utenze, nel campo mail separali con una virgola 

(miamail@mail.it,tuamail@mail.it)


Login Protection


Altra funzionalità molto interessante è la protezione della pagina di login e del processo di autenticazione. Possiamo scegliere fra tre opzioni.
Se vuoi utilizzare un plugin dedicato alla protezione della pagina di login, non usare anche questa funzionalitá del firewall, faresti un doppio controllo e le policies potrebbero essere differenti ed andare in conflitto.
Sempre attivo, disabilitato (non consigliato, al netto di plugin dedicati), o solo sotto attacco (per me, la più interessante tra le tre).




Vediamo nello specifico la configurazione dell’opzione sotto attacco (Yes, if under attack).
Decidiamo per prima cosa quando deve scattare la soglia di allarme, cioè in quale situazione (GET o POST), quanti tentativi errati ripetuti in un breve lasso di tempo specifico.

Di deafult abbiamo già selezionato il metodo POST, lasciamolo cosi, altrimenti anche un semplice refresh della pagina fatto di continuo (attività comunque sospetta) farebbe scattare l’allarme.
Aspettiamo che il malintenzionato effettui una POST ed inserisca dei dati (una login ed una password, se fatti in modalità bruteforce, saranno nmila tentativi di accesso ripetuti i breve tempo).

In HTTP authentication possiamo inserire l’utenza con la password che avrà la possibilità di bypassare la protezione quando il sito è sotto attacco (quindi la nostra di amministratore, ricordati di lascirti sempre una via di fuga...)


Quando il sito è sotto attacco Ninja Firewall (da buon firewall) lo renderà indisponibile per proteggerlo.

Se non ti senti confidenti nell’utilizzo di questa opzione, puoi utilizzare sempre il plugin Login Lockdown , prendi però in considerazione che un attacco massivo, a meno che tu non abbia un traffico da milioni di utenti al giorno (il mio augurio per te è quello di arrivarci presto!!!), è un ipotesi remota, e se proprio dovesse accadere faresti trovare i tuoi utenti nel bel mezzo di una guerriglia, con un sito instabile che non dia l’esatta concezione di come lo avevi concepito.

Il sito potrebbe essere instabile perché sovraccarico. Con un WAF le prestazioni del server vengono preservate. Considera l’ipotesi di alzare i valori delle soglie, e fai un tentativo con la Login Protection del WAF.

Un’idea, per iniziare, è quella di alzare il valore delle POST (di default 8, un po’pochine). Alzalo gradualmente fino ad 80 e fai i test sulla macchina virtuale, il nostro ambiente di Collaudo serve proprio a questo, e verifica il valore piú consono alle tue esigenze.





Quando si verificano i presupposti per un blocco da parte del firewall all’utente viene stampato un numero incident a video, per contattare l’ammnistratore e fornire il numero per la risoluzione del problema.
Fai tesoro di queste segnalazioni, perché ti aiuteranno a capire cosa è successo in quel determinato momento consultando i log e filtrando per numero di incident.

Firewall Log & Live Log


Firewall Log ci permette di scrollare il file di log delle attività rilevate dal firewall. Il log ha una rotation mensile (quindi si archivia e ne viene creato una nuovo), nel menù a tendina puoi selezionare la data di tuo interesse.
Il Live Log invece puoi utilizzarlo se stai monitorando in tempo reale la situazione sul sito o se stai effettuando dei test e vuoi vedere cosa effettivmanente il Firewall rileva.
E’ importante capire la struttura del file di log per poter interpretare eventuali anomalie nelle regole che vedremo nel prossimo paragrafo.
La struttura del file di log contiene

DATE : la data dell’incident riportato.

INCIDENT : quando un utente viene bloccato da una regola specifica viene stampato a video un incident id da comunicare all’amministratore di sistema. Tramite quel numero sarai in grado di risalire alla regola e stabilire se si tratta di un falso positivo (e se vuoi potrai disabilitarla), o se il firewall ha agito correttamente.

LEVEL : dichiara se il livello ha una sua criticità  (critical, high or medium), o se è di tipo informativo (info, upload)

RULE : NinjaFIrewall ha un set precostituito di regole al suo interno, che vanno dal Cross Site Scripting alle vulnerabilità note di Wordpress. Il numero indicato nel log ti aiuta a comprendere la criticità dell’evento. Se al posto del numero trovi un trattino (-) significa che la regola è inclusa altrove (ad esempio se utilizzi il Plugin Limt Login Attempts ed un utente si logga, il firewall intercetta l’evento ma non ha applicato nessuna regola precisa.


IP: contiene l’IP che ha scatenato l’evento.

REQUEST : include il tipo di richiesta (GET/POST) con le variabili passate. Se non c’è il tipo di request fa riferimentonto ad eventi occorsi all’interno del database, come l’installazione di un nuovo plugin.


Rules Editor

Il Rules Editor, come anticipato poco fa, è l’insieme delle regole che il Firewall deve applicare, associando ognuna di queste regole ad un tipo di evento. Non è possibile modificare la regola, ma è possibile disabilitarla/abilitarla da qui.
Se un tuo utente ti segnala l’impossiilità a compiere un determinata azione sul tuo sito ed una regola va in conflitto con quest’ultima, fatti dare il numero di incident e disabilita la regola da qui.



Tramite il menù a tendina hai la possibilità di vedere tutte le regole presenti.    


Updates

L’ennesimo valore aggiunto del plugin. 
Se vuoi ottenere il MASSIMO della protezione lascia al Firewall la possibilità di scaricare le ultime definizioni per le regole.
Farà lui un check (puoi sempre scegliere ogni quanto fargli fare il controllo).

Se viene rilevata una nuova vulnerabilità su Wordpress, sui temi o su un plugin in particolare, un nuovo set di regole verrà creato dal team che lo sviluppa, e sarà subito disponibile sul tuo firewall.

Attenzione, solo le security rules verranno aggiornate, non il prodotto, che essendo un plugin di Wordpress va aggiornato come tale in caso di nuova release.

Se vuoi essere sicuro di avere sempre le ultime regole aggiornate e non vuoi correre il rischio di vulnerabilità, abilita questa opzione.
Assicurati di aver selezionato di ricevere l’alert via mail in caso di aggiornamento delle regole.
Ok, il nostro Firewall è pronto all'azione!



arulajeh.id Situs Berita Terbaru Dan Terbaik