在 ubuntu 中设置 phpmyadmin 仅监听本地主机端口?

在 ubuntu 中设置 phpmyadmin 仅监听本地主机端口?

我可以通过输入以下 URL 来访问 phpmyadmin:http://234.231.123.123/phpmyadmin

我想知道在哪里配置 phpmyadmin 以仅接受 http:/:localhost/phpmyadmin,以便我可以使用 ssh 隧道连接到它。

因为我不想让其他人进入 phpmyadmin 页面,这样他们就可以暴力破解密码。

答案1

您可以使用 Web 服务器配置来限制谁可以访问给定位置(URL 路径)。例如,如果您在 Ubuntu 上使用 Apache,则编辑/etc/phpmyadmin/apache.conf以包含OrderDenyAllow指令(仅包含相关部分):

Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
    Options Indexes FollowSymLinks
    DirectoryIndex index.php

    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

http://httpd.apache.org/docs/2.2/howto/access.html更多细节。

答案2

phpMyAdmin 配置具有此机制,假设您不想弄乱 Web 服务器配置或无法访问它。

http://wiki.phpmyadmin.net/pma/Config/Servers#AllowDeny_.28rules.29

例子:

将其添加到您的 phpMyAdmin 配置文件中phpmyadmin/config.inc.php

这将拒绝所有来自外部连接的用户登录,并允许所有来自本地主机的用户登录。

/* Allow and Deny */
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
'deny % from all',
'allow % from localhost'
);

答案3

我假设是 Apache,因为您的 Web 服务器无法被识别。

您的 Web 服务器必须配置为仅绑定到本地接口,这可能会影响正在运行的任何其他应用程序。另一个解决方案是运行额外的实例。

您还可以在 Apache 中使用 ACL。

如果您的服务器不在隔离网络上,您将无法完全消除风险。

Apache 文档

相关内容