Está en la página 1de 32

Seguridad en

Sistemas
Operativos
Propietarios
Tema 2
Linux – Otras Medidas …
Seguridad en
Sistemas
Operativos
Propietarios
Otras medidas de seguridad
Otras medidas de seguridad

Deshabilitar servicios innecesarios

Seguridad en Sistemas Operativos Propietarios 3/31


Otras medidas de seguridad
 En la imagen podemos ver
varias columnas
 Cada una de ellas es un run level
 Los servicios en Linux se ejecutan
por run levels
 Los run levels determinan cuando
se ejecutan los servicios
 Van del 0 al 6 y la letra S
 Los niveles 0, 6 y S están
reservados para el comienzo y
finalizacinn del sistema
 El run level 1 se ejecuta en modo
single-user (modo recuperacinn)
 Los run level del 2 al 5 son para
modo multi-user
 Con la utilidad sysv-rc-conf
marcaremos con una X (usando la
barra espaciadora) en qué run levels
queremos que funcione cada servicio

Seguridad en Sistemas Operativos Propietarios 4/31


Otras medidas de seguridad

Seguridad en Sistemas Operativos Propietarios


Otras medidas de seguridad

Seguridad en Sistemas Operativos Propietarios 6/31


Otras medidas de seguridad
 La siguiente lista, describe los servicios y si se
recomienda deshabilitarlo

Seguridad en Sistemas Operativos Propietarios 7/31


Otras medidas de seguridad

Comprobar cuentas de usuarios

Seguridad en Sistemas Operativos Propietarios 8/31


Otras medidas de seguridad
 En la anterior imagen se ve como línea a línea se describen los usuarios
del sistema con los diferentes UID o la carpeta HOME de cada uno de
ellos
 Debian define en su documentacinn, los siguientes usuarios por defecto:
 root: es el superusuario
 daemon: algunos demonios (procesos) sin privilegios, necesitan escribir en
archivos del disco utilizan este usuario
 Demonios como portmap, atd, etc, usan este usuario
 Otros demonios que no necesitan acceso a archivos usan el usuario “nobody”, “nogroup” o
usan un usuario específico
 bin: este usuario se mantiene por razones histnricas
 sys: al igual que el usuario bin
 sync: se usa con el comando sync
 games: muchos juegos usan este usuario para poder escribir su “high score”
 man: el programa “man” usa este usuario para que puedan escribir las páginas
del manual en el disco duro (/var/cache/man)
 lp: usado por los demonios de las impresoras

Seguridad en Sistemas Operativos Propietarios 9/31


Otras medidas de seguridad
 mail: los clientes de correo electrnnico del sistema, usa el usuario y
grupo mail para escribir en /var/mail
 Varios servicios de correo electrnnico también usa este usuario por otras razones
 news: varios servidores de noticias y otros programas asociados a
estos, usan este usuario y grupo
 uucp: este usuario y su grupo, son usados por el subsistema del
protocolo UUCP
 Los usuarios en este grupo pueden utilizar el comando uucico
 proxy: los demonios proxy que no tienen un usuario dedicado usan
este usuario
 Los proxies pdnsd y squid usan este usuario
 majordom: majordomo tiene este usuario por motivos histnricos
 No se instala en sistemas nuevos
 postgres: postgresql usa este usuario y grupo
 Los archivos en /var/lib/postgresql pertenecen a este usuario

Seguridad en Sistemas Operativos Propietarios 10/31


Otras medidas de seguridad
 www-data: algunos servidores web usan este usuario
 Se usa al escribir en sus ficheros log o cualquier informacinn escrita en el disco
duro
 Hay que tener en cuenta que el contenido web no debería pertenecer a este
usuario o el servidor web podría modificarlo
 backup: se puede asignar al encargado del backup del Sistema
 operator: histnricamente es el usuario que puede conectarse
remotamente sin depender de NIS/NFS
 list: los archivos y datos de las listas de correo pertenecen a este
usuario
 Algunos programas asociados también usan este usuario
 irc: usado por demonios IRC
 gnats: usado por el servicio de control de errores de GNU
 nobody (usuario), nogroup (grupo): demonios que no necesitan
archivos usan este usuario/grupo
 Ningún archivo del sistema debería pertenecer a este usuario/grupo

Seguridad en Sistemas Operativos Propietarios 11/31


Otras medidas de seguridad
 Se ha evaluado, que si no se usan las funciones
asociadas, se pueden borrar los usuarios: proxy,
www-data, list, irc, gnats, uucp, news y lp

 Por otro lado, hay que verificar y bloquear los


accesos a la Shell a los usuarios cuya clave
estuviera vacía

Seguridad en Sistemas Operativos Propietarios 12/31


