Come proteggere phpmyadmin?


9

Ho controllato i miei log di Apache e, whooooaaa, ​​ci sono molti robot che cercano di sfruttare phpmyadmin. La prima cosa che ho fatto è stato cambiare il nome della directory in qualcosa di più oscuro.

Ma ci sono altri suggerimenti per proteggere phpmyadmin?

(Il database stesso è disponibile solo dalla rete locale)


5
Il database stesso può essere accessibile solo localmente ma se la sua interfaccia di gestione (phpMyAdmin) è disponibile al pubblico non fa alcuna differenza.
John Gardeniers,

4
Il modo migliore per proteggere phpMyAdmin è imparare come utilizzare il client della riga di comando di MySQL e quindi disinstallare phpMyAdmin.
MDMarra,

@MDMarra Sono assolutamente d'accordo con te, ma avevo una missione per questo client che richiedeva l'installazione di PhpMyAdmin, non l'ho mai usato e preferisco sempre SSH. Tuttavia, per un certo utilizzo l'apprendimento di SQL non è un'opzione e una GUI come PhpMyAdmin è accolta da molti utenti ma deve essere adeguatamente protetta da noi, esperti e professionisti. È molto arrogante pensare il contrario.
Boris Guéry,

Risposte:


13

Facciamo una combinazione di cose:

  • Proteggi phpMyAdmin tramite .htaccess o configurazione di Apache che richiede un accesso con nome utente / password HTTP.
  • Proteggi phpMyAdmin tramite .htaccess o configurazione di Apache per consentire l'accesso solo da determinati indirizzi IP affidabili
  • Inserisci phpMyAdmin nel suo VirtualHost ed eseguilo su una porta non standard
  • Consenti solo connessioni HTTPS a phpMyAdmin e non HTTP normale
  • Consentire le connessioni solo dalla LAN (utilizzare una VPN per attraversare il firewall e consentire le connessioni solo se ci si trova su quella LAN / VPN)
  • Non nominare la directory in qualcosa di ovvio come / phpMyAdmin /

È inoltre possibile utilizzare il port forwarding SSH per utilizzare le chiavi SSH. Vedi https://stackoverflow.com/a/3687969/193494


6

Aggiungi un .htaccess che consenta solo l'accesso IP locale alla cartella phpmyadmin.


Cosa succede se è destinato ai client? Molti webhost utilizzano PHPMyAdmin.
Luc

6

Rendi phpmyadmin disponibile su un vhost accessibile solo da localhost e richiede agli utenti di utilizzare ssh e port forwarding per accedervi.


2

Usa .htaccess

Abbiamo appena creato un file .htaccess con protezione nome utente / password e (a seconda delle circostanze) indirizzo IP.

Ciò consente agli Stati Uniti di accedere alla risorsa in modo rapido e semplice da computer attendibili, ma impedisce agli hacker.

Un'altra nota ... non usare lo stesso nome utente / password per il tuo .htaccess come fai per PHPMyAdmin ... sarebbe sciocco. :-)

Spero che sia di aiuto.


2

Sono d'accordo con htaccess (/ w password) e https.

Potresti anche considerare di aggiungere un secondo IP a quel server e di creare un host virtuale Apache basato su IP per phpmyadmin. Questo potrebbe essere solo un IP di rete locale, quindi sarebbe protetto dal firewall (e potresti anche non avere una regola nat per esso).

Più livelli (ovvero htaccess + https + Virtualhost), meglio penso. Idealmente, i robot non dovrebbero essere in grado di raggiungerlo in primo luogo.

Ovviamente puoi sempre mettere phpmyadmin anche in una scatola diversa.


1

Oltre alle risposte fornite, utilizziamo anche OSSEC open source per monitorare i nostri registri Web e avvisare / bloccare queste scansioni.

È molto semplice da installare e per impostazione predefinita troverà i tuoi log web e inizierà a monitorarli.

Link: http://www.ossec.net


1

Sposta phpmyadmin in una directory il cui nome è oscurato come ci si aspetterebbe da una password, ovvero combinazione di lettere maiuscole miste e numeri (PhP01mY2011AdMin, per esempio) e allo stesso modo "sicura" della password che protegge la directory con .htpasswd fare il trucco.

Poi di nuovo, se la sicurezza dei tuoi database mysql è vitale per la tua attività, ci si deve chiedere "cosa fai facendo uno strumento di amministrazione come phpmyadmin accessibile in primo luogo a Internet?" Ma hey, ognuno ha le sue ragioni per vivere.


0
  • HTTPS
  • Renderlo raggiungibile solo tramite tunnel VPN / SSH

phpmyadmin è troppo bestiale da proteggere. Avresti bisogno di mod_security e una settimana di debug degli avvisi solo per disabilitare metà delle regole per garantire la funzionalità di phpmyadmin. Conclusione: non renderlo accessibile al pubblico.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.