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

Hur man säkrar phpMyAdmin

Det största hotet är att en angripare kan utnyttja en sårbarhet som; kataloggenomgång, eller använda SQL Injection för att anropa load_file() för att läsa vanlig text användarnamn/lösenord i konfigurationsfilen och sedan logga in med phpmyadmin eller över tcp port 3306. Som en pentester har jag använt detta attackmönster för att äventyra ett system.

Här är ett bra sätt att låsa phpmyadmin:

  • PhpMyAdmin saknar starkt bruteforce-skydd, så du måste använda ett långt slumpmässigt genererat lösenord.
  • TILÅT INTE FJÄRRROTENLOGGNINGAR! Istället kan phpmyadmin konfigureras att använda "Cookie Auth" för att begränsa vilken användare som kan komma åt systemet. Om du behöver några root-privilegier, skapa ett anpassat konto som kan lägga till/släppa/skapa men som inte har grant eller file_priv .
  • Ta bort file_priv behörigheter från varje konto. file_priv är en av de farligaste privilegierna i MySQL eftersom den tillåter en angripare att läsa filer eller ladda upp en bakdörr.
  • Vitlista IP-adresser som har tillgång till phpmyadmin-gränssnittet. Här är ett exempel på .htaccess reulset:
Order deny,allow
Deny from all
allow from 199.166.210.1
  • Har inte en förutsägbar filplats som:http://127.0.0.1/phpmyadmin . Sårbarhetsskannrar som Nessus/Nikto/Acunetix/w3af kommer att söka efter detta.

  • Brandväggen av tcp-port 3306 så att den inte kan nås av en angripare.

  • Använd HTTPS, annars kan data och lösenord läcka ut till angriparen. Om du inte vill punga ut $30 för ett certifikat, använd en självsignerad. Du kommer att acceptera det en gång, och även om det har ändrats på grund av en MITM kommer du att meddelas.



  1. DELETE FROM-satsen fungerar inte

  2. Migrering av Wordpress-databas till server SQL-fel

  3. Du har inte behörighet att använda bulk load statement-felet

  4. Hur man uppdaterar/infogar slumpmässiga datum i SQL inom ett specificerat datumintervall