Aree riservate
Alcune tecniche di autenticazione
Fabio Giovanetti
Liceo di Luino
Cosa sono le aree riservate?
- Intendiamo una parte di un sito alla quale è possibile
accedere solo fornendo delle credenziali (utente e password o anche solo password)
- Nessuna soluzione offre sicurezza al 100%
- Vale sempre la pena di chiedersi qual è il livello di rischio accettabile
- Si tratta a volte di tecniche di una certa complessità, quindi meglio mettere
nel conto un po' di studio
Soluzioni lato client o server
- Le soluzioni lato client eseguono script direttamente sul browser: ad esempio posono essere
scritte in javascript
- Le soluzioni lato server utilizzano linguaggi o funzionalità supportate dal server
- Le soluzioni lato client sono intrinsecamente poco sicure: qualsiasi visitatore può scaricarsi lo script
e analizzarlo fino a trovare una vunerabilità
- Considereremo solo soluzioni lato server
Hosting
- Di quale hosting disponiamo?
- Casi tipici: linux/apache, windows/IIS
- Linux/apache: consente l'utilizzo dell'autenticazione stessa di apache oppure di soluzioni
basate su linguaggi di programmazione (in particolare PHP)
- Windows/IIS consente l'utlizzo di tecniche in PHP (ove supportato) oppure ASP
- Per sapere di quale hosting disponiamo consultare la documentazione fornita dal provider oppure
contattarlo
Numero di pagine
- Proteggere una pagina è relativamente semplice
- Spesso occore proteggere più pagine
- A volte si vogliono proteggere anche file diversi da pagine web
Numero di utenti
- A volete è sufficiente prevedere una password
- In altri casi si vogliono prevedere più utenti, ciascuno con la sua password
- Al crescere del numero di utenti può essere utile lavorare con un database
Persistenza dell'autenticazione
- Alcune soluzioni prevedono una password che viene chiesta ad ogni accesso alla pagine
- In altri casi l'autenticazione si mantiene fino alla chiusura della sessione (ad esempio quando si esce dal programma)
- Spesso le autenticazioni persistenti richiedono l'abilitazione dei cookies
Strumenti online
- Si trovano su internet tante soluzioni già pronte
- Volendo utilizzarle meglio documentarsi sulle problematiche di sicurezza
cercando eventuali vulnerabilità con un motore di ricerca
- In generale quando si usano script già pronti è meglio controllare spesso se esistono aggiornamenti
di sicurezza.
Fattore umano
- La vulnerabilità di un sistema non è influenzata solo da fattori tecnici
- Occorre tener conto dei comportamenti degli utenti
- Prevedibilità delle password
- Tendenza a divulgare le credenziali
- Post-it ...
- Social engineering
- Phishing
Soluzioni proposte
- Autenticazione di apache
- Autenticazione con pagina singola in php
- Autenticazione persistente in php senza database
- Autenticazione persistente in php con database
- Soluzioni analoghe possono essere sviluppate anche in ASP
- Esempi
- Descrizione sul wiki di Porte Aperte sul Web
Credits e licenza
- Questa presentazione è realizzata con
S5 di Eric Meyer
- Si tratta di uno strumento per realizzare presentazioni scrivendo semplicemente un file html, quindi
con strumenti standard e non proprietari
- Eccetto dove diversamente specificato, i contenuti di questa presentazione sono rilasciati
sotto Licenza Creative Commons
