phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

Come proteggere phpMyAdmin

La minaccia più grande è che un utente malintenzionato possa sfruttare una vulnerabilità come; attraversamento di directory o utilizzando SQL injection per chiamare load_file() per leggere il nome utente/password in testo normale nel file di configurazione e quindi accedere utilizzando phpmyadmin o tramite la porta tcp 3306. Come pentester ho usato questo modello di attacco per compromettere un sistema.

Ecco un ottimo modo per bloccare phpmyadmin:

  • PhpMyAdmin non dispone di una forte protezione bruteforce, quindi devi utilizzare una password lunga generata casualmente.
  • NON CONSENTIRE LOGIN ROOT REMOTI! Invece phpmyadmin può essere configurato per usare "Cookie Auth" per limitare ciò che l'utente può accedere al sistema. Se hai bisogno di alcuni privilegi di root, crea un account personalizzato che può aggiungere/eliminare/creare ma non ha grant o file_priv .
  • Rimuovi file_priv autorizzazioni da ogni account. file_priv è uno dei privilegi più pericolosi in MySQL perché consente a un utente malintenzionato di leggere file o caricare una backdoor.
  • Indirizzi IP nella whitelist che hanno accesso all'interfaccia di phpmyadmin. Ecco un esempio di reulset .htaccess:
Order deny,allow
Deny from all
allow from 199.166.210.1
  • Non hai una posizione di file prevedibile come:http://127.0.0.1/phpmyadmin . Gli scanner di vulnerabilità come Nessus/Nikto/Acunetix/w3af eseguiranno la scansione per questo.

  • Firewall fuori dalla porta TCP 3306 in modo che non possa essere raggiunto da un utente malintenzionato.

  • Usa HTTPS, altrimenti i dati e le password possono essere divulgati a un utente malintenzionato. Se non vuoi sborsare $ 30 per un certificato, usa un autofirmato. Lo accetterai una volta e anche se è stato modificato a causa di un MITM verrai avvisato.