Otras medidas de seguridad
 Si la orden anterior ha mostrado alguna línea, habrá que bloquear el
usuario correspondiente

 En el sistema existe el UID, un número asignado a cada usuario y


que se almacena junto a la lista de usuarios en el fichero /etc/passwd
 El UID con valor 0 (cero) es el asignado a la cuenta root

 El anterior comando nos debería devolver únicamente la cuenta root

Seguridad en Sistemas Operativos Propietarios 13/31


Otras medidas de seguridad
 También tendremos que tener en cuenta el
crear un grupo único por cada usuario
nuevo que creemos
 Por defecto, el comando “useradd” crea un
grupo con el nombre igual al usuario
 Por esto, con el comando “useradd” nunca
deberemos usar la opcinn “-g” y usar el
funcionamiento por defecto del comando

Seguridad en Sistemas Operativos Propietarios 14/31


Otras medidas de seguridad

Opciones de montaje de fcheros


 En el fichero /etc/fstab se definen las
opciones de cnmo se montan las particiones
y dispositivos del sistema
 Los puntos de montaje pueden estar
referenciados por un UUID o por el nodo de
montaje
 Por ejemplo, el nodo de montaje del CDROM, en la
siguiente captura de pantalla es /dev/sr0
 Para recorrer los archivos del CDROM tendremos
que ir al punto de montaje es /media/cdrom0

Seguridad en Sistemas Operativos Propietarios 15/31


Otras medidas de seguridad

 En la primera línea de la anterior imagen, se puede ver que la


