Tutte le risorse

Errori di configurazione della sicurezza e conseguenze per la sicurezza web

Il termine configurazione errata della sicurezza è molto generico e si applica a qualsiasi problema di sicurezza che non sia il risultato di un errore di programmazione ma il risultato di un errore di configurazione. Gli errori di configurazione della sicurezza sono stati definiti come una categoria separata nell'elenco OWASP Top-10 2017 (categoria A6-2017 ). Come afferma la definizione, possono verificarsi a qualsiasi livello di uno stack di applicazioni, inclusi servizi di rete, piattaforma, server Web, server applicazioni, database, framework, codice personalizzato e macchine virtuali, contenitori o storage preinstallati .

Diamo uno sguardo alle configurazioni errate di sicurezza più comuni a cui prestare attenzione per mantenere la sicurezza delle applicazioni web.

Permessi Lax e mancanza di indurimento

Una delle cause più comuni di errori di configurazione della sicurezza è semplicemente non essere sufficientemente rigidi con le autorizzazioni utente e le impostazioni di sicurezza dell'account, soprattutto nel caso di ambienti di produzione. Ad esempio, un errore comune è abilitare un account utente che esegue un servizio per eseguire le shell. In tal caso, e se l'aggressore in qualche modo ottiene l'accesso a questo account utente, è in grado di eseguire comandi nel sistema operativo. Un altro errore comune è l'utilizzo di account condivisi per diversi servizi, ad esempio eseguire il server Web e il server database dallo stesso account.

Per garantire la sicurezza, tutti i servizi su un server di produzione dovrebbero essere eseguiti utilizzando account separati e questi account dovrebbero avere autorizzazioni minime, solo quelle effettivamente necessarie per il servizio. Tale separazione sicura dei privilegi rende quasi impossibile per gli aggressori eseguire l' escalation dei privilegi.

Impostazioni predefinite e password predefinite

Un'altra causa molto comune di errori di configurazione della sicurezza è la fiducia nelle impostazioni predefinite. Non si può presumere che il software professionale sia protetto per impostazione predefinita. Ogni software installato, incluso il server Web, il server delle applicazioni e il server del database, richiede una configurazione di sicurezza manuale.

Tale software di solito viene fornito con tutte le funzionalità attivate, supponendo che l'utente possa trarne vantaggio. Si tratta di una configurazione non sicura perché qualsiasi funzionalità aggiuntiva rappresenta un potenziale punto di ingresso aggiuntivo per un utente malintenzionato. Pertanto, la prima cosa da fare quando si installa un nuovo software è modificare le impostazioni predefinite e disattivare tutti i servizi non necessari, le funzionalità non necessarie, ecc.

Un altro problema che molte aziende devono affrontare è l'uso di account predefiniti e password predefinite. Ad esempio, questo vale per qualsiasi console di amministrazione, router, dispositivi IoT e altro ancora. Per evitare accessi non autorizzati, dovresti cambiare ogni password predefinita e dovresti sapere come creare password sicure . Le configurazioni errate del controllo degli accessi sono una delle cause principali di gravi violazioni della sicurezza.

Esposizione di informazioni

Se un utente malintenzionato scopre che tipo di software stai utilizzando nel tuo back-end, ad esempio il tipo e il numero di versione del tuo server di database, avrà molto più tempo per cercare di trovare le vulnerabilità correlate. Ecco perché è molto importante non esporre mai tali informazioni all'aggressore.

Un sistema ben configurato dovrebbe avere la gestione degli errori configurata per eliminare tutti i messaggi di errore che potrebbero fornire suggerimenti agli aggressori. È inoltre necessario eliminare tutti i banner informativi e qualsiasi altra informazione sensibile diretta o indiretta che possa aiutare l'autore dell'attacco a rilevare la configurazione.

Un altro esempio di esposizione eccessiva è consentire l' elenco delle directory . Se l'autore dell'attacco può elencare il contenuto delle directory sul server Web, è in grado di accedere potenzialmente a molti file non protetti e questi file potrebbero contenere dati sensibili. L'elenco delle directory è considerato un grave difetto di controllo degli accessi.

Software scaduto

La sicurezza delle applicazioni Web è diversa dalla sicurezza della rete, ma le due sono strettamente correlate. Ad esempio, un errore nel software del server web è considerato un problema di sicurezza della rete. Tali errori compaiono spesso e alcuni di essi possono essere gravi. Ecco perché tutto il software deve essere monitorato e aggiornato con le patch di sicurezza più recenti. Un ottimo esempio di bug di sicurezza di rete che influisce sulla sicurezza delle applicazioni web e che ancora infesta molti sistemi è il bug Heartbleed .

Pertanto, per mantenere la sicurezza delle applicazioni Web, è molto importante controllare regolarmente la presenza di patch mancanti, soprattutto nel caso di software rivolto al pubblico come il server Web.

Scansione di sicurezza in soccorso

Come evitare errori di configurazione della sicurezza elencati sopra e altro?

Il metodo più efficiente consiste nell'eseguire regolarmente scansioni, che espongono problemi di sicurezza. Tali scansioni dovrebbero includere sistemi di produzione e sistemi di gestione temporanea: la configurazione della produzione è spesso basata sulla configurazione di gestione temporanea.

Il modo migliore per testare la sicurezza è utilizzare uno scanner professionale che scopre non solo le configurazioni errate della sicurezza di rete (come fa la maggior parte degli scanner), ma si concentra sulla sicurezza delle applicazioni web.