Base de Datos Accesible Públicamente
Tu base de datos está vinculada a 0.0.0.0 o expuesta en una IP pública sin VPC o firewall, haciéndola directamente accesible desde internet.
Cómo Funciona
Una base de datos vinculada a 0.0.0.0 escucha en todas las interfaces de red, incluyendo las públicas. Combina esto con un security group en la nube que permita tráfico entrante en el puerto 5432 desde cualquier lugar (0.0.0.0/0), y tu base de datos es un servicio con cara a internet sin defensa perimetral. Escáneres automatizados como Shodan los descubren constantemente en horas después del despliegue.
# MAL: PostgreSQL config vinculado a todas las interfaces
# postgresql.conf
listen_addresses = '*' # se vincula a todas las interfaces incluyendo públicas
# MAL: Security group de AWS permitiendo acceso a BD desde cualquier lugar (Terraform)
resource "aws_security_group_rule" "db_inbound" {
cidr_blocks = ["0.0.0.0/0"] # abierto a todo internet
from_port = 5432
}# BIEN: PostgreSQL solo escuchando en interfaz interna
# postgresql.conf
listen_addresses = '127.0.0.1' # solo localhost, o usa IP privada de VPC
# BIEN: Security group restringe acceso a BD solo a servidores de app
resource "aws_security_group_rule" "db_inbound" {
source_security_group_id = aws_security_group.app.id # solo desde el tier de app
from_port = 5432
}Ejemplo Real
La ola de ransomware de MongoDB de 2017 borró más de 27,000 bases de datos en días porque eran accesibles públicamente sin autenticación. El mismo patrón se repite anualmente — en 2022 fue Elasticsearch, en 2023 Redis. Shodan muestra decenas de miles de bases de datos accesibles públicamente en cualquier momento dado.
Cómo Prevenirlo
- Despliega tu base de datos dentro de una VPC y nunca le asignes una dirección IP pública
- Usa security groups o reglas de firewall que solo permitan tráfico entrante a la BD desde el security group de tus servidores de app
- Para bases de datos administradas (RDS, Cloud SQL), deshabilita explícitamente la accesibilidad pública en la consola o config de Terraform
- Usa un bastion host o VPN para acceso de desarrolladores — nunca abras el puerto de BD a 0.0.0.0/0 por conveniencia
- Corre escaneos de puertos regulares en tu infraestructura para detectar bases de datos expuestas accidentalmente
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Conexión a Base de Datos Sin Cifrado
highTu conexión a la base de datos no usa SSL/TLS, lo que significa que todas las consultas y resultados viajan por la red en texto plano y pueden ser interceptados.
Credenciales de Base de Datos por Defecto
criticalTu base de datos usa credenciales predeterminadas de fábrica como postgres:postgres, root:root o admin:admin — lo primero que prueba cualquier atacante.
Cadena de Conexión con Contraseña Inline
highUna cadena de conexión a base de datos con contraseña en texto plano está hardcodeada en tu código fuente, comprometiendo tus credenciales de base de datos en el control de versiones.
MongoDB Sin Autenticación
criticalTu conexión a MongoDB no tiene credenciales de autenticación, permitiendo que cualquiera que pueda alcanzar el puerto de la base de datos lea, modifique o borre todos los datos.