14/09/11

75
14/09/11 Principios de seguridad en Linux 1 WALC 2011 Track 6. Seguridad Informática José F. Torres M. Universidad de Los Andes Merida, Venezuela Principios de seguridad en Linux

description

WALC 2011 Track 6. Seguridad Informática. Principios de seguridad en Linux. José F. Torres M. Universidad de Los Andes Merida, Venezuela. 14/09/11. Principios de seguridad en Linux. 1. Agenda. Sistemas de archivos Sistema de Bitácoras (Logs) Control de acceso de red - PowerPoint PPT Presentation

Transcript of 14/09/11

Page 1: 14/09/11

14/09/11 Principios de seguridad en Linux 1

WALC 2011 Track 6. Seguridad Informática

José F. Torres M.

Universidad de Los Andes

Merida, Venezuela

Principios de seguridad en Linux

Page 2: 14/09/11

14/09/11 Principios de seguridad en Linux 2

Agenda

1. Sistemas de archivos2. Sistema de Bitácoras (Logs)3. Control de acceso de red4. Técnicas de autentificación5. Cortafuegos de host6. Protección de conexiones de red7. Sistema de detección de intrusos de Host IDSH8. SELinux 9. Pruebas y monitoreo del sistema10. Pasos básicos para mantener sus sistema seguro

Page 3: 14/09/11

14/09/11 Principios de seguridad en Linux 3

Sistemas de archivos

Page 4: 14/09/11

14/09/11 Principios de seguridad en Linux 4

1 Sistemas de archivos

• El sistema de archivo representa la primera línea básica de defensa.

• Una norma básica de seguridad radica en la asignación a cada usuario sólo de los permisos necesarios para poder cubrir las necesidades de su trabajo sin poner en riesgo el trabajo de los demás.

Page 5: 14/09/11

14/09/11 Principios de seguridad en Linux 5

1 Sistemas de archivos

• Riesgos• Dentro del sistema Linux todo son archivos:

desde la memoria física del equipo, hasta todos los periféricos

• Un simple error en un permiso puede permitir a un usuario modificar todo el disco duro, o leer los datos tecleados desde una Terminal etc.

Page 6: 14/09/11

14/09/11 Principios de seguridad en Linux 6

1 Sistemas de archivos

• El sistema de archivos es la parte del núcleo (Kernel) mas visible por los usuarios; se encarga de abstraer propiedades físicas de los diferentes dispositivos para proporcionar una interfaz única de almacenamiento: el archivo.

• Cada sistema Linux tiene su sistema de archivos nativo. (ejemplo ext4, raiserFS, etc.)

Page 7: 14/09/11

14/09/11 Principios de seguridad en Linux 7

1 Sistemas de archivos

• Un primer criterio para mantener un sistema seguro es una correcta distribución del espacio de almacenamiento.

• Esto limita el riesgo de que el deterioro de una partición afecte a todo el sistema. La pérdida se limitaría al contenido de esa partición.

Page 8: 14/09/11

14/09/11 Principios de seguridad en Linux 8

1 Sistemas de archivos• Tamaño de las particiones

• No hay unas normas generales aplicables; el uso al que vaya destinado el sistema y la experiencia son las bases de la decisión adecuada, aunque por lo general se recomienda:

• Si el sistema va a dar servicio a múltiples usuarios que requieren almacenamiento para sus datos es conveniente que el directorio /home tenga su propia partición.

• Si el equipo va a ser un servidor el directorio /var o incluso /var/spool deberían tener su propia partición.

Page 9: 14/09/11

14/09/11 Principios de seguridad en Linux 9

1 Sistemas de archivos• Tamaño de las particiones (continuación)

• Debe dimensionar cuidadosamente la partición raíz.

• El directorio /usr/local contiene los programas compilados e instalados por el administrador. Resulta conveniente usar una partición propia para proteger estos programas personalizados de futuras actualizaciones del sistema. Este criterio también se puede aplicar al directorio /opt.

