Вы находитесь на странице: 1из 5

1. Deshabilitar la interfaz grfica. para poder logearse como "root".

con el comando: "# vi /etc/inittab" localizar la linea que dice "id:5:initdefault:" y remplazar el 5 por un 3.

2. Reiniciar fedora.

3. Logearse como root.

4. Hacer la poltica. con el comando "# vi Nombre_de_la_politica.te" creamos el archivo de pol itica y escribimos en el los siguientes datos: policy_module(Nombre_de_la_politica, 1.0.0) userdom_restricted_user_template(Nombre_de_la_politica) type TipoDeLaPolitica_t; guardamos y cerramos.

5. Crear enlace simblico a la ruta de compilacin de las polticas para efectos de comodidad, crearemos un enlace simbolico a la ruta donde se encuentra el Makefile de compilacion y poder compilar con un comando sencillo sin ingresar la ruta completa cad a ves que compilemos la politica. con el comando: "# ln -s /usr/share/selinux/devel/Makefile" creamos un enlace simbolico a la ruta de compilacion de politicas.

6. Compilar la poltica. con el comando: "# make" compilamos la politica.

7. Cargar la poltica. con el comando: "# make load" compilamos la politica. NOTA: si no es posible cargarla, asegurese de qu e esta trabajando en modo permisivo de SELinux; para saber en que modo se encuentra, escriba el comando: "# getenforce" y para cambiar de modos, escriba: "# setenforce 1" para habilitar SELinux y: "# setenforce 0" para deshabiliatarlo.

8. Dar de alta nuevo tipo por default. ahora debemos registrar el nuevo tipo y ponerlo como default para evitar problemas. con el comando: "# vi /etc/selinux/targeted/contexts/default_type" editaremos el archivo donde estan dados de alta los tipo por default. agregaremos la siguiente linea: RolDelNuevoUsuario_r:TipoDeLaPolitica_t guardamos y cerramos.

9. Escribir y compilar el programa que se desea confinar. escribimos cualquier programa que se desee confinar y lo compilamos, es posible que "gcc" no este intalado; fedora nos avisara si el compilador falta y nos dira como instalarlo.

11. Dar de alta un usuario SELinux nuevo es necesario crear un usuario Nuevo de SELinux para que el y solo el pue da ejecutar el proceso que deseamos (Confinamiento). con el comando: "# semanage user -a -L s0 -r s0-s0 -R RolDelNuevoUsuario_r UsuarioSELinu x_u" creamos un usuario SELinux nuevo que adoptara el rol "RolDelNuevoUsuario _r" y que se llama "UsuarioSELinux_u".

12. Dar de alta usuario normal asociando el usuario SELinux. ahora daremos de alta un usuario normal para asociarle el usuario SELinu x que acabamos de crear. con el comando: "# useradd -c "Nombre Completo del Usuario" -d /home/UsuarioNormal -s /b in/bash -Z UsuarioSELinux_u -m UsuarioNuevo" creamos un usuario ordinario de linux que se llama "UsuarioNuevo", que s e le asociara el usuario de SELinux "UsuarioSELinux_u", que su carpeta de usuario es "/home/UsuarioNormal", que ejecutara "/bin/ bash" cuando inicie sesion y que su nombre completo es: "Nombre completo del usuario".

13. Asignarle una contrasea al usuario nuevo. ahora para que pueda logearse el usuario nuevo hay que asignarle una con trasenya. con el comando: "# passwd UsuarioNuevo" le asignaremos una nueva contrasenya al usuario: "UsuarioNuevo"; nos apa recera el mensaje de ingresar nueva contrasenya, despues de ingre sarla se nos pedira volver a ingresarla para confirmacion.

14. Poner en modo permisivo.

ahora nos pondremos en modo permisivo, para comprobar que el usuario nue vo que hemos registrado pueda logearse. con el comando: "# setenforce 0" pondremos SELinux en modo permisivo

15. Probar Login como usuario nuevo. logearse como el usuario nuevo. Hasta el momento no deberia haber problemas de login pues estamos en mod o permisivo.

16. Login con root. una ves que hemos comprobado que el usuario nuevo puede logearse sin pro blemas, ahora nos volvemos a logear como root para continuar con nuestra tarea.

