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)

Boris Guéry
sumber
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

Keith Palmer Jr.
sumber
6

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

gekkz
sumber
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.

Brian De Smet
sumber
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.

KPWINC
sumber
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.

Kyle Brandt
sumber
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

sucuri
sumber
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.

Drew
sumber
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.

berat
sumber