PHP & MYSQL – SICUREZZA

PHP & MYSQL - SECURITY
Spread the love

Nel precedente articolo ho analizzato il rapporto tra server PHP & MySQL e un client generico dotato di browser Internet.

Ho enfatizzato la possibilità dei programmi PHP di non lasciare residui di elaborazione, né log sul client, tranne le consuete tracce registrate dal browser e eventualmente dai cookie ormai divenuti la moda per garantire l’univocità della connessione.

Tale caratteristica permette al PHP di gestirsi in “casa”, cioè sul server, tutta la questione della sicurezza e della privacy, in modo relativamente semplice e razionale.

L’implementazione di security server-client in ambiente PHP & MySQL può essere suddivisa in tre sezioni: accesso dal client al server con username/password, apertura di sessione univoca per singoli client, security nell’elaborazione dei dati e rinvio al client specifico.

1. Accesso dal client al server

Il punto critico rimane comunque l’accesso al programma utente residente sul server, il quale immancabilmente prevede l’invio in rete dal proprio dispositivo (PC o telefono cellulare) della coppia di chiavi utente/pasword.

Con l’utilizzo di connessioni VNP (Virtual Network Protocol) e quindi caratterizzate da codifiche più o meno complesse e crittografate in doppia chiave, il contrasto all’intercettazione in rete rimane alto e il punto debole rimane la copiatura fraudolenta delle chiavi al momento della loro digitazione, oppure all’inserimento di software “specchio” sul dispositivo utente in grado di recuperare le chiavi medesime prima della loro crittazione, ovviamente all’insaputa dell’utente.

Quest’ultima violazione può essere generata da altri programmi malevoli, spesso non intercettati dagli antivirus. Bisogna sempre tenere peresente che un antivirus è aggiornato solo dopo che un nuovo virus viene rilasciato, pertanto può essere superato solo con una maggiore attenzione dell’utente.

L’utilizzo di canali VPN è un’ottima garanzia contro l’intercettazione di messaggi in rete ma tale tecnologia non è sempre disponibile e talvolta richiede l’acquisto di pacchetti software da installare sul proprio dispositivo.

Nel proseguo tratterò la security solo su connessioni Internet standard, tanto più che nemmeno utilizzando uno “sniffer”¹ sofisticato è possibile decodiìficare in “realtime”² una sequenza di messaggi VPN.

I sistemi Internet in genere funzionano sul principio “on demand”, ovvero l’inziativa è presa dall’utente il quale chiede – tramite il suo dispositivo – un servizio al server.
_______________________

¹ Lo “sniffer” è il nome in gergo di un analizzatore di rete in grado di leggere i dati in transito e memorizzarli per una successiva analisi.

² Real Time indica il tempo nel quale il contenuto di una informazione rimane valido, dopodiche risultà inutilizzabile per gli scopi previsti.

 

A prima vista può sembrare piuttosto semplice ma non è così perché il primo dispositivo di rete ad essere interessato è il Modem (MODulatore – DEModulatore)con il quale il dispositivo medesimo si connette alla rete Internet.

Il Modem è a tutti gli effetti un Router perché non solo effettua l’estrazione dalla rete primaria (es. ADSL in fibra ottica) dei messaggi IP (Internet Protocol, es. 77.75.76.164, un client in Praga) a lui indirizzati ma gestirà blocchi di memoriainterna nei quali scriverà i messaggi indirizzati ai dispositivi utente a lui connessi in WiFi (ex High Fidelity, ora Wireless) o direttamente tramite cavi LAN Ethernet RJ45. L’indirizzo del Modem è l’IP univoco con il quale il server riceverà e trasmetterà idati a uno dei client connessi e in sessione, sarà la componente Router del Modem a tenere conto qual è il dispositivo interessato a quei dati, aggiungendovi il numero di sessione. Detto IP cambia ogni volta che il Modem viene resettato perché dopo circa 30 secondi dal riavviamento, il medesimo inizia la sequenza di connessione al server spedendogli una serie di messaggi del tipo “I’m alive” i quali, ricevuti dal server indirizzato e a cancellazione della vecchia connessione che in genere avviene al timeout dopo circa 180 secondi, produrranno sul medesimo l’apertura di un nuovo buffer di rete e quindi l’assegnazione di un altro IP al Modem client.

Capire questa sequenza è importante ai fini della security perché l’accesso a un programma residente sul server NON deve inviare dati ad altri client e deve mantenere compartimentata ciascuna sesione client, tenendo presente che un Modem ordinario può collegare anche 4 dispositivi e che i telefoni cellulari hanno un Modem interno e una connessione WiFI indipendente.

La questione della separazione delle sessioni è importante anche in relazioneall’utilizzo della base dati MySQL o altre. In effetto l’accesso alle tavole può essere simultaneo e possono verificarsi alcune condizioni disdicevoli ad esempio: una tavola comune rimane bloccata, i dati estratti sono relativi ad una query generata da un altro utente.

Analizzerò tali condizioni nel prossimo articolo.

PHP & MYSQL - SECURITY

****

 

SviluppoMania
Stay Tuned!


Spread the love

SviluppoMania - Lorenzo Romano (rolo7)

Articoli correlati

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.