Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Configurar la política SELinux de MongoDB

Security Enhanced Linux (SELinux) es un módulo de seguridad del kernel de Linux que aplica políticas de control de acceso obligatorio. Esto permite restringir el acceso de un proceso a los archivos, directorios y puertos que su política permite explícitamente. De esta forma, se puede bloquear el acceso incluso cuando los permisos de archivo estándar lo conceden.

MongoDB proporciona una política SELinux para usar con mongod. Esta está disponible para MongoDB Enterprise y MongoDB Community en sistemas que utilizan:

  • Red Hat Enterprise Linux o distribuciones relacionadas

  • MongoDB se instaló con el gestor de paquetes.

Si su implementación de MongoDB utiliza un valor personalizado para cualquiera de las siguientes configuraciones, no podrá utilizar la política SELinux de MongoDB:

La política SELinux de MongoDB solo cubre mongod. Si desea utilizar SELinux en un sistema que también utilice mongos, mongosh o mongocryptd, deberá configurar una política personalizada.

Debe ejecutar el siguiente comando desde el directorio en el que se clonó previamente la política SELinux antes de poder volver a una versión anterior de MongoDB:

sudo make uninstall

Puedes personalizar la política SELinux de MongoDB con el comando semanage. Por ejemplo, para agregar el puerto 30000 a mongod_port_t, ejecuta el siguiente comando:

sudo semanage port -at mongod_port_t -p tcp 30000

Esto configura SELinux para permitir conexiones TCP tanto en los puertos estándar de MongoDB como en el puerto 30000.

Asegúrese de tener instalados en su sistema los paquetes necesarios:

sudo dnf install git make checkpolicy policycoreutils \
selinux-policy-devel

SELinux aplica políticas de forma predeterminada, lo que significa que bloquea los procesos que infringen las restricciones configuradas. En entornos de desarrollo, a veces los usuarios desactivan SELinux o lo configuran para que registre la actividad pero permita todas las operaciones. Antes de comenzar, verifique que SELinux esté aplicando sus políticas.

Para comprobar en qué modo se encuentra SELinux, ejecute el siguiente comando:

getenforce
Enforcing

Si el comando devuelve Permissive, puede restablecerlo a modo de aplicación con el comando setenforce:

sudo setenforce 1

Para que el cambio sea permanente, configure la variable SELINUX en el archivo /etc/selinux/config:

SELINUX=enforcing
1

Para descargar la política SELinux de MongoDB, utilice Git para clonar el repositorio:

git clone https://github.com/mongodb/mongodb-selinux
2

Para crear la política, cambie al directorio mongodb-selinux y ejecute make:

cd mongodb-selinux
make
3

Para aplicar la política, ejecute el objetivo install con sudo:

sudo make install

SELinux ahora utiliza la política de MongoDB, lo que le permite ejecutar mongod mientras SELinux está en modo de aplicación.