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

Hoe phpMyAdmin te beveiligen

De grootste bedreiging is dat een aanvaller misbruik kan maken van een kwetsbaarheid zoals; directory traversal, of het gebruik van SQL-injectie om load_file() . aan te roepen om de gebruikersnaam/wachtwoord in platte tekst in het configuratiebestand te lezen en vervolgens in te loggen met phpmyadmin of via tcp-poort 3306. Als pentester heb ik dit aanvalspatroon gebruikt om een ​​systeem te compromitteren.

Hier is een geweldige manier om phpmyadmin te vergrendelen:

  • PhpMyAdmin heeft geen sterke bruteforce-beveiliging, dus je moet een lang willekeurig gegenereerd wachtwoord gebruiken.
  • STA GEEN REMOTE ROOT AANMELDINGEN TOE! In plaats daarvan kan phpmyadmin worden geconfigureerd om "Cookie Auth" te gebruiken om te beperken welke gebruiker toegang heeft tot het systeem. Als je root-rechten nodig hebt, maak dan een aangepast account aan dat kan toevoegen/verwijderen/maken, maar geen grant heeft of file_priv .
  • Verwijder file_priv machtigingen van elk account. file_priv is een van de gevaarlijkste privileges in MySQL omdat het een aanvaller in staat stelt bestanden te lezen of een achterdeur te uploaden.
  • IP-adres op de witte lijst zetten die toegang hebben tot de phpmyadmin-interface. Hier is een voorbeeld van een .htaccess-reulset:
Order deny,allow
Deny from all
allow from 199.166.210.1
  • Geen voorspelbare bestandslocatie hebben zoals:http://127.0.0.1/phpmyadmin . Kwetsbaarheidsscanners zoals Nessus/Nikto/Acunetix/w3af zullen hierop scannen.

  • Firewall uit tcp-poort 3306 zodat een aanvaller er geen toegang toe heeft.

  • Gebruik HTTPS, anders kunnen gegevens en wachtwoorden worden gelekt naar een aanvaller. Als u de $ 30 voor een certificaat niet wilt betalen, gebruik dan een zelfondertekend. Je accepteert het één keer, en zelfs als het is gewijzigd vanwege een MITM, ontvang je een melding.



  1. Toepassing org.eclipse.e4.ui.workbench.swt.E4Application kon niet worden gevonden in het register

  2. Beperk registratie tot 4 personen op formulier aanmelden

  3. Tabel maken mislukt in mysql bij gebruik van CURDATE() als standaard

  4. Dialoogvenster voor aanmeldingen van SQL Server Management Studio ontbreekt