17. Asignarle a los archivos binarios el contexto del nuevo usuario. ahora que tenemos un usuario normal con un usuario SELinux asociado, es necesario que (el)los programas que acabamos de compilar tengan los atributos de seguridad necesarios para que solamente el usuar io nuevo pueda ejecutarlos. con el comando: "# chcon UsuarioSELinux_u:object_r:TipoDeLaPolitica_t:s0 ProgramaCompila do" le indicamos a "ProgramaCompilado que ahora pertenece al usuario SELinux "UsuarioSELinux_u", que adoptara el rol "object_r" y que adoptara el tipo "TipoDeLaPolitica_t" en el nivel s0" NOTA: "TipoDeLaPolitica_t" es el que definimos al principio en nuestra p olitica de seguridad y que debe estar cargada en memoria.

18. Copiar archivos con nuevo contexto, a la carpeta de nuevo usuario. ahora debemos copiar nuestro programa compilado al directorio home de nu estro usuario nuevo para que sea visible a el. con el comando: "# cp ProgramaCompilado /home/UsuarioNormal" copiaremos nuestro programa al directorio del nuevo usuario. NOTA: es posible que al copiarlo, se copie con los atributos de root. pa ra saber que atributos tienen los archivos, con el comando: "# ls -Z" puedes saber el contexto de seguridad que tienen los archivos y asi aseg urarte que en efecto tiene el contexto que nosotros deseamos.

19. Login como nuevo usuario. ahora que tenemos nuestro programa en la carpeta del nuevo usuario, lo c orreremos en modo permisivo para obtener los mensajes de error que bota SELinux y poderselos adicionar a la politica para que el programa le sea permitido ejecutarse dentro del contexto

del nuevo usuario.

20. Correr el programa. corremos el programa. NOTA: es recomendable ejecutar el programa de principio a fin, por si de ntro de el se encuentran diferentes llamadas al sistema o funcione s que no sean captadas dentro de la bitacora de error debido a una ejecucion tru nca.

21. Login como root. una ves que hallamos ejecutado nuestro programa y que todos loe mensajes de error hallan sido capturados, nos logearemos como root para continuar nuestra tarea.

22. Ver bitcora (tail). puesto que ya ejecutamos el programa, ahora tenemos todos los errores qu e SELinux registra en una bitacora al denegarle la ejecucion a ese programa. con el comando: "# tail -100 /var/log/audit/audit.log" podremos ver los ultimos 100 mensajes de SELinux que se han registrado e n la bitacora de error.

23. Filtrar mensajes de error asociados con el nuevo usuario. como solamente nos es de interes los mensajes asociados a nuestro usuari o, filtraremos los mensajes que estan relacionados a el. con el comando: "# tail -100 /var/log/audit/audit.log | grep UsuarioSELinux" filtraremos los ultimos 100 mensajes que contengan la palabra "UsuarioSE Linux"

24. Agregar los mensajes a la poltica. ahora que ya tenemos los mensajes relacionados a nuestro usuario que per miten la ejecucion de nuestro programa, solo queda adicionarlos a n uestra politica inicial. con el comando: "# tail -100 /var/log/audit/audit.log | grep UsuarioSELinux | audit2allo w >> Nombre_de_la_politica.te" le agregaremos a nuestra politica las reglas necesarias que permiten la ejecucion de nuestro programa.

25. Volver a compilar la poltica. ya estan registradas las reglas necesarias que permiten la ejecucion de nuestro programa, ahora solo es necesario compilarla.\ con el comando: "# make clean" primero limpiaremos nuestro ambiente de compilacion y con el comando:

"# make" compilaremos la politica de nuevo. NOTA: Es muy posible que la compilacion muestre errores como: ERROR 'unknown type AlgunTipoNecesario_t' at token ';' bla bla. Esto es por que el programa que ejcutamos requiere de algun tipo especif ico que debe ser declarado previamente para su ejecicion. para solucionar este problema, dentro de la politica, despues de la line a: type TipoDeLaPolitica_t; agregaremos el siguiente apartado: require{ type AlgunTipoNecesario_t; } guardamos y recompilamos, si el error vuelve a aparecer solamente adicio namos el tipo faltante, guardamos y recompilamos hasta que no halla nin gun error.

26. Volver a cargar la poltica. una ves que que la compilacion no muestre ningun error, procederemos a c argar la politica nueva. con el comando: "# make load"

27. Poner modo enforcing. ahora probaremos nuestra nueva politica bajo el modo de seguridad de SEL inux activado. con el comando: "# setenforce 1" activaremos SELinux

28. Login como usuario nuevo. hasta este punto debe de ser posible logearse como el usuario nuevo y co rrer el programa sin nigun problema, bajo SELinux activado.

29. HEMOS TERMINADO :D

AUTOR: Ignacio Ochoa Duritz. ;)

Вам также может понравиться