网站搜索

如何在 PhpMyAdmin 登录界面上添加额外的安全层


MySQL 是 Linux 生态系统中全球使用最广泛的开源数据库管理系统,同时 Linux 新手发现很难通过 MySQL 提示符进行管理。

PhpMyAdmin 创建了,是一个基于 Web 的 MySQL 数据库管理应用程序,它为 Linux 新手通过 Web 界面与 MySQL 交互提供了一种简单的方法。在本文中,我们将分享如何在 Linux 系统上使用密码保护来保护 phpMyAdmin 界面。

在继续阅读本文之前,我们假设您已在 Linux 服务器上完成了 LAMP(Linux、Apache、MySQL/MariaDB 和 PHP)和 PhpMyAdmin 安装。如果没有,您可以按照我们的以下指南在您各自的发行版上安装 LAMP 堆栈。

  1. 在 Cent/RHEL 7 中安装 LAMP 和 PhpMyAdmin
  2. 在 Ubuntu 16.04 中安装 LAMP 和 PhpMyAdmin
  3. 在 Fedora 22-24 中安装 LAMP 和 PhpMyAdmin

如果您想安装最新版本的 PhpMyAdmin,可以按照本指南在 Linux 系统上安装最新的 PhpMyAdmin。

完成上述所有步骤后,您就可以开始阅读本文了。

只需将以下行添加到 Debian/etc/httpd/conf/httpd 中的 /etc/apache2/sites-available/000-default.conf 即可。 CentOS 中的conf 将在确认安全异常之后但访问登录页面之前需要进行基本身份验证。

因此,我们将添加额外的安全层,也受到证书的保护。

建议阅读: 设置 HTTPS(SSL 证书)以保护 PhpMyAdmin

将这些行添加到 Apache 配置文件(/etc/apache2/sites-available/000-default.conf/etc/httpd/conf/httpd.conf):


<Directory /usr/share/phpmyadmin>
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>
 
<Directory /usr/share/phpmyadmin>
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/httpd/.htpasswd
    Require valid-user
</Directory>

然后使用htpasswd为将被授权访问phpmyadmin登录页面的帐户生成密码文件。在这种情况下,我们将使用 /etc/apache2/.htpasswdhowtoing


---------- On Ubuntu/Debian Systems ---------- 
htpasswd -c /etc/apache2/.htpasswd tecmint

---------- On CentOS/RHEL Systems ---------- 
htpasswd -c /etc/httpd/.htpasswd tecmint

输入密码两次,然后更改文件的权限和所有权。这是为了防止 www-dataapache 组中的任何人都无法读取 .htpasswd


chmod 640 /etc/apache2/.htpasswd

---------- On Ubuntu/Debian Systems ---------- 
chgrp www-data /etc/apache2/.htpasswd 

---------- On CentOS/RHEL Systems ---------- 
chgrp apache /etc/httpd/.htpasswd 

转到http:///phpmyadmin,您将在访问登录页面之前看到身份验证对话框。

建议阅读: 更改和保护默认 PhpMyAdmin 登录 URL

您需要在 /etc/apache2/.htpasswd/etc/httpd/.htpasswd 中输入有效帐户的凭据才能继续:

如果身份验证成功,您将进入 phpmyadmin 登录页面。