LinuxParty
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.

-
Internet
- La industria de certificados HTTPS adopta nuevos requisitos de seguridad
- 6 Razones por las que tu web ha perdido posicionamiento y tráfico en Internet
- Comprobar la velocidad de Internet desde la línea de comandos en Linux
- Los cortes de Internet alcanzan niveles récord en África, donde el acceso se convierte en un arma
- Compartir o Enviar archivos sin una Red Local o LAN con woof
- Se desactivan cuentas de WordPress.org para colaboradores que supuestamente planean una bifurcación - por el CEO de Automattic
- El director de inteligencia artificial de Microsoft afirma que la inteligencia artificial conversacional reemplazará a los navegadores web
- Cómo usar una VPN en Linux y por qué deberías hacerlo
- La muerte lenta del hipervínculo
- Cómo cambiar dirección IP (modo gráfico), por qué querría hacerlo y cuándo no debería hacerlo
- 10 comandos "IP" útiles para configurar interfaces de red
- Cómo configurar conexiones IP de red usando 'nmcli' en Linux
- Configuración de una IP Estática en una Tarjeta de Red en Linux.
- ¿Migrar a la nube? Marque esta lista de verificación
- Nuevo estándar de Internet L4S: el plan silencioso para hacer que Internet se sienta más rápido