Inicio › Foros › Sistemas operativos › Linux › semanage para SELinux en Linux CentOS 7 no aparece
- Este debate tiene 4 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 4 años, 9 meses por Varios.
-
AutorEntradas
-
06/10/2018 a las 20:34 #2850VariosModerador
Hola, necesito que un servidor con Linux CentOS 7 (srvweb) pueda acceder a otro con MySQL y Linux Ubuntu Server 18 (srvmysql) por el puerto 3306. He comprobado que desactivando SELinux en el srvweb ejecutando:
setenforce permissive
sà que funciona, pero cuando lo activo deja de tener acceso:
setenforce enforcing
El caso es que quisiera configurar el SELinux para que funcione la conexión a MySQL pero sin tener que desactivarlo, pues es una buena medida de seguridad.
He añadido estas reglas al cortafuegos del srvweb con Linux CentOS 7:
firewall-cmd –permanent –zone=trusted –add-source=192.168.1.100/32
firewall-cmd –permanent –zone=trusted –add-port=3306/tcp
Donde 192.168.1.100 es la IP del servidor Linux Ubuntu Server con MySQL.
Pero asà tampoco me funciona con el SELinux activo.
He visto que se puede configurar el SELinux usando el comando semanage pero veo que en Linux CentOS 7 no está este comando ¿se puede obtener o usar otro similar?
06/10/2018 a las 20:37 #2851alonsojpdSuperadministradorPara poder usar semanage debes instalar el paquete policycoreutils-python, puedes hacerlo con el siguiente comando:
yum install policycoreutils-python
06/10/2018 a las 20:46 #2852VariosModeradorMuchas gracias, con ese comando ya dispongo de semanage, aunque la verdad es que no consigo saber usarlo ni logro que funcione.
Y no quiero desactivar el SELinux que es lo que casi todos los foros indican para que funcione, es una herramienta de seguridad y supongo que no es conveniente desactivarla.
06/10/2018 a las 20:52 #2853alonsojpdSuperadministradorAsà es, no es recomendable desactivar SELinux.
Si quieres tener acceso desde Apache a un servidor MySQL externo con SELinux puedes ejecutar estos comandos:
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_network_connect_db 1Y no necesitarás desactivar SELinux. Asegúrate de que tienes habilitado y activo (modo enforcing) el SELinux. Puedes ver su estado con:
sestatus
Que te devolverá algo asÃ:
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28Si en «Current mode» tienes permissive en lugar de enforcing es porque lo tienes desactivado, para activarlo usa el comando:
setenforce enforcing
Y para asegurarte de que SELinux esté activo en el próximo arranque del equipo comprueba el fichero:
/etc/selinux/config
que debe tener este contenido:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are protected.
# mls – Multi Level Security protection.
SELINUXTYPE=targeted06/10/2018 a las 21:01 #2854VariosModeradorGenial, he ejecutado los comandos que me has dicho:
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_network_connect_db 1y ya me funciona el acceso del Linux CentOS con Apache al Linux Ubuntu con MySQL y con el SELinux en enforcing.
Muchas gracias!!
-
AutorEntradas
- Debes estar registrado para responder a este debate.