PDF de programación - PROBLEMAS DE SEGURIDAD EN EL MUNDO UNIX - LINUX

Imágen de pdf PROBLEMAS DE SEGURIDAD EN EL MUNDO UNIX - LINUX

PROBLEMAS DE SEGURIDAD EN EL MUNDO UNIX - LINUXgráfica de visualizaciones

Actualizado el 7 de Abril del 2020 (Publicado el 14 de Abril del 2017)
2.140 visualizaciones desde el 14 de Abril del 2017
2,8 MB
70 paginas
Creado hace 22a (29/08/2001)
PROBLEMAS DE SEGURIDAD EN EL MUNDO

UNIX - LINUX


1.- Introducción

1.1.- Conceptos generales sobre seguridad
1.2.- Políticas de seguridad
1.3.- Seguridad por ocultación

2.- Clasificación de Sistemas operativos confiables: Libro Naranja

2.1.- Introducción
2.2.- Clases de seguridad

2.2.1.- D: seguridad mínima
2.2.2.- C1: protección mediante seguridad discrecional
2.2.3.- C2: protección mediante accesos controlados
2.2.4.- B1: protección mediante seguridad etiquetada
2.2.5.- B2: protección estructurada
2.2.6.- B3: dominios de seguridad
2.2.7.- A1: diseño verificado
2.2.8.- Tabla resumen

3.- Mecanismos de seguridad de UNIX

3.1.- Introducción
3.2.- Usuarios y grupos en UNIX
3.2.1.- Cuentas de usuario
3.2.2.- El archivo /etc/passwd
3.2.3.- Identificador de usuario (UID)
3.2.4.- Grupos
3.2.5.- El archivo /etc/group
3.2.6.- Identificador de grupo (GID)
3.2.7.- Contraseñas
3.2.8.- Usuarios especiales: el superusuario
3.2.9.- El comando su

3.3.- El sistema de ficheros de UNIX

3.3.1.- Introducción
3.3.2.-Tipos básicos de archivos

3.3.3.- Inodos o nodos indice
3.3.4.- Fechas de los archivos
3.3.5.- Permisos de un archivo
3.3.6.- SUID, SGID y los bits adhesivos

3.3.6.1.- Cambio de UID: setuid()
3.3.7.- Listas de control de acceso (ACLs)
3.3.8.- Archivos de dispositivo
3.3.9.- Sistemas de ficheros montados

4.- Mantenimiento de sistemas confiables

4.1.- Introducción
4.2.- Criptografía
4.3.- Defensa de cuentas

4.3.1.- Cuentas sin contraseña
4.3.2.- Cuentas predeterminadas
4.3.3.- Cuentas que ejecutan sólo una instrucción
4.3.4.- Cuentas abiertas

4.3.4.1.- interpretes de comandos restringidos
4.3.4.2.- Sistemas de archivos restringidos

4.4.- Auditoría

4.4.1.- Introducción
4.4.2.- El sistema de log en UNIX
4.4.3.- El demonio syslogd
4.4.4 Algunos archivos de log

4.5.- Amenazas programadas

4.5.1.-Introducción
4.5.2.-Base Fiable de Cómputo
4.5.3.-Tipos de amenazas programadas
4.5.4.-Programación segura

4.5.4.1.-Buffer overflow
4.5.4.2.- Recomendaciones para una programación segura
4.5.4.3.- Utilización segura de funciones de biblioteca

5.- Bibliografía



1.- Introducción.

1.1.- Conceptos generales sobre seguridad.

Seguridad informática

"Una computadora es segura si se puede confiar en que, junto con sus
programas, funcione como se espera."

Una computadora se considera segura (o confiable, introduciremos este
concepto más adelante) si los datos contenidos en ella seguirán estando allí
y nadie que no deba leerlos los lea.

Según esto, los desastres naturales y los errores de programación son
amenazas a la seguridad al igual que los usuarios no autorizados. Por lo
tanto no existe diferencia si los datos se pierden por actos de un estudiante
vengativo, por un virus, un error inesperado o un rayo: los datos se han
perdido de igual forma.

Seguridad y UNIX

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 están usando la misma computadora se estorben. Si no
existiera esta protección un programa podría afectar al funcionamiento de
los programas de otros usuarios, borrar accidentalmente datos e incluso
parar todo el sistema. Para evitar esto UNIX siempre ha contado con algún
tipo de mecanismos de seguridad.

Pero esta seguridad no se limita a la protección de la memoria. UNIX posee
un sistema de archivos que controla la forma en que los usuarios acceden a
los archivos y a los recursos del sistema.

La mayor parte de los fallos de seguridad que se han encontrado se deben a
problemas de configuración y programas con errores, y no a defectos en el
diseño del sistema.

Confiabilidad

Al referirse al nivel de seguridad de un sistema operativo, no es habitual
utilizar los términos "seguro" o "inseguro" , sino que se usa el término
"confiable" para describir el nivel de confianza que se tiene en que un
sistema se comporte como se espera.

