Anda di halaman 1dari 25

Seguridad Sistemas Operativos

Seguridad en Unix/Linux

Agenda
Objetivos Introduccin Mecanismos de Seguridad
Usuarios y grupos Archivos Usuarios especiales Delegacin de privilegios

Objetivos
Comentar algunas opciones que poseen los sistemas Linux/Unix para la configuracin de la seguridad. Explicar como interacta el sistema operativo con el usuario. Revisar algunas prcticas inseguras que se suelen aplicar. Entregar recomendaciones de seguridad para ser aplicadas al sistema operativo.

Introduccin
Dennis Ritchie dijo sobre UNIX: "No se dise para ser seguro, se dise para que se pudiera usar la seguridad UNIX es un sistema operativo multiusuario y multitarea. Una de las funciones naturales de estos sistemas es prevenir que distintos usuarios o programas que estn usando la misma computadora se estorben. La mayor parte de los fallos de seguridad que se han encontrado se deben a problemas de configuracin y programas con errores, y no a defectos en el diseo del sistema.

Fsico de USA que colabor en el desarroll del Sist. Ope. Unix y cre el lenguaje C.

Mecanismos de Seguridad en UNIX


Corresponden a aquellos recursos que el sistema operativo proporciona y que conforman la base sobre la que se establece la seguridad. El conocimiento de estos mecanismos por parte del administrador de seguridad es completamente imprescindible, puesto que, bien utilizados permiten que el sistema se muestre robusto ante cualquier ataque o fallo. Por otro lado, mal utilizados proporcionarn una puerta abierta a cualquier atacante o convertirn un programa inocente en un autntico agujero de seguridad.

Mecanismos de Seguridad en UNIX


Usuarios y grupos
Las cuentas de usuario son el primer objetivo de cualquier atacante, su finalidad suele ser casi siempre esta, penetrar en el sistema consiguiendo apoderarse de una cuenta de usuario (preferentemente la del root). Los usuarios se identifican a travs de su login y son autenticados a travs de la clave asignada para ingresar al sistema operativo. Una vez que ingresan tienen un intrprete de comando asignado (SHELL), desde el que se pueden ejecutar tareas o un entorno grfico (abstraccin).

Mecanismos de Seguridad de UNIX


Definir una clave robusta es la primera defensa que un usuario puede implementar: Ejemplos de robustez de las claves:
clave laura lauras Laura Laura1 Laura1. Laura1., Laura16., abc123 12345678 duoc2012 password Passw0rd Largo 5 6 5 6 7 8 9 6 8 8 8 8 Maysculas Nmeros 0 0 0 0 1 0 1 1 1 1 1 1 1 2 0 3 0 8 0 4 0 0 1 1 Otros robustez 0 6% 0 7% 0 18% 0 35% 1 51% 2 77% 2 89% 0 32% 0 8% 0 46% 0 8% 0 54% http://www.passwordmeter.com

Mecanismos de Seguridad UNIX


Definicin de una clave: robusta o sencilla?
Los usuarios no definen claves basados en su robustez ms bien lo hacen pesando en la facilidad de recordarla. Con la amplia gama de sistemas o aplicaciones o servicios que operan en el mercado, los que no cuentan con un sistema de autenticacin centralizado, los usuarios se ven en la obligacin de tener diferentes claves (una por cada sistema), obligando a sacrificar robustez por sencillez Para este tipo de problemas existen software que se conocen como Gestores de Claves
Ref: http://es.wikipedia.org/wiki/Gestor_de_contraseas

Mecanismos de Seguridad UNIX


El archivo /etc/passwd
Los sistemas UNIX/Linux, guardan las claves de los usuarios en este archivo Todas las cuentas del sistema se encuentran definidas en este archivo Contiene una lnea por cada usuario La informacin de cada usuario est dividida en 7 campos delimitados cada uno por ':' dos puntos Puede ser ledo por cualquier usuario del sistema, aunque solo puede ser modificado por root

Mecanismos de Seguridad UNIX


/etc/passwd Campo 1 Campo 2 Campo 3 Es el nombre del usuario, identificador de inicio de sesin (login). Tiene que ser nico La 'x' indica la contrasea encriptada del usuario, adems tambin indica que se est haciendo uso del archivo /etc/shadow Nmero de identificacin del usuario (UID). Tiene que ser nico. 0 para root, generalmente las cuentas o usuarios especiales se numeran del 1 al 100 y las de usuario normal del 101 en delante, en las distribuciones mas recientes esta numeracin comienza a partir del 500 Numeracin de identificacin del grupo (GID). El que aparece es el nmero de grupo principal del usuario, pero puede pertenecer a otros, esto se configura en /etc/groups Comentarios o el nombre completo del usuario. Directorio de trabajo (Home) donde se sita al usuario despus del inicio de sesin Shell que va a utilizar el usuario de forma predeterminada

Campo 4

Campo 5 Campo 6 Campo 7

Mecanismos de Seguridad UNIX


El archivo /etc/shadow
Slo puede ser ledo por root Contiene una lnea por cada usuario
Campo 1 2 3 4 5 6 7 8 9 Descripcin Nombre de la cuenta del usuario Contrasea cifrada, un '*' indica cuenta de 'nologin' Das transcurridos desde el 1/ene/1970 hasta la fecha en que la contrasea fue cambiada por ltima vez Nmero de das que deben transcurrir hasta que la contrasea se pueda volver a cambiar Nmero de das tras los cuales hay que cambiar la contrasea. (-1 significa nunca). A partir de este dato se obtiene la fecha de expiracin de la contrasea. Nmero de das antes de la expiracin de la contrasea en que se le avisar al usuario al inicio de la sesin. Das despus de la expiracin en que la contrasea se inhabilitara, si es que no se cambio. Fecha de caducidad de la cuenta. Se expresa en das transcurridos desde el 1/Enero/1970 (epoch) Reservado.

Mecanismos de Seguridad UNIX


/etc/group
Guarda la relacin de los grupos a los que pertenecen los usuarios del sistema Al crear al usuario con useradd se crea tambin automticamente su grupo principal de trabajo GID, con el mismo nombre del usuario Contiene una lnea para cada usuario con tres o cuatro campos por usuario:
Campo 1 2 3 4

Descripcin Nombre de la cuenta del usuario 'x' indica la contrasea del grupo, que no existe, si hubiera se mostrara un 'hash' cifrado. Group ID (GID) o identificacin del grupo es opcional e indica la lista de grupos a los que pertenece el usuario

Mecanismos de Seguridad UNIX


/etc/login.defs
Estn definidas las variables que controlan los aspectos de la creacin de usuarios y de los campos de shadow usadas por defecto

http://www.linuxtotal.com.mx/index.php?cont=info_admon_008

Mecanismos de Seguridad UNIX


Usuarios especiales
Adems de los usuarios normales, UNIX tiene varios usuarios especiales para propsitos administrativos y contables. Ya se han mencionado algunos. El ms importante es el root, el superusuario. Todos los sistemas UNIX tienen un usuario especial en el archivo /etc/passwd cuyo UID es 0. La cuenta root es la identidad que usa el sistema operativo para llevar a cabo sus funciones bsicas, tales como el inicio y la terminacin de sesiones de usuario, el registro de la informacin contable y la administracin de dispositivos de entrada/salida.

Mecanismos de Seguridad UNIX


Usuarios especiales
El superusuario tiene el control de casi todo el sistema operativo: cualquier programa ejecutado por root puede eludir casi todas las restricciones de seguridad y se desactivan casi todas las verificaciones y advertencias. Cualquier cuenta que tenga el UID 0 tiene los privilegios del superusuario. El nombre de usuario root es simplemente convencional. Hay que sospechar inmediatamente de cualquier cuenta que aparezca en el sistema con UID 0 que no haya sido creada por el administrador. La cuenta root no se ha diseado para que el administrador la use como cuenta personal El usuario es la principal debilidad de seguridad del sistema operativo UNIX.

Mecanismos de Seguridad UNIX


/etc/sudoers
En ambientes donde varios usuarios usan uno o ms sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para que estos puedan hacer uso de comandos propios del usuario administrador 'root. Permite implementar un control de acceso altamente granulado de que usuarios ejecutan que comandos.

Mecanismos de Seguridad UNIX


/etc/sudoers
Se modifica a travs del comando visudo Se establece quien (usuarios) puede ejecutar que (comandos) y de que modo (opciones) Es ms fcil entender sudo si dividimos en tres partes su posible configuracin, ests son:
Alias Opciones (Defaults) Reglas de acceso

Ninguna de las secciones es obligatoria, o tienen que estar en algn orden especfico, pero la que al menos debe de existir es la tercera, que es la definicin de los controles o reglas de acceso La construccin de un archivo sudoers esta basado en la forma extendida EBNF (Extended Backus-Naur Form)

