Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Prima di cominciare: le basi

Le componenti del nostro sistema (ideale), i più comuni errori di configurazione, e alcuni consigli.
Le componenti del nostro sistema (ideale), i più comuni errori di configurazione, e alcuni consigli.
Link copiato negli appunti

Prima di verificare nel dettaglio la procedura di test di un'applicazione web, verifichiamo le condizioni in cui si deve trovare l'applicativo e l'infrastruttura software che lo sorregge.

Database

Partiamo dalla fonte dati:

  • La versione del sistema operativo della macchina ospite, i services pack e le patch DEVONO essere sempre aggiornate.
  • La versione del database su cui lavoriamo DEVE essere sempre aggiornata (meglio se alla penultima versione stabile)!
  • Le (eventuali) password della nostra applicazione vanno conservate nel db criptate con un buon algoritmo.
  • Il progetto, lo sviluppo e l'implementazione della base dati dovrebbe essere svolto da persone competenti, fidate, e con uno sguardo alla sicurezza interna ed esterna.
  • La gestione delle policy di accesso al db al di fuori dell'applicazione web che lo utilizzerà devono essere riservate al minor numero di persone possibile , e i permessi sulle istanze studiate nei minimi dettagli!
  • Se è possibile utilizzare stored procedure per effettuare ogni operazione e creare viste sui dati che sono sempre preferibili agli accessi diretti sulle tabelle .
  • Se possibile evitare l'utilizzo di nomi "urlanti" delle tabelle (va bene il nome parlante users per una tabella, ma se la tabella si chiamasse "user_solonome" o "users_password" o "users_password_inchiaro" voi quale cerchereste di attaccare?)
  • Personalizzare ogni tipo di file, cartella e messaggio di default del db, per limitare la divulgazione di informazioni riguardo ai propri sistemi
  • In caso di file di testo contenenti dati sensibili il consiglio è quello di proteggere bene l'accesso al disco sia dall'interno che dall'esterno
  • Ovviamente la macchina che conterrà una qualunque fonte dati di produzione sarà blindata da e verso l'esterno (ma anche l'interno) con strettissime policy sul firewall (le porte e i servizi non indispensabili li chiudiamo!)

Application server

L'application server altro non è che un contenitore/ interprete del vostro applicativo che fornisce le funzionalità di accesso ai dati e altro alla vostra applicazione. Il suo compito è quello di ricevere le richieste dal web server, interrogare la fonte dati e restituire al web server una risposta.

Osservazioni:

  • Valgono le stesse raccomandazioni di cui sopra per quanto riguarda il sistema operativo e la sua sicurezza.
  • Mantenere sempre aggiornato l'application server all'ultima versione, patch o service pack.
  • Molto importante: durante e dopo ogni migrazione verso una versione successiva verificare che i comportamenti della nostra applicazione non siano cambiati!
  • Utilizzare prevalentemente le classi native e certificate per l'application server.

Web server

Il web server è la porta del nostro sistema verso il mondo (chi vorrebbe una porta con degli spifferi?)

Osservazioni:

  • Valgono le stesse raccomandazioni di cui sopra per quanto riguarda il sistema operativo e la sua sicurezza.
  • Attivare la maggior precisione possibile nei log, implementare procedure di analisi dei log a scadenze fisse.
  • Utilizzare se possibile (anche di terze parti) software di controllo e validazione del flusso di dati che transita attraverso il web server
  • Loggare e verificare sempre errori e alert! Abituiamoci a non ritenere poco importante nessun segnale "strano".
  • Verificare e se necessario personalizzare o nascondere tutti i files, cartelle o informazioni di errore esposti dal web server per default. Può capitare che alcuni software (web server compreso) espongano funzionalità varie all'esterno.

Il ruolo del web server di gestire richieste e risposte, può essere integrato con altre funzionalità date da software di terze parti quali web proxy o web firewall. Un web proxy serve per intercettare i pacchetti e tracciare la navigazione, un web firewall per intercettare e bloccare pacchetti potenzialmente pericolosi.

Ti consigliamo anche