Controllo degli accessi al database MySQL

22 maggio 2007

Gestione Password e User

Il discorso riguardante la gestione delle parole chiave nella tabella user di MySQL è abbastanza semplice. Anche la password relativa agli utenti può non essere indicata lasciando vuoto il valore del campo corrispondente. In questo caso il relativo utente avrà accesso al DBMS e al suo contenuto senza ulteriori controlli, per lui non avverrà alcuna ricerca relativamente alla parola chiave di accesso.

Nel caso in cui la password di un utente sia invece definita, quest’ultima verrà salvata in tabella dopo aver subito un processo di criptaggio da parte di MySQL eseguito tramite la funzione PASSWORD(). L’utente potrà continuare ad utilizzare per gli accessi la sua parola chiave non criptata, il DBMS la convertirà in modo da poter effettuare un confronto con i dati presenti in tabella. Ciò vuol dire che la “vera” password per l’autenticazione è quella criptata, l’unica che MySQL considera valida, ma per l’utente non sarà necessario conoscerla.

Più complesso è il discorso riguardante i nomi degli utenti. Infatti, sempre rimanendo in tema di sicurezza, è bene sottolineare che il campo user della tabella omonima non permette ricerche tramite caratteri speciali. È invece possibile non specificare il nome dell’utente in accesso, in questo caso esso verrà semplicemente considerato come un anonimo.

All’interno della tabella sono possibili numerose combinazioni tra host e nomi utenti:

  • È possibile definire sia l’host che l’user completi, in questo modo saranno consentite connessioni soltanto nel caso in cui entrambi i valori siano correttamente specificati.
  • È possibile indicare l’host ma non la u    ser, ciò vuol dire che qualsiasi utente potrà avere accesso con l’unico vincolo di connettersi dall’host predefinito.
  • Si può utilizzare il carattere speciale “%” per l’host e indicare un nome preciso per l’utente, in questo caso chiunque si presenti sotto quel nome avrà accesso indipendente dall’host di provenienza.
  • È consentito utilizzare “%” e non specificare alcun nome utente, quindi chiunque avrà accesso indipendentemente da chi sia e da quale host si connetta.
  • Il carattere “%” potrà essere posto all’inizio di un nome di host (ad esempio: %.host.it) e ad esso potrà essere associata una determinata username, se quest’ultima è corretta e così pure la parte dell’host successiva alla wildcard, allora sarà consentita la connessione.
  • “%” potrà essere utilizzato in sostituzione dell’estensione presente nell’host (ad esempio nome.host.% al posto di “.it” o “.com” etc.), se associato ad una User l’accesso alla connessione col DBMS avverrà indipendentemente dal tipo di estensione reale.

Seguono poi i casi relativi agli indirizzi IP:

  • Specificando un determinato IP e una determinata username l’accesso sarà possibile soltanto quando esse vengano indicate correttamente.
  • L’utilizzo del carattere “%” nell’IP consentirà l’accesso all’utente specificato se proveniente da un client con IP compreso tra i numeri che soddisfano il confronto.
  • Sarà possibile specificare una netmask per stabilire un intervallo di IP valido come spiegato in precedenza.
Se vuoi aggiornamenti su Controllo degli accessi al database MySQL inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Controllo degli accessi al database MySQL

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy