PhpMyAdmin nasıl korursunuz

5 Cevap php

Ben garip istekleri gibi, phpmyadmin bulmaya çalışırken benim web sitesine orada olduğunu fark etmiş

/phpmyadmin/
/pma/

vb

Şimdi apt üzerinden Ubuntu PMA yüklü ve / phpmyadmin / farklı webaddress üzerinden erişmek istiyorum. Ben bunu değiştirmek için ne yapabilirim?

Teşekkürler


Update

Ubuntu 9.10 ve Apache2'nin için, ilgili ayarı /etc/phpmyadmin/apache.conf için bir link /etc/apache2/conf.d/phpmyadmin.conf dosyasında bulunur. Dosya içeriyor

Alias /phpmyadmin /usr/share/phpmyadmin

bir gereksiz aktivite, örneğin kaçınmak istiyorsa ilk /phpmyadmin farklı bir şey için değiştirilmesi gerekir burada:

Alias /secret /usr/share/phpmyadmin

5 Cevap

En büyük tehdit, bir saldırganın gibi bir güvenlik açığını kaldıraç olduğunu; dizin geçişi, ya da load_file() yapılandırma dosyasında düz metin kullanıcı adı / şifre okuyun ve sonra phpmyadmin kullanarak veya TCP port 3306 üzerinden Login aramak için. bir pentester olarak ben uzlaşma için bu saldırı desen kullanmış SQL Injection kullanarak bir sistem.

Burada phpmyadmin kilitlemek için harika bir yoldur:

  • DO NOT ALLOW REMOTE ROOT LOGINS! yerine phpmyadmin "Cookie Auth" sisteme erişmek ne kullanıcı sınırlamak için kullanmak üzere yapılandırılmış olabilir. Bazı root haklarını gerekiyorsa oluşturmak / / drop ekleyebilirsiniz ama grant veya file_priv yoksa özel bir hesap oluşturun.
  • Her hesaptan file_priv izinleri kaldırın. Bir saldırganın dosyaları okumak ya da bir arka kapı yüklemek için izin verir, çünkü file_priv MySQL en tehlikeli ayrıcalıklardan biridir.
  • Phpmyadmin arayüzüyle erişim Beyaz liste IP adresi. İşte bir örnek htaccess reulset.:
Order deny,allow
Deny from all
allow from 199.166.210.1
  • Gibi öngörülebilir bir dosya konumu yok: http://127.0.0.1/phpmyadmin. Nessus/Nikto/Acunetix/w3af gibi güvenlik açığı tarayıcılar bu tarar.

  • TCP port 3306 güvenlik duvarı kapalı.

  • Use HTTPS, otherwise data and passwords can be leaked to an attacker. If you don't want to fork out the $30 for a cert, then use a self-signed. You'll accept it once, and even if it was changed due to a MITM you'll be notified.

PhpMyAdmin ile benim endişeleri biri, varsayılan olarak, tüm MySQL kullanıcı db erişebilirsiniz oldu. DB'ın root parolası tehlikeye ise, birisi db üzerinde tahribat batık olabilir. MySQL kullanıcı phpMyAdmin giriş hangi kısıtlayarak önlemek için bir yol bulmak istedi.

I have found using AllowDeny configuration in PhpMyAdmin to be very useful. http://wiki.phpmyadmin.net/pma/Config#AllowDeny_.28rules.29

AllowDeny Apache benzer bir şekilde phpMyAdmin erişimini yapılandırmak sağlar. Eğer açık için 'sipariş' ayarlarsanız, yalnızca 'kural' bölümünde tanımlanan kullanıcılara erişim verecektir. Kurallar, bölüm phpMyAdmin kullanımını erişebilirsiniz MySQL kullanıcıları kısıtlamak.

$cfg['Servers'][$i]['AllowDeny']['order'] = 'explicit'
$cfg['Servers'][$i]['AllowDeny']['rules'] = array('pma-user from all')

Şimdi MySQL PMA-kullanıcı adlı kullanıcı için sınırlı erişimi, bu kullanıcı için sınırlı ayrıcalık verebilirsiniz.

grant select on db_name.some_table to 'pma-user'@'app-server'

Büyük olasılıkla, yere sunucunuza böyle bir Alias ​​yönergesi olacak;

Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/"

Benim wampserver / localhost kurulumunda, c :/ wamp / takma / phpmyadmin.conf oldu.

Sadece takma yönergesini değiştirmek ve gitmek için iyi olmalıdır.

Başka bir çözüm herhangi bir ayara gerek kalmadan config dosyasını kullanmaktır. Ama tüm şeyler yüklemek ama sonra kaldırabilirsiniz böylece mysql root giriş / parola eklemek gerekebilir ilk kez.

$ Cfg ['Servers'] [$ i] ['auth_type'] = 'çerez';

$ Cfg ['Servers'] [$ i] ['host'] = 'localhost';

$ Cfg ['Servers'] [$ i] ['connect_type'] = 'tcp';

$ Cfg ['Servers'] [$ i] ['sıkıştırmak'] = false;

$ Cfg ['Servers'] [$ i] ['uzantı'] = 'mysql';

Leaving it like that without any apache/lighhtpd aliases will just present to you a log in screen. enter image description here

Siz kökü ile giriş yapabilirsiniz ancak diğer kullanıcıları oluşturmak için tavsiye edilir ve yalnızca yerel erişim için kök izin verir. Ayrıca dize şifreleri, hatta kısa ama eğer bir sermaye ile, ve özel karakter sayısını kullanmayı unutmayın. Örneğin !34sy2rmbr! aka "Kolay 2 hatırlıyorum"

-DÜZENLEME: İyi bir şifre artık bir gün aslında kelime gibi bir şey olduğunu make no grammatical sense but you can remember because they funny. Veya güçlü randoms oluşturmak bir onlara kolay erişim için KeePass kullanın

Basit yaklaşım websunucusu, büyük olasılıkla bir Apache2 kurulum, yapılandırma ve phpMyAdmin farklı bir ad vermek düzenlemek olacaktır.

İkinci bir yaklaşım phpmyadmin (örneğin sadece LAN veya localhost) ulaşılabilir yerden IP adreslerini sınırlamak olacaktır.