phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Jak zabezpieczyć phpMyAdmina

Największym zagrożeniem jest to, że atakujący może wykorzystać lukę, taką jak; przechodzenie katalogów lub użycie wstrzykiwania SQL do wywołania funkcji load_file() aby odczytać nazwę użytkownika/hasło w postaci zwykłego tekstu w pliku konfiguracyjnym, a następnie zalogować się za pomocą phpmyadmina lub portu tcp 3306. Jako pentester użyłem tego wzorca ataku do włamania się do systemu.

Oto świetny sposób na zablokowanie phpmyadmina:

  • PhpMyAdmin nie ma silnej ochrony przed bruteforce, więc musisz użyć długiego, losowo generowanego hasła.
  • NIE ZEZWALAJ NA ZDALNE LOGOWANIE ROOT! Zamiast tego phpmyadmin można skonfigurować tak, aby używał "Cookie Auth" aby ograniczyć dostęp użytkowników do systemu. Jeśli potrzebujesz uprawnień administratora, utwórz niestandardowe konto, które może dodawać/upuszczać/tworzyć, ale nie ma grant lub file_priv .
  • Usuń file_priv uprawnienia z każdego konta. file_priv jest jednym z najniebezpieczniejszych uprawnień w MySQL, ponieważ umożliwia atakującemu odczytywanie plików lub przesyłanie backdoora.
  • Umieszczaj na białej liście adresy IP, które mają dostęp do interfejsu phpmyadmin. Oto przykład reulset .htaccess:
Order deny,allow
Deny from all
allow from 199.166.210.1
  • Nie masz przewidywalnej lokalizacji pliku, takiej jak:http://127.0.0.1/phpmyadmin . Skanery luk w zabezpieczeniach, takie jak Nessus/Nikto/Acunetix/w3af, przeskanują to.

  • Zapora sieciowa wyłączona z portu TCP 3306, aby osoba atakująca nie mogła uzyskać do niego dostępu.

  • Użyj protokołu HTTPS, w przeciwnym razie dane i hasła mogą zostać ujawnione osobie atakującej. Jeśli nie chcesz wydać 30 dolarów za certyfikat, użyj podpisu własnego. Zaakceptujesz go raz, a nawet jeśli został zmieniony z powodu MITM, zostaniesz o tym powiadomiony.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Składnia lokalnego ładowania danych MySql?

  2. Jak napisać SP w phpMyAdmin (MySQL)?

  3. PHP do pobierania typów geografii PostGIS

  4. phpMyAdmin zgłasza „Brak uprawnień”

  5. MD5(RAND()) w MySQL zwraca tylko cyfry