And*_*rei 59 php mysql security ubuntu phpmyadmin
我注意到我的网站有一些奇怪的请求试图找到phpmyadmin,就像
/phpmyadmin/
/pma/
Run Code Online (Sandbox Code Playgroud)
等等
现在我通过apt在Ubuntu上安装了PMA,并希望通过不同于/ phpmyadmin /的webaddress访问它.我该怎么做才能改变它?
谢谢
更新
对于Ubuntu 9.10和Apache2,相应的设置位于文件中/etc/apache2/conf.d/phpmyadmin.conf,该文件是指向的链接/etc/phpmyadmin/apache.conf.该文件包含
Alias /phpmyadmin /usr/share/phpmyadmin
Run Code Online (Sandbox Code Playgroud)
/phpmyadmin如果想要避免不必要的活动,第一个应该改为不同的东西,例如:
Alias /secret /usr/share/phpmyadmin
Run Code Online (Sandbox Code Playgroud)
roo*_*ook 81
最大的威胁是攻击者可以利用诸如此类的漏洞; 目录遍历,或使用SQL注入调用load_file()以读取配置文件中的纯文本用户名/密码,然后使用phpmyadmin或通过tcp端口3306登录.作为测试者,我使用此攻击模式来破坏系统.
这是一个锁定phpmyadmin的好方法:
grant或的自定义帐户file_priv. file_priv从每个帐户中删除权限.file_priv是MySQL中最危险的权限之一,因为它允许攻击者读取文件或上传后门.Run Code Online (Sandbox Code Playgroud)Order deny,allow Deny from all allow from 199.166.210.1
没有可预测的文件位置,如:http://127.0.0.1/phpmyadmin.像Nessus/Nikto/Acunetix/w3af这样的漏洞扫描程序会扫描这个.
防火墙关闭tcp端口3306,以便攻击者无法访问它.
Jae*_*Cho 12
我对phpMyAdmin的一个担忧是,默认情况下,所有MySQL用户都可以访问数据库.如果DB的root密码被泄露,有人可能会破坏数据库的破坏.我想通过限制哪个MySQL用户可以登录phpMyAdmin来找到避免这种情况的方法.
我发现在PhpMyAdmin中使用AllowDeny配置非常有用. http://wiki.phpmyadmin.net/pma/Config#AllowDeny_.28rules.29
AllowDeny允许您以类似于Apache的方式配置对phpMyAdmin的访问.如果将"订单"设置为显式,则仅授予对"规则"部分中定义的用户的访问权限.在规则中,您限制可以访问的MySql用户使用phpMyAdmin.
$cfg['Servers'][$i]['AllowDeny']['order'] = 'explicit'
$cfg['Servers'][$i]['AllowDeny']['rules'] = array('pma-user from all')
Run Code Online (Sandbox Code Playgroud)
现在,您对MySQL中名为pma-user的用户的访问权限有限,您可以向该用户授予有限权限.
grant select on db_name.some_table to 'pma-user'@'app-server'
Run Code Online (Sandbox Code Playgroud)
在较新版本的phpMyAdmin中,可以在phpMyAdmin的config.inc.php文件中设置用户名+ ip-addresses的访问权限.这是一种更好,更强大的限制访问方法(通过硬编码URL和IP地址到Apache的httpd.conf).
以下是如何切换到列出所有用户的白名单的完整示例(此列表中不允许任何人访问),以及如何仅限用户root到本地系统和网络.
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
'deny % from all', // deny everyone by default, then -
'allow % from 127.0.0.1', // allow all local users
'allow % from ::1',
//'allow % from SERVER_ADDRESS', // allow all from server IP
// allow user:root access from these locations (local network)
'allow root from localhost',
'allow root from 127.0.0.1',
'allow root from 10.0.0.0/8',
'allow root from 172.16.0.0/12',
'allow root from 192.168.0.0/16',
'allow root from ::1',
// add more usernames and their IP (or IP ranges) here -
);
Run Code Online (Sandbox Code Playgroud)
来源:如何在localhost for Windows上安装和保护phpMyAdmin
这提供了比Apache的URL权限或.htaccess文件可以在MySQL用户名级别提供的更细粒度的访问限制.
确保您登录的用户将其MySQL Host:字段设置为127.0.0.1或者::1,因为phpMyAdmin和MySQL在同一系统上.
另一种解决方案是使用没有任何设置的配置文件。第一次您可能必须包含您的 mysql root 登录名/密码,以便它可以安装所有内容,然后将其删除。
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysql';
离开它没有任何 apache/lighthtpd 别名只会向您显示一个登录屏幕。

可以用root登录,但建议创建其他用户,只允许root进行本地访问。还要记住使用字符串密码,即使很短但带有大写和特殊字符的数量。例如!34sy2rmbr!又名“容易 2 记住”
- 编辑:现在一个好的密码实际上是一些没有语法意义的单词,但你可以记住,因为它们很有趣。或者使用 keepass 生成强随机数并轻松访问它们
| 归档时间: |
|
| 查看次数: |
128671 次 |
| 最近记录: |