Saltar al contenido

Cómo solucionar problemas y arreglar mapas de fuentes

marzo 4, 2020

 Se necesitan sistemas de gestión de bases de datos

Introducción

relacionales como MySQL y MariaDB para una porción significativa de los sitios web y aplicaciones. Sin embargo, no todos los usuarios se sientan cómodos administrar sus datos desde la línea de comandos.

Para resolver este problema, un proyecto llamado phpMyAdmin fue creado con el fin de ofrecer una alternativa en forma de una interfaz de gestión basada en web. En esta guía, vamos a demostrar cómo instalar y asegurar una configuración de phpMyAdmin en un servidor CentOS 7. Vamos a construir esta instalación en la parte superior del servidor web Apache, el servidor web más populares en el mundo.

Requisitos previos

Antes de empezar, hay algunos requisitos que deben ser atendidas.

Para asegurarse de que tiene una base sólida para construir este sistema sobre, se debe ejecutar a través de nuestra guía de configuración inicial del servidor para CentOS 7. Entre otras cosas, esto le guiará a través de la creación de un usuario no root con acceso para sudo administrativa comandos.

El segundo requisito que debe cumplirse con el fin de iniciar en esta guía es la instalación de un (Linux, Apache, MariaDB, y PHP) LAMP en sus CentOS 7 servidor. Esta es la plataforma que vamos a utilizar para servir a nuestro interfaz de phpMyAdmin (MariaDB es también el software de gestión de base de datos que estamos deseando gestionar). Si aún no dispone de una instalación de lámpara en su servidor, sigue nuestro tutorial sobre la instalación de lámpara en CentOS 7.

Cuando el servidor se encuentra en un estado que funcione correctamente después de seguir estas guías, se puede seguir adelante con el resto de la página.

Primer Paso – Instalar phpMyAdmin

Con nuestra plataforma LAMP ya en su lugar, podemos empezar de inmediato con la instalación del software phpMyAdmin. Por desgracia, phpMyAdmin no está disponible en el repositorio de CentOS por defecto 7.

Para obtener los paquetes que necesitamos, tendremos que añadir una recompra adicional a nuestro sistema. La cesión temporal E P E L ( E Xtra P ackages para E mpresa L inux) contiene muchos paquetes adicionales, incluyendo el paquete phpMyAdmin estamos buscando.

El repositorio EPEL puede estar disponible para el servidor mediante la instalación de un paquete especial llamado EPEL de liberación. Esto reconfigurar su lista de repositorios y le dará acceso a los paquetes EPEL.

Para instalar, basta con escribir:

sudo yum install epel-release

Ahora que el repositorio EPEL está configurada, puede instalar el paquete phpMyAdmin usando el sistema de paquetes yum escribiendo:

sudo yum install phpmyadmin

La instalación se ha completado. La instalación incluye un archivo de configuración de Apache que ya ha sido puesto en marcha. Tendremos que modificar esta un poco para conseguir que funcione correctamente para nuestra instalación.

Abrir el archivo en el editor de texto ahora para que podamos hacer algunos cambios:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

el interior, vemos algunos bloques de directorio con un poco de lógica condicional para explicar la política de acceso a nuestro directorio. Hay dos directorios distintos que están definidos, y dentro de éstas, las configuraciones que será válido tanto para Apache 2.2 y Apache 2.4 (que estamos corriendo).

Actualmente, esta configuración está configurado para denegar el acceso a cualquier conexión no está hecha desde el propio servidor. Puesto que estamos trabajando en nuestro servidor de forma remota, tenemos que modificar algunas líneas para especificar la dirección IP de su casa conexión .

cambie ninguna línea que leen Requerir IP 127.0.0.1 o Permitir en 127.0.0.1 para referirse a la dirección IP de la conexión entre el hogar. Si necesita ayuda para encontrar la dirección IP de su conexión a casa, echa un vistazo a la siguiente sección. Debe haber cuatro ubicaciones en el archivo que debe ser cambiado:

. . .
Require ip your_workstation_IP_address
. . .
Allow from your_workstation_IP_address
. . .
Require ip your_workstation_IP_address
. . .
Allow from your_workstation_IP_address
. . .

Cuando haya terminado, reinicie el servidor web Apache para implementar las modificaciones escribiendo:

sudo systemctl restart httpd.service