Esto implica que no se puede lograr la seguridad absoluta, sino que se trata
de acercarse a ella intentando conseguir un grado de confianza suficiente

para garantizar el funcionamiento correcto del sistema, dependiendo del
contexto en el que se encuentre.

1.2.- Políticas de seguridad.

A pesar de no ser el objetivo fundamental de este trabajo, es importante
considerar el establecimiento de políticas de seguridad a la hora de estudiar
la seguridad de un sistema informático. Debido a esto, resumiremos los
conceptos más relevantes de las políticas de seguridad.

La planificación de las políticas de seguridad se dividen en seis etapas
diferentes:

a.-Planificación de las necesidades de seguridad:

Existen diferentes clases de seguridad, por lo que, dependiendo del tipo de
sistema, habrá que dar mayor o menor importancia a las que tengan más
relevancia:

Confidencialidad: Impedir el acceso a
autorizados.

la

información a usuarios no

Integridad de los datos: Evitar el borrado o alteración indeseados de la
información, incluidos los programas.

Disponibilidad: Asegurar que los servicios esté siempre disponibles para un
usuario autorizado.

Consistencia: Asegurar que el sistema se comporta como esperan los
usuarios autorizados; imagine lo que ocurriría si el comando ls borrara
archivos de vez en cuando en lugar de listarlos.

Control: Reglamentar el acceso al sistema, de forma que programas e
individuos no
el normal
funcionamiento del sistema.

autorizados y desconocidos no

alteren

Auditoría: Determinar qué se hizo, quién lo hizo y qué fue afectado. Para
esto es necesario llevar un registro inexpugnable de todas las actividades
realizadas en el sistema y que identifica de forma no ambigua a los usuarios
que las llevaron a cabo.

b.-Análisis de riesgos:

Trata de responder a tres preguntas: ¿qué se debe proteger?, ¿contra qué
debe protegieres?, ¿cuánto se está dispuesto a invertir para obtener una
protección adecuada?. Para responder a estas preguntas, el análisis de
riesgos se divide en tres etapas:

Identificación de los activos.

Identificación de las amenazas.

Cálculo de los riesgos.

c.- Análisis de costo-beneficio.

Consiste en asignar un costo a cada riesgo, y determinar el costo de
defenderse. De esta manera se puede decidir qué medidas hay que adoptar
para proteger qué activos. Este aspecto no lo desarrollaremos por que no
entra en el ámbito de este estudio.

d.-Políticas de seguridad.

Las políticas sirven para definir qué se considera valioso y especifican qué
medidas hay que tomar para proteger esos activos.

Deben aclarar qué se está protegiendo, establecer la responsabilidad de la
protección y poner
interpretar conflictos
posteriores. No deben hacer una lista de riesgos específicos, computadoras o
individuos por nombre. Deben ser generales y no variar mucho a lo largo
del tiempo.

las bases para

resolver e

e.-Implementación.

f.- Auditoría y respuesta ante incidentes.

Estos dos últimos apartados constituyen el resto de este trabajo.

1.3.- Seguridad por ocultación

Esta costumbre proviene de las aplicaciones militares, donde la ocultación
es una forma efectiva de protección. Pero trasladar este concepto a un
ambiente de computación no resulta apropiado, pudiendo resultar incluso
dañino para la seguridad.

La ocultación presenta bastantes inconvenientes. Por ejemplo, al negar el
acceso a los manuales a los usuarios, un administrador puede pensar que ha
mejorado la seguridad al impedir a estos el conocimiento de comandos y
opciones que pueden usarse para penetrar el sistema. Sin embargo, resulta
sencillo conseguir esa documentación por diversos medios (universidades,
Internet, librerías, ...), por lo que los administradores no pueden impedir que
los usuarios accedan a la documentación.

Además, esto redunda en una pérdida de eficacia de los usuarios, al no
poder consultar los manuales. Esto también conlleva una actitud negativa
porque da a entender que no se confía en los usuarios.

Los errores de programación o características excepcionales son también
objeto habitual de la ocultación, pero esto también es una mala política. Los
desarrolladores colocan frecuentemente puertas traseras en sus programas

que permiten obtener privilegios sin autentificarse debidamente. Otras veces
esto permite que errores de programación que afectan gravemente a la
seguridad del sistema persistan ya que se supone que nadie los conoce. El
problema es que estos agujeros de seguridad tienden a ser descubiertos por
accidente o por intrusos persistentes.

Otra práctica habitual es mantener en secreto algoritmos desarrollados
localmente, tales como algoritmos de cifrado. Esto también presenta algunos
inconvenientes. Sin un estudio en profundidad estos podrían presentar
graves fallos de seguridad, y este estudio no es posible si se mantienen en
secreto.

Desde el punto de vista de los sistemas operativos, mantener el código
fuente en secreto no garantiza la seguridad. Si un intruso desea penetrar en
el siste
  • Links de descarga
http://lwp-l.com/pdf2810

Comentarios de: PROBLEMAS DE SEGURIDAD EN EL MUNDO UNIX - LINUX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad