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

-
Seguridad
- Generar password aletorios en Linux
- LinuxParty 6 meses, estadísticas y crecimiento.
- 10 cortafuegos de seguridad de código abierto útiles para sistemas Linux
- Instalar Mod_Security y Mod_evasive para protegerse contra ataques de fuerza bruta o DDoS
- Malware relacionado con ChatGPT en aumento, dice Meta
- Configurar un Firewall básico en Linux con Iptables
- Traducir los permisos rwx a formato octal en Linux
- Winzo establece una estrategia de desarrollo de tecnología de código abierto para la ciberseguridad
- 4 consejos útiles para proteger la interfaz de inicio de sesión de PhpMyAdmin
- Añadir una capa adicional de seguridad en la interfaz de inicio de sesión de PhpMyAdmin
- Cómo configurar HTTPS (certificados SSL) para asegurar el inicio de sesión de PhpMyAdmin
- Cómo cambiar y asegurar la URL de inicio de sesión predeterminada de PhpMyAdmin
- 4 herramientas útiles para ejecutar comandos en múltiples servidores Linux
- Por fin, conseguir el certificado digital sin salir de casa ya es posible
- ¿Puede C++ ser más seguro? Bjarne Stroustrup sobre garantizar la seguridad de la memoria.