[Indice][Tema 1] [Tema 2] [Tema 3] [Tema 4] [Tema 5]
Tema 4 Seguridad en los Sistemas Operativos

1.- Autenticación de usuarios
    Los sistemas operativos multiusuarios es necesario que antes de empezar la sesión autentiquen al usuario que va a acceder al sistema.
    Para ello el sistema más común es el de usuario (login) y contraseña (password).
    Las características más importantes para una buena password son:

    Estas características son comunes también para cualquier password que tenemos que elegir.
    ¿Como se almacenan las passwords?     En UNIX existe un directorio donde se almacenan todas las passwords es el /etc/passw/ .
    Para almacenarla en este directorio es cifrar el dato 0 utilizando como clave la password y el resultado se expande a 11 bits y se añaden dos bits de semilla. Estos trece bits son los que se almacenan.
    Cuando un usuario introduce su password lo que hace el sistema es cifrar el dato 0 con la password que ha introducido el usuario y compara con lo que tiene almacenado.
2.- Una vez autenticado
    Hay diferentes tipos de sistemas operativos.
    Según el número de usuarios que lo utilicen (no es necesario todos a la vez):     Según el número de tareas que realicen simultáneamente:     Dependiendo si es un tipo u otro nos preocuparan unas cosas  u otras en la seguridad.
    Si es multiusuario hay que tener en cuenta las diferentes partes privadas de cada usuario que hay que proteger.
    En los sistemas multiusuario y multitarea (sobre todo cuando trabajan varias personas a la vez) hay que tener en cuenta no solo los archivos del disco duro, sino que también hay que tener en cuenta que los datos creados por un usuario (en la memoria RAM o en la CPU) solo los vea el usuario que los ha creado.
    En los sistemas multitarea se utilizan técnicas que buscan la disponibilidad ( que otro usuario no borre tu RAM mediante una mala inicialización de punteros ).
    La CPU marca el inicio y el fin de la memoria de cada usuario también se protege al programador de sus "olvidos" que pueden borrar partes fundamentales de la memoria RAM para el sistema.
    Lógicamente en los sistemas que solo tienen un usuario y no están conectados a una red externa que facilite la entrada a individuos externos al sistema no hay que preocuparse por la seguridad, aunque en esos casos el peor enemigo es el propio sistema operativo (que te borra algún archivo o se pierde la integridad que es otro objetivo de la seguridad ).
3.- Proteger el sistema de archivo.
    Linux tiene un sistema basado en unas propiedades (lectura, escritura, ejecución) para cada conjunto de usuarios (el usuario mismo, el grupo al que pertenece y el resto de la gente).
    Cuando ejecutas en el shell ls -l aparece lo primero los permisos de cada conjunto ordenados de la siguiente forma:
    Según sea un fichero o un directorio estos permisos significan una cosa u otra:
    Para los directorios:     Para los archivos :     En UNIX existe otro bit "t" que significa que el archivo vinculado permanece en memoria RAM , no en swap.
    Cada proceso tiene:     Cuando se accede a un fichero se mira el uid y se busca si ese usuario tiene permiso, si falla se procede a ver si pertenece al grupo del propietario y se comprueba que tiene permiso y si fracasa esto se hace lo propio con "other".

    El fichero puede llevar también el bit "s", que se activará si está permitido la ejecución. Este permiso se refiere a que el proceso asociado corre con otro usuario diferente al que lo lanza.
    Este bit es peligroso para la seguridad del sistema operativo y hay que controlar que sean los menos posibles.
4.- Copias de seguridad.
    El objetivo fundamental de las copias de seguridad es alcanzar dos de los objetivos de cualquier sistema de seguridad: la integridad de los datos y la disponibilidad.
    Este método surge porque no podemos conseguir una fiabilidad del 100% de los dispositivos de almacenamiento, ya que no solo intervienen factores del hardware sino amenazas externas e incluso el mismo usuario del sistema pueden borrar archivos valiosos.
    La copia de seguridad del sistema tiene como problema que debido al aumento considerable de la capacidad de los dispositivos de almacenamiento, la propia copia tiene que tener una capacidad similar a la del propio dispositivo.
    La copia de seguridad de un sistema se debe de hacer en una frecuencia proporcional a la cantidad de información que se modifica por unidad de tiempo. Es decir que si en un sistema solo se modifican archivos el día 1 de cada mes es una tontería hacer una copia de seguridad todos los días porque realmente la información que estamos copiando una y otra vez es la misma.
    Así pues habrá sistemas que será viable una copia a tiempo real, es decir cuando modificamos un archivo del disco duro principal hacerlo también en uno secundario. Pero esta forma de copia tiene una pega y es que si borramos accidentalmente un fichero en el original también se perderá en la copia.
    Según la frecuencia de actualización de la copia de seguridad podemos hablar de:

    Una forma eficaz de realizar copias de seguridad es a través de la red. Para ello se utilizan dos máquinas, en una de ellas se establecen unos ficheros para guardar la copia de seguridad de la otra y análogamente también se guarda en la segunda los ficheros de seguridad de la otra. La probabilidad que se estropeen los dispositivos de almacenamiento de las dos máquinas es muy baja.
    Para esta implementación hay que tener en cuenta que el traspaso de información se hace a través de la red, hay que vigilar quien puede o podría ver esa información y si los datos lo requieren por confidencialidad ocultarla.
    Otra cosa que hay que tener en cuenta es la velocidad con que circula la información por la red y la velocidad que la recibe el receptor porque si necesitamos transferir mucha información puede ser mortal.