Bagaimana cara mengamankan phpmyadmin?


9

Saya memeriksa log apache saya, dan, whooooaaa, ​​ada banyak bot yang mencoba mengeksploitasi phpmyadmin. Hal pertama yang saya lakukan adalah mengubah nama direktori menjadi sesuatu yang lebih tidak jelas.

Tapi, apakah ada tips lain untuk mengamankan phpmyadmin?

(Basis data itu sendiri hanya tersedia dari jaringan lokal)


5
Database itu sendiri dapat diakses hanya secara lokal tetapi jika antarmuka manajemennya (phpMyAdmin) tersedia untuk umum yang tidak membuat perbedaan.
John Gardeniers

4
Cara terbaik untuk mengamankan phpMyAdmin adalah mempelajari cara menggunakan klien baris perintah MySQL dan kemudian menghapus phpMyAdmin.
MDMarra

@MDMarra Saya sangat setuju dengan Anda, tetapi saya baru saja memiliki misi untuk klien ini yang mengharuskan PhpMyAdmin diinstal, saya tidak pernah menggunakannya dan selalu lebih suka SSH daripada itu. Meskipun, untuk beberapa pembelajaran penggunaan SQL bukanlah suatu pilihan dan GUI seperti PhpMyAdmin disambut oleh banyak pengguna tetapi harus diamankan dengan baik oleh kami, para ahli dan profesional. Sangat sombong untuk berpikir sebaliknya.
Boris Guéry

Jawaban:


13

Kami melakukan kombinasi beberapa hal:

  • Lindungi phpMyAdmin melalui konfigurasi .htaccess atau Apache yang meminta login nama pengguna / kata sandi HTTP.
  • Lindungi phpMyAdmin melalui konfigurasi .htaccess atau Apache hanya mengizinkan akses dari alamat IP tepercaya tertentu
  • Masukkan phpMyAdmin ke dalam VirtualHost itu sendiri dan jalankan di port non-standar
  • Hanya izinkan koneksi HTTPS ke phpMyAdmin, dan bukan HTTP biasa
  • Hanya izinkan koneksi ke sana dari LAN (gunakan VPN untuk melewati firewall Anda, dan hanya izinkan koneksi jika Anda menggunakan LAN / VPN itu)
  • Jangan beri nama direktori itu di sesuatu yang jelas seperti / phpMyAdmin /

Anda juga bisa menggunakan penerusan port SSH untuk menggunakan kunci SSH. Lihat https://stackoverflow.com/a/3687969/193494


6

Tambahkan .htaccess yang hanya memungkinkan akses IP lokal ke folder phpmyadmin.


Bagaimana jika itu dimaksudkan untuk digunakan klien? Banyak hosting menggunakan PHPMyAdmin.
Luc

6

Jadikan phpmyadmin tersedia di vhost yang hanya dapat diakses dari localhost dan mengharuskan pengguna untuk menggunakan ssh dan port forwarding untuk mendapatkan akses ke sana.


2

Gunakan .htaccess

Kami hanya membuang file .htaccess dengan perlindungan nama pengguna / kata sandi dan (tergantung pada keadaan) alamat IP.

Hal ini memungkinkan AS untuk mengakses sumber daya dengan cepat dan mudah dari komputer tepercaya tetapi mencegah para peretas keluar.

Satu catatan lain ... jangan gunakan SAMPAI nama pengguna / kata sandi untuk .htaccess Anda seperti yang Anda lakukan untuk PHPMyAdmin ... itu akan konyol. :-)

Semoga ini membantu.


2

Saya setuju dengan htaccess (/ kata sandi w) dan https.

Anda mungkin juga mempertimbangkan untuk menambahkan IP kedua ke server itu, dan membuat virtualhost Apache berbasis IP untuk phpmyadmin. Ini bisa saja berupa IP jaringan lokal, sehingga akan dilindungi oleh firewall (dan Anda mungkin bahkan tidak memiliki aturan nat untuk itu).

Semakin banyak layer (yaitu htaccess + https + Virtualhost), semakin baik menurut saya. Idealnya, bot tidak dapat mencapainya sejak awal.

Anda tentu saja selalu dapat menempatkan phpmyadmin di kotak yang berbeda juga.


1

Selain jawaban yang diberikan, kami juga menggunakan OSSEC open source untuk memantau log web kami dan mengingatkan / memblokir pemindaian ini.

Sangat mudah untuk menginstal dan secara default akan menemukan log web Anda dan mulai memonitornya.

Tautan: http://www.ossec.net


1

Pindahkan phpmyadmin ke direktori yang namanya dikaburkan dengan cara yang diharapkan seseorang yaitu kata sandi: kombinasi huruf campuran dan angka (PhP01mY2011AdMin, misalnya) dan kata sandi "aman" yang melindungi direktori dengan .htpasswd seharusnya cukup banyak lakukan triknya.

Kemudian lagi, jika keamanan database mysql Anda sangat penting untuk bisnis Anda, orang harus bertanya "apakah membuat alat admin seperti phpmyadmin dapat diakses ke internet di tempat pertama?" Tapi hei, semua orang punya alasan untuk hidup.


0
  • HTTPS
  • Buat itu hanya bisa dicapai melalui terowongan VPN / SSH

phpmyadmin terlalu sulit untuk diamankan. Anda perlu mod_security dan seminggu waktu men-debug lansiran hanya untuk menonaktifkan setengah dari aturan untuk memastikan fungsionalitas phpmyadmin. Kesimpulan: Jangan membuatnya dapat diakses publik.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.