venerdì 22 luglio 2011

Guide di sicurezza: evitare le intrusioni

Il NIST tre giorni fa ha rilasciato una interessante guida "tecnica" sulle contromisure che devono essere adottate per cercare di ridurre la superficie d'attacco offerta a possibili intrusioni. Il valore aggiunto di questa guida è fondamentalmente nell'ufficialità della fonte (grazie Domenico per la riflessione); non ci sono infatti indicazioni "rivoluzionarie" o particolarmente profonde, sono tutte indicazioni di buon senso che chi si occupa di sicurezza conosce da tempo. Provate però a chiedervi quante di queste pur essendo pienamente condivisibili sono correttamente implementate nella vostra realtà...

Ho quindi pensato che fosse importante riprendere i contenuti della guida, riorganizzarli per argomento, arricchirli di alcune informazioni aggiuntive, togliere alcune informazioni che considero un po' obsolete e soprattutto offrirli in italiano. Ovviamente questa iniziativa si inserisce nella serie delle "Guide di Sicurezza" di Punto 1.

Ma veniamo ai contenuti, ecco cosa ci suggerisce lo US-CERT (ribadisco che i contenuti sono un po' rivisti e corretti, chi preferisce la guida originale può seguire il link proposto all'inizio del post)

Policy di sicurezza
- Emettere una "Acceptable Use Policy" che contenga elementi atti a limitare e regolamentare:
       - L'utilizzo di strumenti personali per l'accesso o l'elaborazione di dati o sistemi  ufficiali (ad esempio, tele-lavoro o utilizzo di dispositivi personali in ufficio)
      - L'utilizzo di tutti i dispositivi rimovibili, salvo che non vi sia una ben documentata necessità aziendale (in questo caso devono essere emesse anche delle specifiche linee guida)
     - L'uso dei servizi di social networking (Facebook, Twitter, applicazioni di instant messaging, ecc, ed anche la posta elettronica personale) sul posto di lavoro, salvo che non vi sia una necessità aziendale formalmente individuata
- Realizzare programmi di formazione degli utenti sull'Acceptable Use Policy e sui pericoli connessi all'uso della posta elettronica e della navigazione Web
- Emettere policy per la sicurezza degli accessi che prevedano l'uso di:
       - Sistemi di autenticazione forte per gli account con privilegi di root
       - Password di almeno 15 caratteri per gli account amministratore
       - Password di almeno 8 caratteri per gli utenti standard
       - Password a complessità elevata con caratteri alfanumerici e simboli
       - Strumenti che limitino il riutilizzo di password precedenti
       - Strumenti che  limitino l'uso di informazioni personali come password
       - Strumenti che richiedano il cambio password almeno ogni 60-90 giorni
       - Strumenti per la memorizzazione cifrata delle password
- Emettere una policy che preveda che in caso di compromissione di un account di amministratore si debba  immediatamente cambiare la password (da sistemi verificati e liberi da malware) 
Adottare le best practice per la sicurezza delle reti (info su CERT-CC Governing for Enterprise Security)

Web Server e applicazioni Web
- Utilizzare un proxy applicativo (o meglio un Web Application Firewall) di fronte ai server web per filtrare le richieste dannose
- Assicurarsi che la configurazione "allow URL_fopen" sia disattivata per cercare di limitare gli attacchi di tipo "remote file inclusion"
- Limitare l'uso di codice SQL dinamico attraverso l'uso di "prepared statements", query con parametri o stored procedure (info sugli attacchi di tipo SQL Injection sono disponibili sul sito dello US-CERT o sul sito dell'OWASP)
- Seguire le best practice per la codifica sicura e validazione dell'input (info su OWASP Top 10  e Build Security In)

Postazioni di lavoro e server
- Distribuire un sistema Host Intrusion Detection (HIDS) per bloccare e identificare gli attacchi comuni
- Garantire che tutti i sistemi siano aggiornati con patch provenienti da fonti attendibili

Mi sembra importante integrare questa breve guida con l'indicazione dei 5 tipi di log essenziali che devono essere implementati sui sistemi (la fonte in questo caso è il SANS Institute) che sono:

1) log dei tentativi di accesso tramite account esistenti
2) log dei tentativi non riusciti di accesso a file o a risorse
3) log delle modifiche non autorizzate ad utenti, gruppi e servizi
4) log dei sistemi più vulnerabili (per mancanza di aggiornamenti)
5) log dei pattern sospetti o non autorizzati del traffico di rete

Infine, per quanto riguarda le policy da emettere per garantire che i propri utenti mantengano dei comportamenti adeguati dal punto di vista della sicurezza, bisogna ricordarsi che normalmente queste iniziative tendono a proibire o a limitare molto alcuni comportamenti che gli utenti considerano legittimi, per cui è da preferire un approccio graduale e volto all'illustrazione della logica sottesa alle scelte. E' quindi preferibile adottare strumenti innovativi e divertenti per la formazione e la successiva verifica degli esiti della stessa.

Un esempio potrebbe essere questo simpatico giochino (in inglese) tratto da Onguardonline che permette di verificare la propria conoscenza di  alcune problematiche di base sulla sicurezza informatica.

Nessun commento:

Posta un commento

http://www.wikio.it