Page 10: 14/09/11

14/09/11 Principios de seguridad en Linux 10

1 Sistemas de archivos• Montaje de las particiones

• Permita los mínimos privilegios en las opciones de montado de las particiones

• Noexec donde sea posible• Nodev en todas las particiones excepto en

la raiz y en las particiones enjauladas (chroot)

• Nosetuid donde sea posible excepto en la raiz

Page 11: 14/09/11

14/09/11 Principios de seguridad en Linux 11

1 Sistemas de archivos• Montaje de las particiones

• auto - Mount automatically at boot, or when the command mount -a is issued.

• noauto - Mount only when you tell it to. • exec - Allow execution of binaries on the

filesystem. • noexec - Disallow execution of binaries on the

filesystem. • ro - Mount the filesystem read-only. • rw - Mount the filesystem read-write. • nodev - Don't interpret block special devices

on the filesystem.

Page 12: 14/09/11

14/09/11 Principios de seguridad en Linux 12

1 Sistemas de archivos• Montaje de las particiones

• suid - Allow the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.

• nosuid - Block the operation of suid, and sgid bits.

• defaults - the default mount options for the filesystem to be used. The default options for ext3 are: rw, suid, dev, exec, auto, nouser, async

Page 13: 14/09/11

14/09/11 Principios de seguridad en Linux 13

1 Sistemas de archivos• Un ejemplo de las banderas de montaje

# <file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

/dev/sda2 / ext3 errors=remount-ro 0 1/dev/sda1 /boot ext3 defaults,nosuid,noexec,nodev 0 2/dev/sda5 /home ext3 defaults,nosuid,nodev 0 2/dev/sda11 /opt ext3 defaults 0 2/dev/sda9 /tmp ext3 defaults,bind,nosuid,noexec,nodev 0 2/dev/sda6 /usr ext3 defaults,ro,nodev 0 2/dev/sda10 /usr/local ext3 defaults 0 2/dev/sda7 /var ext3 defaults,nosuid 0 2/dev/sda8 /var/log ext3 defaults,nosuid,noexec,nodev 0 2

Page 14: 14/09/11

14/09/11 Principios de seguridad en Linux 14

1.1 Protección de archivos

• Permisos de un archivo• Los permisos de cada archivo son la protección

mas básica de estos objetos del sistema operativo; definen quien puede acceder a cada uno de ellos, y de que forma puede hacerlo. Cuando hacemos un ls -l podemos ver sus permisos junto al tipo de archivo correspondiente, en la primera columna de cada línea:

user:~# ls -l texto.txt

-rw-r--r-- 1 user electric 512 Aug 3 2011 texto.txt

Page 15: 14/09/11

14/09/11 Principios de seguridad en Linux 15

1.1 Protección de archivos• Permisos de un archivo (continuación)• Propiedad:

• Qué usuario y grupo posee el control de los permisos del i-nodo. Se almacenan como dos valores numéricos, el uid (user id) y gid (group id).

• Permisos:

• Bits individuales que definen el acceso a un Archivo o directorio. Los permisos para directorio tienen un sentido diferente a los permisos para Archivos. Más abajo se explican algunas diferencias.

Page 16: 14/09/11

14/09/11 Principios de seguridad en Linux 16

1.1 Protección de archivos

• Permisos de un archivo (continuación)• Lectura (r):

• Archivo: Poder acceder a los contenidos de un Archivo

• Directorio: Poder leer un directorio, ver qué Archivos contiene

• Escritura (w):

• Archivo: Poder modificar o añadir contenido a un Archivo

• Directorio: Poder borrar o mover Archivos en un directorio

Page 17: 14/09/11

14/09/11 Principios de seguridad en Linux 17

1.1 Protección de archivos

• Permisos de un archivo (continuación)

• Ejecución(x): • Archivo: Poder ejecutar un programa binario o

guión de shell • Directorio: Poder entrar en un directorio

Page 18: 14/09/11

14/09/11 Principios de seguridad en Linux 18

