LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Para presentar este consejo, analicemos el tráfico HTTP entre una máquina cliente y el servidor Debian 8 donde cometimos el error inocente de iniciar sesión con las credenciales del usuario raíz de la base de datos en nuestro último artículo en: Cambiar y asegurar la URL de inicio de sesión predeterminada de PhpMyAdmin

Como mencionamos en el consejo anterior, no intente hacer esto todavía si no desea exponer sus credenciales. Para comenzar a rastrear el tráfico, escribimos el siguiente comando y presionamos Enter:

# tcpdump port http -l -A | egrep -i 'pass=|pwd=|log=|login=|user=|username=\
|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass\
|user ' --line-buffered -B20

No tardaremos mucho en darnos cuenta de que el nombre de usuario y la contraseña se han enviado por cable en formato de texto sin formato, como puede ver en la salida truncada de tcpdump en la imagen a continuación.

Tenga en cuenta que hemos ocultado parte de la contraseña de root con una marca azul sobre ella:

Rastreo de tráfico HTTP

Para evitar esto, aseguremos la página de inicio de sesión con un certificado. Para hacer esto, instale el paquete mod_ssl en las distribuciones basadas en CentOS .

# yum install mod_ssl

Aunque usaremos la ruta y los nombres de Debian/Ubuntu , el mismo procedimiento es válido para CentOS y RHEL si reemplaza los comandos y las rutas a continuación con los equivalentes de CentOS .

Cree un directorio para almacenar la clave y el certificado:

# mkdir /etc/apache2/ssl    [En sistemas basados ​​en Debian/Ubuntu ]
# mkdir /etc/httpd/ssl      [En sistemas basados ​​en CentOS ]

Cree la clave y el certificado:

----------- En sistemas basados ​​en Debian/Ubuntu -----------
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key\
-out /etc/apache2/ssl/apache.crt
----------- En sistemas basados ​​en CentOS ----------- 
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key\
-out /etc/httpd/ssl/apache.crt
Salida de muestra
........................+++
.....................................................+++
writing new private key to '/etc/httpd/ssl/apache.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Maharashtra
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:LinuxParty
Organizational Unit Name (eg, section) []:LinucParty
Common Name (eg, your name or your server's hostname) []:LinuxParty
Email Address []:Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

A continuación, verifique la clave y el certificado.

# cd /etc/apache2/ssl/   [En sistemas basados ​​en Debian/Ubuntu ]
# cd /etc/httpd/ssl/     [En sistemas basados ​​en CentOS ]
# ls-l

8 totales
-rw-r--r--. 1 root root 1424 7 de septiembre 15:19 apache.crt
-rw-r--r--. 1 root root 1704 7 de septiembre 15:19 apache.key

En Debian/Ubuntu , asegúrese de que Apache esté escuchando en el puerto 443 para el sitio predeterminado ( /etc/apache2/sites-disponible/000-default.conf ) y agregue las 3 líneas relacionadas con SSL dentro de la declaración de VirtualHost :

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Habilitar SSL en Virtualhost

En las distribuciones basadas en CentOS , dígale a Apache que escuche en el puerto 443 y busque la directiva Listen en /etc/httpd/conf/httpd.conf y agregue las líneas anteriores debajo.

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

Guarde los cambios, cargue el módulo Apache SSL en las distribuciones Debian/Ubuntu (en CentOS esto se carga automáticamente cuando instaló mod_ssl anteriormente):

#a2enmod ssl

Obligue a phpmyadmin a usar SSL , asegúrese de que la siguiente línea esté presente en el archivo /etc/phpmyadmin/config.inc.php o /etc/phpMyAdmin/config.inc.php :

$cfg['ForceSSL'] = true;

y reinicie el servidor web:

# systemctl restart apache2   [En sistemas basados ​​en Debian/Ubuntu ] 
# systemctl restart httpd [En sistemas basados ​​en Debian/Ubuntu ]

A continuación, inicie su navegador web y escriba https://<ip address>/my (aprenda cómo cambiar la URL de inicio de sesión de PhpMyAdmin ) como se muestra a continuación.

Importante : tenga en cuenta que solo dice que la conexión no es segura porque estamos utilizando un certificado autofirmado. Haga clic en Avanzado y confirme la excepción de seguridad:

Habilitar PhpMyAdmin HTTPS

Después de confirmar la excepción de seguridad y antes de iniciar sesión, comencemos a rastrear el tráfico HTTP y HTTPS :

# tcpdump port http or port https -l -A | egrep -i \
'pass=|pwd=|log=|login=|user=|username=|pw=|passw=\
|passwd=|password=|pass:|user:|username:|password:|\
login:|pass |user ' --line-buffered -B20

Luego inicie sesión con las mismas credenciales que antes. El rastreador de tráfico solo capturará galimatías en el mejor de los casos:

Rastreo de tráfico HTTP y HTTPS

Eso es todo por ahora, en el próximo artículo le compartiremos cómo restringir el acceso de PhpMyAdmin con nombre de usuario/contraseña , hasta entonces esté atento a LinuxParty.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías