Cargando



SELinux en CentOS para servidores

En este tutorial veremos como configurar SELinux módulo de seguridad del kernel de linux, significa Security Enhanced Linux o Linux con Seguridad Mejorada.


oct 04 2013 14:18
SELinux es un modulo de seguridad del kernel de linux, significa Security Enhanced Linux o Linux con Seguridad Mejorada.

Este modulo de seguridad de Linux que provee varias políticas de seguridad, incluyendo controles de acceso puede ser aplicado a sistemas tipo Unix como Linux y BSD.

Viene activado en CentOS y en la mayoría de las distros modernas, en los servidores generalmente esta activado.

Vamos a verlo no como aplicación de escritorio sino, como un sistema de seguridad en el servidor, lo que hace Selinux es comprobar en todo momento si el archivo al que se intenta acceder es valido y tiene permiso para ser utilizado por la aplicación que lo quiere ejecutar.

Aparte de controlar archivos, también controla puertos. Un caso de control es si intentamos arrancar un servidor de FTP, debemos antes darle los permisos correspondientes para que el servidor pueda escuchar en el puerto, sino no funcionara, normalmente esta configuración se hace durante la instalación.

Suponemos que ya esta instalado y vamos a configurarlo

SELinux tiene su propia base de datos de usuarios que esta asociada a la base de datos normal de usuarios de Linux. Las identidades son usadas en ambos,sujetos y objetos. Solamente unos cuantos usuarios de SELinux son definidos: (pueden ser listados por el comando 'semanage user -l'):

El directorio /etc/selinux es la ubicación principal para todos los archivos de políticas así como también para el archivo de configuración principal.

Utilidades y programas de SELinux

Vamos a ver cuales son algunos de los programas de utilidades usados más a menudo por selinux

/usr/bin/setenforce: modifica en tiempo real el modo en que se ejecuta selinux. al ejecutar el comando setenforce 1, se coloca selinux en modo impositivo es decir las reglas de seguridad estaran activas. si ejecutamos setenforce 0, selinux se coloca en modo permisivo.

para desactivar selinux, se necesita que configurar el parámetro en /etc/sysconfig/selinux o que pase el parámetro
selinux=0 al kernel, o bien si lo queremos desde el arranque del sistema operativo añadimos el comando al archivo /etc/grub.conf.

/usr/bin/sestatus -v: obtiene el estado detallado de un sistema ejecutando selinux. ejemplo siguiente muestra un extracto de la salida sestatus

# sestatus
SELinux status:				 enabled
SELinuxfs mount:			    /selinux
Current mode:				   enforcing
Mode from config file:		  enforcing
Policy version:				 21
Policy from config file:	    targeted


Selinux tiene interfaz gráfica pero como puede administrase remotamente con ssh explicamos los comandos.

SELINUX.jpg


Un comando importante es getsebool y permite listar las políticas definidas en SELinux y determinar quye reglas estan están activas o inactivas. Desde la terminal escribimos el siguiente comando

getsebool -a |grep texto

El texto puede ser un servicio o programa que deseeemos por ejemplo

getsebool -a |grep ftp

Por ejemplo de este comando podemos obtener un estado de ftp

allow_ftpd_anon_write --> on    //Permite acceso a usuarios anónimos por ftp  en el servidor
allow_ftpd_full_access --> on   //Permitir lectura y escritura de archivos
ftp_home_dir --> on			      //Permite a usuario acceder a sus directorios home

Debemos conocer cada servicio de nuestro servidor para poder verificar que es cada regla que controla Selinux y como esta configurada.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X