1.1 Protección de archivos• Permisos de un archivo

(continuación)• Adicionalmente existe los “sticky bits” para el SUID,

SGID estos nos conceden permisos especiales.

• El SUID se muestra como una s en la columna de ejecución de propietario, y nos permite ejecutar ese archivo como el propietario del mismo.

• El SGID aparece en la columna de ejecución del grupo, y nos permite ejecutar ese archivo como el parte del grupo al cual pertenece el mismo

ls -lah /usr/bin/passwd

-rwsr-xr-x 1 root root 31K 2011-10-14 10:11 /usr/bin/passwd

Page 19: 14/09/11

14/09/11 Principios de seguridad en Linux 19

1.1 Protección de archivos• Permisos de un archivo

(continuación)• Atributos de un archivo• En el sistema de archivos de Linux

existen ciertos atributos para los archivos que pueden ayudar a incrementar la seguridad de un sistema. Estos atributos son:

Page 20: 14/09/11

14/09/11 Principios de seguridad en Linux 20

1.1 Protección de archivosAtributo Significado

A Dont update Atime

S Synchronous updates

a Append only

c Compressed file

i Immutable file

d No Dump

s Secure deletion

u Undeletable

Page 21: 14/09/11

14/09/11 Principios de seguridad en Linux 21

1.2 Listas de control de acceso

• Listas de control de acceso (ACLs Access Control Lists)

• Las ACL proveen de un nivel adicional de seguridad a los archivos extendiendo el clásico esquema de permisos en Unix

• Las ACLs van a permiten asignar permisos a usuarios o grupos concretos; por ejemplo, se pueden otorgar ciertos permisos a dos usuarios sobre unos archivos sin necesidad de incluirlos en el mismo grupo.

• No todos los sistemas de archivos las soportan.• Las banderas de montaje se deben cambiar para

poder usarlas.

Page 22: 14/09/11

14/09/11 Principios de seguridad en Linux 22

1.3 Almacenamiento seguro• Cifrado de archivos:

• GnuPG: Gnu Privacy Guard• TCFS: Transparent Cryptographic File System• Cryptographic File System CFS• TrueCrypt• OpenSSL• EncFS• Cryptoloop• Loop-AES• Crypto-FS

Page 23: 14/09/11

14/09/11 Principios de seguridad en Linux 23

Sistema de Bitácoras (Logs)

Page 24: 14/09/11

14/09/11 Principios de seguridad en Linux 24

2 Sistema de Bitácoras

• El sistema de bitácoras de Linux permite registrar, casi todos los eventos que ocurren en el sistema.

• Las bitácoras pueden ser utilizadas para detectar actividades sospechosas en el sistema.

• Las bitácoras pueden ser almacenadas de forma local o remota.

• Estas por lo general son llevadas por el demonio syslog

Page 25: 14/09/11

14/09/11 Principios de seguridad en Linux 25

2 Sistema de Bitácoras• El demonio syslog (syslogd o syslog-ng)

• El demonio syslogd es el encargado de recolectar los datos de los eventos del sistema y demás actividades dependiendo de su archivo de configuración (/etc/syslogd.conf o /etc/syslog-ng/syslog-ng.conf ).

• Los logs creados por el syslog son comúnmente usado por los IDS-Host

• Los archivos de salida del syslog son en texto plano lo cual facilita su visualización

• Los archivo de logs se encuentran por lo general en /var/logs/

• Todas las entradas que presenta syslog tienen como mínimo una fecha y una hora, el nombre de la maquina y del programa que generó el evento.

Page 26: 14/09/11

14/09/11 Principios de seguridad en Linux 26

2 Sistema de Bitácoras• Existen diferentes tipos de archivos de log dependiendo

de la información. Por ejemplo, existe un archivo de log del sistema, un archivo de log para los mensajes de seguridad y un archivo de log para las tareas cron.

• Los logs del sistema deben ser rotados periódicamente para poder disminuir su tamaño

