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
- Snort para Windows, detección de Intrusos y seguridad.
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros
- 7 cosas que incluso los nuevos usuarios de Linux pueden hacer para proteger mejor el sistema operativo
- Recuperar contraseñas de archivos comprimidos en 3 pasos
- Administración: Glances - herramienta de monitoreo y supervisión para Linux
- Cómo monitorear sistemas Linux remotos con Glances
- Los 5 mejores VPN del momento
- Cómo bloquear ataques de fuerza bruta SSH usando SSHGUARD en Linux
- Cómo purgar y limpiar tus discos y borrar archivos en forma segura
- 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