Consistencia: se refiere a que el sistema debe comportarse como se espera y mantener ese comportamiento sin que se produzcan cambios inesperados.
Servicio: el sistema ofrece los servicios de una manera confiable, constante y consistente.
Protección: el entorno de ejecución de un proceso no debe afectar al de otro. De esta manera, si un programa tiene errores y detiene su ejecución, no debe afectar al sistema.
Control de acceso: el sistema debe ofrecer un mecanismo de acceso a los datos que garantice la confidencialidad de los mismos con respecto a otros usuarios.
Autenticación. El sistema debe ofrecer un mecanismo para identificar al usuario que accede al sistema y proporcionar los privilegios adecuados en función del tipo de usuario.
El sistema operativo debe encargarse de garantizar la seguridad a todos los niveles, implementando un modelo de gestión de la seguridad centralizado, en la mayoría de los casos apoyado por un sistema de gestión de actualizaciones que las principales compañías ponen a disposición conforme encuentran agujeros de seguridad en sus sistemas.
Para hacerse una idea de cuáles son los principales mecanismos que afectan de manera directa a la seguridad de todo el sistema, se puede observar el siguiente diagrama:
2.9.Auditoría (logs del sistema)
Todos los sistemas operativos poseen mecanismos para detectar errores y registrar la información referente a los mismos para que los administradores puedan analizarla y actuar en consecuencia. Estos registros se almacenan en ficheros denominados logs.
En las distribuciones de Linux, estos logs se encuentran en las siguientes ubicaciones del sistema de ficheros:
/var/log/message: registro de mensajes generales del sistema.
/var/log/auth.log: log de autenticación.
/var/log/kern.log: registro del kernel.
/var/log/cron.log: registro de crond.
/var/log/maillog: registro del servidor de mails.
/var/log/qmail/: registro de Qmail.
/var/log/httpd/: registro de errores y accesos a Apache.
/var/log/lighttpd: registro de errores y accesos a Lighttpd.
/var/log/boot.log: registro de inicio del sistema.
/var/log/mysqld.log: registro de la base de datos MySQL.
/var/log/secure: log de autenticación.
/var/log/utmp o /var/log/wtmp: registro de logins.
En el caso de Windows, depende de la versión del sistema operativo. Pero, por regla general, se encuentra accediendo a las herramientas administrativas desde el panel de control. Dentro de la ventana de herramientas administrativas, se pulsa sobre el visor de eventos.
2.10. Procesos de arranque (boot) y finalización del sistema (shutdown)
Todo sistema operativo necesita un proceso de arranque y parada. El proceso de arranque prepara el sistema para que los usuarios puedan usarlo. Este proceso se divide en dos partes: arranque hardware y arranque del SO. El arranque hardware se realiza bajo la supervisión de la BIOS y es propio del hardware, no del sistema operativo. Se realiza un test de hardware y se carga en memoria el registro de arranque maestro (MBR), alojado en el primer sector del disco de inicio. El MBR contiene información sobre las particiones del disco de inicio, así como sobre cuál es la partición activa.
Tras esto, el control se pasa al MBR. El MBR busca en la partición activa el sector de arranque (que se encuentra en los primeros sectores de la partición) y lo carga en memoria. Estos sectores contienen el cargador del SO. Una vez cargado en memoria, se le otorga el control y comienza la carga real del SO con la siguiente secuencia de pasos: test del sistema de ficheros, creación de las estructuras de datos internas, completado de la carga del SO residente y creación del proceso de login para la autenticación del usuario.
Tras esta fase, comienza la de funcionamiento normal del SO.
En el caso de Linux, la secuencia de pasos del cargador sería la siguiente:
Se carga en memoria el kernel.
Se cargan los módulos necesarios y se monta la partición root en solo lectura. En concreto, se busca la imagen initrd, se descomprime, se monta y se cargan los controladores necesarios.
Se inicializan los ficheros antes de desmontar initrd.
Se crea el dispositivo “root”, se monta la partición “root” (solo lectura) y se libera la memoria no usada. El kernel se encuentra cargado en memoria y operativo.
El kernel transfiere el control del proceso de arranque a /sbin/init.
/sbin/init carga servicios y herramientas de espacio del usuario y monta las particiones listadas en /etc/fstab.
Читать дальше