• Los logs pueden ser comprimidos• Los parámetros y la cantidad de logs que se guardan en

el sistema dependerán en parte de la capacidad de los discos duros.

Page 27: 14/09/11

14/09/11 Principios de seguridad en Linux 27

2 Sistema de Bitácoras

• Archivos de logs mas comunes:

• /var/log/syslog: es el archivo de log mas importante del sistema; en el se guardan mensajes relativos a la seguridad de la maquina, como los accesos o los intentos de acceso a ciertos servicios. No obstante, este archivo es escrito por syslogd, por lo que dependiendo de nuestro archivo de configuración encontraremos en el archivo una u otra información.

Page 28: 14/09/11

14/09/11 Principios de seguridad en Linux 28

2 Sistema de Bitácoras

• Archivos de logs mas comunes: (continuación)

• /var/log/messages : En este archivo se almacenan datos ’informativos’ de ciertos programas, mensajes de baja o media prioridad destinados mas a informar que a avisar de sucesos importantes, como información relativa al arranque de la maquina.

Page 29: 14/09/11

14/09/11 Principios de seguridad en Linux 29

Control de acceso de red

Page 30: 14/09/11

14/09/11 Principios de seguridad en Linux 30

3 Control de acceso de red

• Inetd

• En las primeras versiones de Unix, para hacer funcionar un servicio de red se ejecutaban programas diferentes que atendían a cada uno. Al crecer el número de servicios que se necesitaban, se optó por una mejor idea, se empezó a utilizar un sólo demonio llamado /etc/inetd (El daemon de Internet). Este programa escuchaba en varios puertos a la vez y ejecutaba los servidores que se necesitaran en el momento en que se recibía la petición de conexión.

Page 31: 14/09/11

14/09/11 Principios de seguridad en Linux 31

3 Control de acceso de red• Inetd como funciona• Cuando un host cliente intenta conectarse a un servicio de

red controlado por inetd, el súper servicio recibe la petición y verifica por cualquier regla de control de acceso wrappers TCP.

• Si se permite el acceso, inetd verifica que la conexión sea permitida bajo sus propias reglas para ese servicio y que el servicio no esté consumiendo más de la cantidad de recursos o si está rompiendo alguna regla. Luego comienza una instancia del servicio solicitado y pasa el control de la conexión al mismo.

• Una vez establecida la conexión, inetd no interfiere más con la comunicación entre el host cliente y el servidor.

Page 32: 14/09/11

14/09/11 Principios de seguridad en Linux 32

3 Control de acceso de red

• TCP wrappers

• El wrappers TCP proporciona control de acceso basado en host a los servicios de red. El componente más importante dentro del paquete es la librería /usr/lib/libwrap.a. En términos generales, un servicio wrappers TCP es uno que ha sido compilado con la librería libwrap.a.

• Cuando un intento de conexión es hecho a un servicio wrapped TCP, el servicio primero referencia los archivos de acceso de host (/etc/hosts.allow y /etc/hosts.deny) para determinar si el cliente tiene permitido conectarse. Luego utiliza el demonio syslog (syslogd) para escribir el nombre del host solicitante y el servicio solicitado a /var/log/secure o /var/log/messages.

Page 33: 14/09/11

14/09/11 Principios de seguridad en Linux 33

3 Control de acceso de red

• TCP wrappers

• Si a un cliente se le permite conectarse, los TCP wrappers liberan el control de la conexión al servicio solicitado y no interfieren más con la comunicación entre el cliente y el servidor.

• Además del control de acceso y registro, los TCP wrappers pueden activar comandos para interactuar con el cliente antes de negar o liberar el control de la conexión al servicio solicitado.

• Puesto que los TCP wrappers son una utilidad de gran valor a las herramientas de seguridad de cualquier administrador de servidor. Algunas de los demonio que utilizan TCP wrappers son /usr/sbin/sshd, /usr/sbin/sendmail, y /usr/sbin/inetd.

Page 34: 14/09/11

14/09/11 Principios de seguridad en Linux 34

3 Control de acceso de red

• TCP wrappers (ejemplo)• /etc/hosts.allow

• sshd: 192.168.1.0/255.255.255.0

• /etc/hosts.denyALL: ALL: SPAWN ( \ echo -e "\n\ TCP Wrappers\: Connection refused\n\ By\: $(uname -n)\n\ Process\: %d (pid %p)\n\ User\: %u\n\ Host\: %c\n\ Date\: $(date)\n\ " | /usr/bin/mail -s "Connection to %d blocked" root) &

Page 35: 14/09/11

14/09/11 Principios de seguridad en Linux 35

Técnicas de autentificación

Page 36: 14/09/11

14/09/11 Principios de seguridad en Linux 36

4 Técnicas de autentificación

• Método clásico• Uso del archivo /etc/passwd• El problema una atacante podría tratar de romper la

contraseña, aunque esto es poco probable, el atacante cifrara una palabra junto a un determinado salt, y comparar el resultado con la cadena almacenada en el archivo de claves.

Page 37: 14/09/11

14/09/11 Principios de seguridad en Linux 37

4 Técnicas de autentificación

• Método clásico• De esta forma, un atacante puede leer el archivo

/etc/passwd y mediante un programa “crackeador” como Crack o John the Ripper cifrará todas las palabras de un archivo denominado diccionario, comparando el resultado obtenido en este proceso con la clave cifrada del archivo de contraseñas; si ambos coinciden, ya ha obtenido una clave para acceder al sistema de forma no autorizada

Page 38: 14/09/11

14/09/11 Principios de seguridad en Linux 38

4 Técnicas de autentificación

• Shadow Password • La idea básica de este mecanismo es impedir que los

usuarios sin privilegios puedan leer el archivo donde se almacenan las claves cifradas. En equipos con /etc/shadow el archivo /etc/passwd sigue siendo legible para todos los usuarios, pero a diferencia del mecanismo tradicional, las claves cifradas no se guardan en él, sino en el archivo /etc/shadow, que sólo el root puede leer.

Page 39: 14/09/11

14/09/11 Principios de seguridad en Linux 39

4 Técnicas de autentificación

• Shadow Password • El aspecto de /etc/shadow es en cierta forma similar al

de /etc/passwd que ya hemos comentado: existe una línea por cada usuario del sistema, en la que se almacena su login y su clave cifrada. Sin embargo, el resto de campos de este archivo son diferentes; corresponden a información que permite implementar otro mecanismo para proteger las claves de los usuarios.

Page 40: 14/09/11

14/09/11 Principios de seguridad en Linux 40

4 Técnicas de autentificación

• Claves de un solo uso (one time password)

• Tokens de hardware

• Autentificación por medio de llaves

Page 41: 14/09/11

14/09/11 Principios de seguridad en Linux 41

4 Técnicas de autentificación

• Sistemas de autentificación de red centralizadas

• LDAP• Kerberos• Radius• Nis+

Page 42: 14/09/11

14/09/11 Principios de seguridad en Linux 42

4 Técnicas de autentificación

• Otras métodos de autentificación• PAM (Pluggable Authentication Module)

• PAM no es un modelo de autenticación en sí, sino que se trata de un mecanismo que proporciona una interfaz entre las aplicaciones de usuario y diferentes métodos de autenticación, tratando de esta forma de solucionar uno de los problemas clásicos de la autenticación de usuarios

Page 43: 14/09/11

14/09/11 Principios de seguridad en Linux 43

4 Técnicas de autentificación

• PAM• Mediante PAM podemos comunicar a nuestra

aplicaciones con los métodos de autenticación que deseemos de una forma transparente, lo que permite integrar las utilidades de un sistema Unix clásico (login, ftp, telnet...) con esquemas diferentes del habitual password: claves de un solo uso, biométricos, tarjetas inteligentes...

Page 44: 14/09/11

14/09/11 Principios de seguridad en Linux 44

4 Técnicas de autentificación