Con esto, nuestra instalación de phpMyAdmin ya está en funcionamiento. Para acceder a la interfaz, vaya al nombre de su servidor de dominio o la dirección IP pública seguido de / phpMyAdmin, en su navegador web:

http://server_domain_or_IP/phpMyAdmin

entrar, utilizar un par nombre de usuario / contraseña de un usuario MariaDB válida. El usuario root y la contraseña administrativa MariaDB es una buena opción para empezar. A continuación, será capaz de acceder a la interfaz administrativa:

encontrar su dirección IP

usted necesitará saber la dirección IP del ordenador que está utilizando para acceder a sus bases de datos con el fin de completar el paso anterior. Esta es una medida de seguridad para que las personas no autorizadas no puedan conectarse a su servidor.

Nota: Esto no es la dirección IP de su VPS, es la dirección IP de su ordenador de casa o trabajo.

Puede averiguar cómo el alma superiores ve su dirección IP al visitar uno de estos sitios en su navegador web: Dirección IP de mi

  • ¿Qué?
  • ¿Cuál es mi IP? Dirección IP
  • Mi

Comparar algunos sitios diferentes y asegurarse de que todo lo que dan el mismo valor. Utilice este valor en el archivo de configuración anterior.

Paso dos – Asegure su ejemplo phpMyAdmin Instancia

El phpMyAdmin instalado en nuestro servidor debe ser totalmente utilizable en este punto. Sin embargo, mediante la instalación de una interfaz web, que hemos expuesto nuestro sistema de MySQL con el mundo exterior.

Incluso con la pantalla de autenticación incluido, esto es un gran problema. Debido a la popularidad de phpMyAdmin combinado con la gran cantidad de datos que proporciona acceso a instalaciones como estos son objetivos comunes para los atacantes.

Nos pondrá en marcha dos estrategias simples para reducir las probabilidades de nuestra instalación objeto de ataques y comprometidas. Vamos a cambiar la ubicación de la interfaz desde / phpMyAdmin para algo más que dejar de lado algunos de los intentos automáticos de fuerza bruta bot. También vamos a crear una puerta de enlace de autenticación adicional, servidor de nivel Web que se debe pasar incluso antes de llegar a la pantalla de inicio de sesión phpMyAdmin.

Cambio del orden de Ubicación del acceso

En la Solicitud de nuestro servidor web Apache para trabajar con phpMyAdmin, nuestro fichero de configuración phpMyAdmin Apache utiliza un alias a punto a la ubicación del directorio de los archivos.

Para cambiar la URL en la que se puede acceder a nuestra interfaz phpMyAdmin, simplemente hay que cambiar el nombre del alias. Abra el archivo de configuración phpMyAdmin Apache ahora:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

Hacia la parte superior del archivo, verá dos líneas que se ven así:

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

Estas dos líneas son nuestros alias, lo que significa que si tenemos acceso a nuestro nombre de dominio del sitio web o IP dirección, seguido de / phpMyAdmin o / phpmyadmin, que será servido el contenido en / usr / share / phpMyAdmin.

Queremos desactivar estos alias específicos, ya que están dirigidos en gran medida por los robots y usuarios maliciosos. En cambio, debemos decidir sobre nuestros propios alias. Debe ser fácil de recordar, pero no es fácil de adivinar. No debe indicar el propósito de la ubicación de la URL. En nuestro caso, vamos a ir con / nothingtosee.

Para aplicar nuestros cambios previstos, que debe eliminar o comentar las líneas existentes y añadir nuestra propia:

# Alias /phpMyAdmin /usr/share/phpMyAdmin
# Alias /phpmyadmin /usr/share/phpMyAdmin
Alias
othingtosee /usr/share/phpMyAdmin

Cuando haya terminado, guarde y cierre el archivo.

Para aplicar los cambios, reinicie el servicio web:

sudo systemctl restart httpd.service

Ahora, si vas a la anterior ubicación de la instalación de phpMyAdmin, obtendrá un error 404:

http://server_domain_or_IP/phpMyAdmin

Sin embargo, la interfaz de phpMyAdmin estará disponible en la nueva ubicación seleccionamos:

http://server_domain_or_IP
othingtosee

la creación de una web de autenticación del servidor Puerta

la siguiente característica que queríamos para nuestra instalación se ha realizado una autenticación rápida que se requeriría un usuario que pasar antes de volver a ver la pantalla de inicio de sesión phpMyAdmin.

Afortunadamente, la mayoría de los servidores web, incluyendo Apache, proporcionar esta capacidad de forma nativa. simplemente tendremos que modificar nuestro fichero de configuración de Apache para utilizar un archivo de autorización.

Abrir el archivo de configuración de Apache phpMyAdmin en su editor de texto de nuevo:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

Dentro del bloque directorio / usr / share / phpMyAdmin, pero fuera de cualquiera de los bloques en el interior, tenemos que añadir una directiva de anulación. Se parece a esto:

. . .

AllowOverride All

. . .

. . .

Esto nos permitirá especificar los detalles de configuración adicionales en un archivo llamado .htaccess situado dentro el directorio phpMyAdmin en sí. Vamos a utilizar este archivo para establecer nuestro autenticación de contraseña.

Guardar y cerrar el archivo cuando haya terminado.

Reiniciar el servicio web para implementar este cambio:

sudo systemctl restart httpd.service

crear un archivo .htaccess

Ahora que tenemos la directiva de anulación en nuestra configuración, Apache buscará un archivo llamado .htaccess en el directorio / usr / share / phpMyAdmin . Si lo encuentra, utilizará las directivas contenidas dentro de complementar los datos de configuración anteriores.

Nuestro siguiente paso es crear el archivo .htaccess dentro de ese directorio. Use su editor de texto para hacerlo ahora:

sudo nano /usr/share/phpMyAdmin/.htaccess

Dentro de este archivo, tenemos que introducir la siguiente información: Ir de

AuthType Basic
AuthName "Admin Login"
AuthUserFile /etc/httpd/pma_pass
Require valid-user

Let más de lo que cada una de estas líneas significa:

  • TipoAut básica: Esta línea especifica el tipo de autenticación que estamos llevando a cabo. Este tipo va a implementar la autenticación de contraseña con un archivo de contraseñas.
  • AuthName: Esto establece el mensaje para el cuadro de diálogo de autenticación. Hay que mantener esto tan genérico que los usuarios no autorizados no adquirir conocimientos acerca de lo que está siendo protegido.
  • AuthUserFile: Esto establece la ubicación del archivo de la contraseña real que se utiliza para la autenticación. Esto debería estar fuera de los directorios que están siendo atendidos. Vamos a crear este archivo en un momento.
  • Require valid-user: Esto especifica que sólo los usuarios autenticados deben tener acceso a este recurso. Esto es lo que realmente evita que los usuarios no autorizados puedan penetrar.

Cuando haya terminado de introducir esta información, guardar y cerrar el archivo.

Crear el archivo de contraseñas para la autenticación

Ahora que hemos determinado la ubicación de nuestro archivo de contraseñas mediante el uso de la directiva AuthUserFile en nuestro archivo .htaccess, tenemos que crear y poblar el archivo de contraseñas.

Esto se puede lograr mediante el uso de una utilidad Apache llamado htpasswd. Invocamos el comando pasándole la ubicación en la que nos gustaría crear el archivo y el nombre de usuario que nos gustaría entrar en detalles de autenticación para:

sudo htpasswd -c /etc/httpd/pma_pass username

La bandera -c indica que esto creará un archivo inicial. La ubicación del directorio es la ruta y el nombre que se utilizará para el archivo. El nombre de usuario es el primer usuario que nos gustaría añadir. Se le pedirá que introduzca y confirme una contraseña para el usuario.

Si desea agregar usuarios adicionales para autenticar, puede llamar al mismo comando sin la bandera -c, y con un nuevo nombre de usuario:

sudo htpasswd /etc/httpd/pma_pass seconduser

Con nuestro archivo de contraseñas creado, una pasarela de autenticación se ha aplicado y que ahora debería ver una petición de contraseña la próxima vez que visite nuestro sitio:

http://server_domain_or_IP
othingtosee

una vez que introduzca sus credenciales, se le llevará a la página de inicio de sesión normal de phpMyAdmin. Esta capa adicional de protección ayudará a mantener sus registros de MySQL limpia de intentos de autenticación, además de la prestación de la seguridad añadida.

Conclusión

Ahora puede administrar sus bases de datos MySQL desde una interfaz web razonablemente seguro. Esta interfaz de usuario expone la mayor parte de la funcionalidad que está disponible en el comando de MySQL pronta. Puede consultar las bases de datos y el esquema, ejecutar consultas y crear nuevos conjuntos y estructuras de datos.