sql >> Databáze >  >> Database Tools >> phpMyAdmin

Jak zabezpečit phpMyAdmin

Největší hrozbou je, že by útočník mohl využít zranitelnost, jako je; procházení adresáře nebo pomocí SQL Injection k volání load_file() přečíst si uživatelské jméno/heslo v prostém textu v konfiguračním souboru a poté se přihlásit pomocí phpmyadmin nebo přes tcp port 3306. Jako pentester jsem použil tento vzor útoku ke kompromitaci systému.

Zde je skvělý způsob, jak uzamknout phpmyadmin:

  • PhpMyAdmin postrádá silnou ochranu bruteforce, takže musíte použít dlouhé náhodně vygenerované heslo.
  • NEPOVOLUJTE VZDÁLENÉ KOŘENOVÉ PŘIHLÁŠENÍ! Místo toho lze phpmyadmin nakonfigurovat tak, aby používal "Cookie Auth" omezit uživatele, kteří mají přístup do systému. Pokud potřebujete nějaká práva root, vytvořte si vlastní účet, který může přidat/upustit/vytvořit, ale nemá grant nebo file_priv .
  • Odeberte file_priv oprávnění z každého účtu. file_priv je jedním z nejnebezpečnějších oprávnění v MySQL, protože umožňuje útočníkovi číst soubory nebo nahrávat zadní vrátka.
  • Přidat IP adresy na seznam povolených osob, které mají přístup k rozhraní phpmyadmin. Zde je příklad reulsetu .htaccess:
Order deny,allow
Deny from all
allow from 199.166.210.1
  • Nemějte předvídatelné umístění souboru jako:http://127.0.0.1/phpmyadmin . Skenery zranitelnosti jako Nessus/Nikto/Acunetix/w3af to prohledají.

  • Firewall vypněte tcp port 3306, aby k němu nemohl získat přístup útočník.

  • Použijte HTTPS, jinak mohou data a hesla uniknout útočníkovi. Pokud nechcete vyplácet 30 $ za certifikát, použijte vlastnoručně podepsaný certifikát. Přijmete ji jednou, a i když byla změněna kvůli MITM, budete upozorněni.



  1. Nelze připojit databázi ASP.NET k SQL Server Management Studio

  2. Jak nainstalovat a zabezpečit phpMyAdmin na Ubuntu 16.04

  3. Chyba délky/hodnot DATETIME a TIMESTAMP

  4. phpMyAdmin se nemůže připojit k serveru MySQL