• PAM• El PAM también se puede utilizar para modificar como

se almacenan las contraseñas y cambiar parámetro tales como: tamaño mínimo o máximo, reusó de contraseñas, tiempo de vencimiento, entre otros.

• Por ejemplo

password required pam_unix.so nullok obscure min=6 max=11 md5

Page 45: 14/09/11

14/09/11 Principios de seguridad en Linux 45

Protección de conexiones de red

Page 46: 14/09/11

14/09/11 Principios de seguridad en Linux 46

5 Protección de conexiones de red

• Para proteger las conexiones de red Linux puede usar herramientas y protocolos tales como tales como:• Ssh, tuneles• Ipsec• CIPE• Vtun• PKI• OpenVPN• FreeS/WAN• Stunnel

Page 47: 14/09/11

14/09/11 Principios de seguridad en Linux 47

Cortafuegos de host

Page 48: 14/09/11

14/09/11 Principios de seguridad en Linux 48

6 Cortafuegos de host

• Utilice políticas por omisión tales como:• Para iptables:

• iptables -P INPUT DROP• iptables -P OUTPUT DROP• iptables -P FORWARD DROP

• Para iptables en IPv6:• ip6tables -P INPUT DROP• ip6tables -P OUTPUT DROP• ip6tables -P FORWARD DROP

Page 49: 14/09/11

14/09/11 Principios de seguridad en Linux 49

Page 50: 14/09/11

14/09/11 Principios de seguridad en Linux 50

6 Cortafuegos de host

• También puede utilizar paquetes tales como:• Firestarter • Shorewall • TuxFrw• KmyFirewall• knetfilter

Page 51: 14/09/11

14/09/11 Principios de seguridad en Linux 51

6 Cortafuegos de host

• Parámetros del kernel:

• icmp_echo_ignore_all: Ignore todas los peticiones ICMP ECHO. Habilitando esta opción se previene que el host responda a peticiones ping.

• icmp_echo_ignore_broadcasts: Ignore todas las peticiones ICMP ECHO con destino broadcast o muliticast. Esto evita que su red sea utilizada como red amplificadora de ataques

• ip_forward: Hablita o deshabilita el enrutamiento IP entre interfaces

• tcp_syncookies: Protégé de ataques “SYN Attack”. • rp_filter: habilita la protección de que solo se reciben

paquetes con origen que concuerde con la interfaz

Page 52: 14/09/11

14/09/11 Principios de seguridad en Linux 52

6 Cortafuegos de host

• Parámetros del kernel (Continuación):

• secure_redirects: Solo acepte paquetes ICMP para los enrutadores.

• log_martians: Escriba en el log los paquetes con direcciones privadas o imposibles.

• accept_source_route: Habilita o deshabilita el recibir paquetes enrutados por origen

Page 53: 14/09/11

14/09/11 Principios de seguridad en Linux 53

Sistema de detección de intrusos de Host IDSH

IDS de target

Page 54: 14/09/11

14/09/11 Principios de seguridad en Linux 54

7 IDS de target

• Tripwire:• El software de aseguramiento de integridad de los datos

Tripwire, monitorea la consistencia de archivos y directorios de sistema críticos identificando todos los cambios hechos a ellos. Esto lo hace mediante un método automatizado de verificación que se ejecuta a intervalos regulares. Si Tripwire detecta que uno de los archivos monitoreados ha sido cambiado, lo notifica al administrador del sistema vía email. Debido a que Tripwire puede fácilmente identificar los archivos que son modificados, agregados o eliminados, se agiliza el proceso de recuperación luego de una entrada forzada pues mantiene el número de archivos que deben ser restaurados a un mínimo.

Page 55: 14/09/11

14/09/11 Principios de seguridad en Linux 55

7 IDS de target

• Tripwire:• Estas habilidades hacen de Tripwire una herramienta

excelente para los administradores de sistemas que requieren tanto de facilidades para detección de intrusos como de control de daños para sus servidores.