Mecanismos de Seguridad UNIX


/etc/sudoers
Alias:
Un alias se refiere a un usuario, un comando o a un equipo La forma para crear un alias es la siguiente:
tipo_alias NOMBRE_DEL_ALIAS = elemento1, elemento2, elemento3, ... elementoN tipo_alias NOMBRE1 = elemento1, elemento2 : NOMBRE2 = elemento1, elemento2

Tipos de alias:
Cmnd_Alias - define alias de comandos. User_Alias - define alias de usuarios normales. Runas_Alias - define alias de usuarios administradores o con privilegios. Host_Alias - define alias de hosts o equipos.

Mecanismos de Seguridad UNIX


/etc/sudoers
Tipos de alias:
Cmnd_Alias - define alias de comandos.
Definen uno o ms comandos y otros alias de comandos que podrn ser utilizados despus en alias de usuarios
Cmnd_Alias WEB = /usr/sbin/apachectl, /usr/sbin/httpd, sudoedit /etc/httpd/ Indica que a quien se le aplique el alias WEB podr ejecutar los comandos apachectl, httpd y editar todo lo que este debajo del directorio /etc/httpd/, ntese que debe de terminar con '/' cuando se indican directorios. Tambin, la ruta completa a los comandos debe ser indicada. Cmnd_Alias APAGAR = /usr/bin/shutdown -h 23\:00 Al usuario que se le asigne el alias APAGAR podr hacer uso del comando 'shutdown' exactamente con los parmetros como estn indicados, es decir apagar -h (halt) el equipo a las 23:00 horas. Ntese que es necesario escapar el signo ':', asi como los smbolos ' : , = \

Mecanismos de Seguridad UNIX


/etc/sudoers
Tipos de alias:
User_Alias - define alias de usuarios normales.
Definen a uno o ms usuarios, grupos del sistema (indicados con %), grupos de red (netgroups indicados con +) u otros alias de usuarios
User_Alias MYSQL_USERS = andy, marce, juan, %mysql Indica que al alias MYSQL_USERS pertenecen los usuarios indicados individualmente ms los usuarios que formen parte del grupo 'mysql'. User_Alias ADMIN = sergio, ana 'sergio' y 'ana' pertenecen al alias ADMIN.

Mecanismos de Seguridad UNIX


/etc/sudoers
Tipos de alias:
Host_Alias - define alias host o equipos.
Funciona exactamente igual que User_Alias, la nica diferencia es que es posible usar el ID del usario UID con el caracter '#'
Host_Alias LANS = 192.168.0.0/24, 192.168.0.1/255.255.255.0 El alias LANS define todos los equipos de las redes locales. Host_Alias WEBSERVERS = 172.16.0.21, web1 : DBSERVERS = 192.168.100.10, dataserver Se define dos alias en el mismo rengln: WEBSERVERS y DBSERVERS con sus respectivas listas de elementos, el separador ':' es vlido en cualquier definicin de tipo de alias

Mecanismos de Seguridad UNIX


/etc/sudoers
Tipos de alias:
Runas_Alias - define alias de usuarios privilegiados.
Funciona exactamente igual que User_Alias, la nica diferencia es que es posible usar el ID del usario UID con el caracter '#'
Runas_Alias OPERADORES = #501, fabian Al alias OPERADORES pertenecen el usuario con UID 501 y el usuario 'fabian'

Mecanismos de Seguridad UNIX


/etc/sudoers
Ejemplo
User_Alias ADMINS = sergio, ana Host_Alias WEBSERVERS = 10.0.1.100, 10.0.1.101 Cmnd_Alias APACHECMDS = /usr/sbin/apachectl, /sbin/service httpd * WEBMAS WEBSERVERS = APACHECMDS, NOPASSWD: /var/log/apache/, /sbin/reboot # webmasters, en los servidores web con los comandos indicados en apachecmds y adems sin necesidad # de contrasea acceder a las btacoras de apache y reiniciar los servidores.

Conclusiones/Recomendaciones
Use claves robustas Defina una poltica de seguridad de clave por defecto en el sistema operativo Apyese por software gestor de claves Defina reglas de sudo basadas en el principio de mnimo privilegio considerando la segregacin funcional

Referencias
http://www.sudo.ws http://www.rpublica.net/sudo/indice.html#de faults http://www.linuxtotal.com.mx

Anda mungkin juga menyukai