particinn raíz “/” tiene la opcinn de montaje “errors=remount-
ro”, que el CDROM tiene user y noauto y que el resto de puntos
de montaje tienen la opcinn “defaults”
 Hay que tener en cuenta que las líneas que empiezan por almohadilla (“#”)
son comentarios

Seguridad en Sistemas Operativos Propietarios 16/31


Otras medidas de seguridad
 Para segurizar las particiones del sistema
modificaremos el fichero /etc/fstab utilizando
nuestro editor favorito (se recomienda nano)
 Tendremos que modificar las opciones de
montaje de la siguiente manera:
 Asignar la opcinn “nodev” a las particiones
distintas a la raíz del sistema “/”
 De esta manera evitamos que, pese a crearse nodos de
dispositivos dentro de la particinn, no puedan tratarse
como tales y montar otros dispositivos dentro de estos
 De esta manera no podremos crear y utilizar un punto de
montaje dentro de /home

Seguridad en Sistemas Operativos Propietarios 17/31


Otras medidas de seguridad
 Asignar la opcinn “nosuid” a las particiones
distintas a la raíz del sistema “/”
 SUID (Set owner User ID up on execution) es un
tipo especial de permiso de los ejecutables que
permite al usuario que lo ejecuta, ejecutarlo como su
usuario propietario (Suele ser muy peligroso)
 Las particiones con la opcinn “nosuid” no podrán tener
ficheros SUID y así evitamos que los posibles
problemas de una aplicacinn afecten al sistema
 Asignar las opciones “nodev”, “nosuid” y “noexec” a las
particiones de medios extraíbles como CDs
 De esta manera evitamos cualquier ejecucinn desde
medios externos al sistema

Seguridad en Sistemas Operativos Propietarios 18/31


Otras medidas de seguridad
 En la siguiente captura de pantalla puedes ver el estado de
la configuracinn del fichero /etc/fstab:

Seguridad en Sistemas Operativos Propietarios 19/31


Otras medidas de seguridad

Seguridad en Sistemas Operativos Propietarios 20/31


Otras medidas de seguridad
Logs
 Los sistemas Linux guardan un registro de los eventos más
importantes ocurridos en un sistema de logs o registro de
auditoría
 Que suele almacenarse en el directorio /var/log/
 Donde cada tipo de evento se almacena en un fichero diferente

 Por ejemplo, aunque el archivo de log principal es


/var/log/messages
 Todos los eventos relacionados con la autenticacinn (inicios de sesinn
válidos, intentos fallidos) se almacenan en /var/log/auth.log
 Los mensajes del kernel al arrancar se almacenan en
/var/log/dmesg
 Y los logs de los servidores importantes (como el servidor web
Apache) se almacenan en directorios separados
 Como por ejemplo /var/log/httpd/ o /var/log/apache2/

Seguridad en Sistemas Operativos Propietarios 21/31


Otras medidas de seguridad
 Los logs de Linux se almacenan en un formato
de texto
 Con una línea de texto por evento registrado
 Que consiste en:
 La fecha y hora en la que ocurrin el evento
 El nombre del host donde ocurrin y el usuario o
proceso que genern el evento
 Seguido de ‘:’
 Y una cadena de texto con el mensaje del evento en

 Un ejemplo de entrada de log Linux podría ser:

Seguridad en Sistemas Operativos Propietarios 22/31


Otras medidas de seguridad
 Los logs de Linux son compatibles con el protocolo syslog
 Por lo que es muy fácil recibir o enviar los logs a otros servidores
Linux para centralizar la informacinn
 El protocolo syslog es un protocolo muy simple basado en
UDP o TCP (puerto 512)
 Donde, además de la fecha, la máquina origen y el mensaje, se
define la severidad del evento (en una escala de 0 a 7, donde el 0
emergency es el nivel más crítico y 7 debug, el menos importante)
 Y el cndigo de recurso o facility que lo ha generado (e.g. Auth, Kern, User, o
Local0-local7)
 De esta forma es posible controlar la importancia de los eventos
que se desean registrar y enviarlos a ficheros o destinos diferentes
en funcinn del tipo de eventos, mediante la definicinn de reglas

Seguridad en Sistemas Operativos Propietarios 23/31


Otras medidas de seguridad
 Un ejemplo del fichero /etc/syslog.conf
sería:

Seguridad en Sistemas Operativos Propietarios 24/31


Otras medidas de seguridad

Security Enhanced Linux (SELinux),


AppArmor y Grsecurity
 SELinux es un mndulo de seguridad del
kernel de Linux desarrollado por la NSA
(National Security Agency) para
proporcionar mandatory access control
(MAC) y control de acceso basado en roles
(RBAC – role-based access control) en
Linux

Seguridad en Sistemas Operativos Propietarios 25/31


Otras medidas de seguridad
 El sistema de permisos en el que se basa la
seguridad de Linux se conoce como
Discretionary Access Control (DAC)
 Porque el dueño de cada fichero es el responsable
de otorgar o cambiar los permisos a sus ficheros
 De este modo, aunque el administrador del sistema
quiera que los usuarios no tengan ficheros
accesibles a otros usuarios diferentes fuera de sus
grupos
 No hay forma de forzar esa política de manera obligatoria
(de ahí el nombre ‘discreccional’)
 Y cualquier usuario puede otorgar permisos de lectura a sus
ficheros a cualquier otro usuario del sistema (chmod o+r *)

Seguridad en Sistemas Operativos Propietarios 26/31


Otras medidas de seguridad
 Por otro lado, el usuario root tiene
permisos completos sobre el sistema
 Así que si algunos de los demonios del sistema
que ejecutan como root resulta comprometido
y permite ejecutar cndigo, el atacante tiene
control completo sobre el sistema

Seguridad en Sistemas Operativos Propietarios 27/31


Otras medidas de seguridad
 SELinux permite definir una serie de políticas de
seguridad obligatorias que permiten, por ejemplo,
definir a qué ficheros puede acceder cada demonio o
usuario, independientemente de sus permisos, incluso
root
 Para ello, en SELinux se asocian una serie de etiquetas a los
usuarios, ficheros y procesos (Nombre de usuario, Rol,
Tipo/Nivel/Dominio) que definen su contexto de seguridad
 Las políticas de seguridad definen, por tanto, las
restricciones de los usuarios y procesos para acceder a
los recursos del sistema basadas en sus respectivos
contextos de seguridad
 SELinux es una herramienta extremadamente potente,
pero es difícil de configurar y administrar

Seguridad en Sistemas Operativos Propietarios 28/31


Otras medidas de seguridad
 AppArmor tiene un objetivo similar a
SELinux (restringir a qué recursos puede
acceder un proceso), pero es mucho más
simple de configurar y administrar
 En particular, en lugar de tener que etiquetar
todos y cada uno de los usuarios y recursos
del sistema
 Con AppArmor solo es necesario definir para cada
comando a proteger los privilegios que se desean
otorgar a cada aplicacinn
 Definiendo un simple fichero de texto en /etc/apparmor.d/

Seguridad en Sistemas Operativos Propietarios 29/31


Otras medidas de seguridad
 Grsecurity es un conjunto de parches para el
Kernel de Linux que implementan mejoras de
seguridad
 Como un sistema de control de acceso basado en roles
(RBAC)
 Capacidades de auditoría mejoradas, y sobre todo
medidas para prevenir exploits y escaladas de privilegio
 Con técnicas como:
 La aleatorizacinn del espacio de direcciones (ASLR –
address space layout randomization)
 Páginas de memoria de solo-lectura
 O pila no ejecutable

Seguridad en Sistemas Operativos Propietarios 30/31


Seguridad en
Sistemas
Operativos
Propietarios
Tema 2
Otras medidas …
Profesor: José Alfredo Torres Solano
Otras medidas de seguridad

Seguridad en Sistemas Operativos Propietarios 32/31

También podría gustarte