• Tripwire compara los archivos y directorios con una base de datos de la ubicación de archivos, las fechas en que han sido modificados y otros datos. Tripwire genera la base tomando una instantánea. Esta base de datos contiene fundamentos — los cuales son instantáneas de archivos y directorios específicos en momentos particulares. Los contenidos de la base de datos de fundamentos deberían ser generados antes de que el sistema esté en riesgo, esto es antes de que se conecte a la red.

Page 56: 14/09/11

14/09/11 Principios de seguridad en Linux 56

7 IDS de target

• Tripwire:• Después de crear la base de datos de fundamentos, Tripwire compara

la base de datos actual con la base de datos de fundamentos e informa de cualquier modificación, adición o eliminación.

• Otras alternativas• AIDE (Advanced Intrusion Detection Environment)• samhain (integrity checker y host intrusion

detection system)• sXid• Integrit

Page 57: 14/09/11

14/09/11 Principios de seguridad en Linux 57

7 IDS de target

• AIDE• AIDE (Entorno Avanzado de Detección de

Intrusiones).• Genera una base de datos que puede ser usada

para verificar la integridad de los archivos en el servidor. Usa expresiones regulares para determinar que archivos son tomados para añadirlos a la base de datos.

• El archivo de conf. Crea una base de datos a partir de una serie de reglas y expresiones regulares

Page 58: 14/09/11

14/09/11 Principios de seguridad en Linux 58

7 IDS de target• samhain (integrity checker y host intrusion

detection system)• El es un sistema de detección de intrusos basados en host,

el cual provee:

• revisión de integridad para sistemas de archivos

• Monitoreo y análisis de bitácoras

• Detección de rootkits

• Monitoreo de puertos

• Cambio de SUID

• Monitoreo de procesos ocultos

• Posee capacidades de monitoreo múltiples hosts con diferentes SO

• Puede utilizarse para llevar bitácoras centralizadas

Page 59: 14/09/11

14/09/11 Principios de seguridad en Linux 59

SELinux

Page 60: 14/09/11

14/09/11 Principios de seguridad en Linux 60

8 SELinux (Security Enhancement Linux)

• El SELinux es una modificación de kernel que refuerza “mandatory access control” y por lo tanto permite mayor control sobre cuales recursos los usuarios y las aplicaciones tienes privilegios de uso. SElinux permite mayor granularidad al control de acceso

Page 61: 14/09/11

14/09/11 Principios de seguridad en Linux 61

8 SELinux (Security Enhancement Linux)

• Permite que los usuarios y aplicaciones tengan los mínimos privilegios necesarios para poder ejecutar sus tareas, esto contribuye a la seguridad debido a que disminuye la cantidad de daño que se puede infligir. Por ejemplo puede negar el cambio de la perisología de determinados archivos.

Page 62: 14/09/11

14/09/11 Principios de seguridad en Linux 62

Pruebas y monitoreo del sistema

Page 63: 14/09/11

14/09/11 Principios de seguridad en Linux 63

9 Pruebas y monitoreo del sistema

• Las pruebas y monitoreo del sistema debe centrarse el:• Logins y passwords• Sistemas de archivos• Red• Logs del sistema

Page 64: 14/09/11

14/09/11 Principios de seguridad en Linux 64

9 Pruebas y monitoreo del sistema

• Pruebas de fortaleza de passwords

• John the Ripper• Cracklib

Page 65: 14/09/11

14/09/11 Principios de seguridad en Linux 65

9 Pruebas y monitoreo del sistema

• Cuentas sin password• Para ello revisar el archivo /etc/shadow• Ejemplo• # awk -F: '$2 =="" {print $1 “ sin password"}'

/etc/shadow• # pedro sin password

• Cuentas de superusuario• Para ello revisar el archivo /etc/pasword• Ejemplo• # awk -F: '$3 ==0 {print $1 " es superuser"}'

/etc/passwd• # root es superuser

Page 66: 14/09/11

14/09/11 Principios de seguridad en Linux 66

