Menggunakan phpmyadmin pada setup wamp pengujian lokal, dan juga cukup banyak judul menyatakan, ada 3 pengguna ditandai sebagai pengguna = APA SAJA, kata sandi = TIDAK, seperti:
USER | HOST | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any | % | No | USAGE | No
Any | Local | No | USAGE | No
Any | Domain | No | USAGE | No
-----+---------+----------+-------------+------
Tidak satu pun dari 3 pengguna yang memiliki hak khusus untuk tabel apa pun, sehingga tampaknya mereka tidak bisa berbuat banyak. Apakah ini semacam tindakan keamanan umum, untuk secara eksplisit menyatakan bahwa pengguna 'Apa saja' yang tidak termasuk dalam kelompok pengguna lain tidak memiliki hak istimewa?
mysql
phpmyadmin
Chris
sumber
sumber
Jawaban:
Pada kenyataannya, ketiga akun pengguna itu sebenarnya cukup berbahaya. Mereka menimbulkan ancaman yang sangat besar untuk menguji basis data.
Sayangnya, mysql hadir dengan akses penuh untuk menguji basis data. Bagaimana Anda bisa menemukannya?
Jalankan kueri ini:
Setelah pemasangan mysql, Anda akan melihat dua baris yang memberikan akses penuh ke database apa pun yang bernama 'test' atau yang 5 karakter pertamanya adalah 'test_'.
Mengapa ini menjadi masalah ???
Coba jalankan perintah ini:
Anda akan menghubungkan database pengujian tanpa kata sandi.
Sekarang, buat tabel dan muat dengan baris:
OK, masalah besar. Bisakah Anda menggandakan tabel ini dalam ukuran 30 kali ???
Mendapatkan apa ?? Tabel dengan 1.073.741.824 baris. Mudah, 4GB +.
Bayangkan membuat tabel ukuran apa saja. Bagaimana kalau membuat banyak tabel dalam database pengujian dan secara bebas mengaksesnya sesuka hati?
Hal terbaik yang dapat Anda lakukan dalam situasi ini adalah menjalankan kueri ini:
dan mulai kembali mysql. Kemudian, ketiga akun tersebut akan dianggap tidak beroperasi dengan benar.
Cobalah !!!
UPDATE 2011-09-12 10:00 EDT
Ini menghapus:
hanya apa yang Anda butuhkan untuk instalasi awal. Namun, jika Anda sudah memiliki pengguna, Anda dapat menjalankan ini sebagai gantinya:
Ini akan menghapus dua izin DB khusus.
Seperti yang saya sebutkan dalam jawaban saya, tiga izin sangat berbahaya untuk database pengujian. Menjalankan DELETE ini akan menetralisir akun tersebut karena memiliki hak penuh untuk menguji basis data.
sumber
Bahaya menyimpan akun akun anonim ini telah dijelaskan dengan sangat baik.
Manual ini menyediakan daftar langkah-langkah komprehensif yang harus diambil untuk " Mengamankan Akun MySQL awal ".
Secara khusus, bagian "Menetapkan Kata Sandi Akun Anonim" menyarankan untuk menghapus akun ini.
Juga, bab "Mengamankan Database Uji" menyarankan:
Khususnya, pada sistem non-Windows, disarankan untuk menjalankan
mysql_secure_installation
skrip. Pemasang Windows yang saya percaya menawarkan beberapa profil pemasangan. Beberapa dari mereka akan secara otomatis menonaktifkan pengaturan tidak aman. Jika tidak, daftar periksa perlu dijalankan secara manual.Perawatan harus diambil dengan installer pihak ketiga seperti WAMP. Izin default yang ditunjukkan dalam manual MySQL resmi mungkin tidak selalu berlaku untuk instalasi kustom ini (seperti dalam "di luar lingkup manual). Tentu saja, untuk server produksi, instalasi WAMP dan sejenisnya harus dihindari dengan cara apa pun .
sumber