phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

Cara mengamankan phpMyAdmin

Ancaman terbesar adalah penyerang dapat memanfaatkan kerentanan seperti; direktori traversal, atau menggunakan SQL Injection untuk memanggil load_file() untuk membaca nama pengguna/kata sandi teks biasa dalam file konfigurasi dan kemudian Login menggunakan phpmyadmin atau melalui port tcp 3306. Sebagai pentester saya telah menggunakan pola serangan ini untuk membahayakan sistem.

Berikut adalah cara yang bagus untuk mengunci phpmyadmin:

  • PhpMyAdmin tidak memiliki perlindungan bruteforce yang kuat, jadi Anda harus menggunakan sandi panjang yang dibuat secara acak.
  • JANGAN IZINKAN LOGIN ROOT JAUH! Sebaliknya phpmyadmin dapat dikonfigurasi untuk menggunakan "Cookie Auth" untuk membatasi pengguna yang dapat mengakses sistem. Jika Anda memerlukan beberapa hak akses root, buat akun khusus yang dapat menambahkan/menjatuhkan/membuat tetapi tidak memiliki grant atau file_priv .
  • Hapus file_priv izin dari setiap akun. file_priv adalah salah satu hak istimewa paling berbahaya di MySQL karena memungkinkan penyerang membaca file atau mengunggah pintu belakang.
  • Alamat IP daftar putih yang memiliki akses ke antarmuka phpmyadmin. Berikut adalah contoh .htaccess reulset:
Order deny,allow
Deny from all
allow from 199.166.210.1
  • Tidak memiliki lokasi file yang dapat diprediksi seperti:http://127.0.0.1/phpmyadmin . Pemindai kerentanan seperti Nessus/Nikto/Acunetix/w3af akan memindai ini.

  • Firewall mematikan tcp port 3306 sehingga tidak dapat diakses oleh penyerang.

  • Gunakan HTTPS, jika tidak, data dan kata sandi dapat bocor ke penyerang. Jika Anda tidak ingin membayar $30 untuk sebuah sertifikat, gunakan tanda tangan sendiri. Anda akan menerimanya sekali, dan meskipun diubah karena MITM, Anda akan diberi tahu.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Kesalahan MySQL - #1932 - Tabel 'phpmyadmin.pma user config' tidak ada di mesin

  2. Mencari melalui database dengan phpMyAdmin

  3. Pemberitahuan:Konversi larik ke string - PHP &mySQL

  4. Bagaimana cara mengubah Nama Kolom dari database yang dibuat oleh Django (dari models.py)?

  5. Masalah penyandian di phpMyAdmin. Khususnya dengan catatan yang berisi teks Rusia