9 Pruebas y monitoreo del sistema

• Usuarios que se han entrado al sistema

• Para esto usar el comando:• # Lastlog

• También se puede revisar los últimos acceso de red mediante el comando:• # tail /var/log/secure

Page 67: 14/09/11

14/09/11 Principios de seguridad en Linux 67

9 Pruebas y monitoreo del sistema

• Sistemas de archivos• Estandarizar el uso de los IDS de target

tales como los ya mencionados• Para encontrar archivos con permisos de

escritura para todos:• # find / -xdev -perm +o=w ! \( -type d -perm

+o=t \) ! -type l -print

Page 68: 14/09/11

14/09/11 Principios de seguridad en Linux 68

9 Pruebas y monitoreo del sistema

• Sistemas de archivos• Búsqueda de rootkits• Para esto se puede utilizar herramientas tales como• Chkrootkit y Rkhunter

• Son shells de script que busca en nuestro sistema binarios modificados por esos root kits usados por los jackers para comprometer sistemas. Adicionalmente a esto también se revisan los archivos de arranque que han sido modificados

Page 69: 14/09/11

14/09/11 Principios de seguridad en Linux 69

9 Pruebas y monitoreo del sistema

• Red• Búsqueda de puertos en escucha:

• Usar el netstat • Usar herramientas tales como nmap• Ejemplo• nmap -v -sV localhost

• lsof

Page 70: 14/09/11

14/09/11 Principios de seguridad en Linux 70

9 Pruebas y monitoreo del sistema

• Red• Utilizar herramientas observar las conexiones de

red tales como:• Tcpdump• Wireshark

• Revisar periódicamente si alguno de los servicios de red acepta contraseñas planas:• Para capturar las mismas podemos usar dsniff

Page 71: 14/09/11

14/09/11 Principios de seguridad en Linux 71

9 Pruebas y monitoreo del sistema

• Red• Utilice un detector de intruso de red tal como• SNORT

• Utilice herramientas tales como Nessus para revisar sus servicios de red en búsqueda de vulnerabilidades.

Page 72: 14/09/11

14/09/11 Principios de seguridad en Linux 72

9 Pruebas y monitoreo del sistema

• Logs del sistema • Revise periódicamente el funcionamiento de los

logs del sistema, y el sistema de rotado de los mismos.

• Para facilitar la visualización de los mismo puede usar herramientas tales como logwatch.• Ejemplo:• # logwatch --range all --print | less

Page 73: 14/09/11

14/09/11 Principios de seguridad en Linux 73

Pasos básicos para mantener sus sistema seguro

Page 74: 14/09/11

14/09/11 Principios de seguridad en Linux 74

10- Pasos básicos para mantener sus sistema seguro

• Restinga el acceso local a sistema (Password de bios, Passwords de lilo-grub, parámetros de arranque, deshabilite las unidades extraíbles, restringa los accesos por consola)

• Instale solo los paquetes necesario. (elimine los compiladores, y lenguajes de programación que no necesite)

• Monte sus sistema de archivos de forma apropiada.

• Verifique periódicamente si existen actualizaciones, y aplíquelas con prudencia.

• Desactive todos los servicios innecesarios

• Asegúrese que todos los servicios que estén instalados se encuentren actualizados y configurados de forma apropiada

• Utilice los tcp wrappers

Page 75: 14/09/11

14/09/11 Principios de seguridad en Linux 75

10-Pasos básicos para mantener sus sistema seguro

• Limite el numero de conexiones entrantes a sus servicios desde el exterior, implementando un firewall o con cualquier otro tipo de políticas.

• Configure los parámetros del kernel relacionados con la red

• Infórmese de cómo mantener y asegurar su sistema de forma apropiada.

• Realice pruebas de integridad a su sistema de forma periódica

• Utilice sistemas de detección de intrusos basados en: Red, host, target

• Utilice sistemas para la detección de root-kits

• Analice su sistema de auditoria (logs, bitácoras, etc.) de forma periódica