0
WALC 2011           Track 6. Seguridad Informática                  Principios de seguridad en                            ...
Agenda1.    Sistemas de archivos2.    Sistema de Bitácoras (Logs)3.    Control de acceso de red4.    Técnicas de autentifi...
Sistemas de archivos14/09/11      Principios de seguridad en Linux   3
1   Sistemas de archivos• El sistema de archivo representa la  primera línea básica de defensa.• Una norma básica de segur...
1     Sistemas de archivos•   Riesgos    •      Dentro del sistema Linux todo son archivos:           desde la memoria fís...
1   Sistemas de archivos•   El sistema de archivos es la parte del    núcleo (Kernel) mas visible por los    usuarios;    ...
1   Sistemas de archivos• Un primer criterio para mantener un  sistema seguro es una correcta  distribución      del    es...
1     Sistemas de archivos•   Tamaño de las particiones    • No hay unas normas generales aplicables; el uso      al que v...
1     Sistemas de archivos•   Tamaño de las particiones (continuación)           • Debe dimensionar cuidadosamente la     ...
1    Sistemas de archivos•   Montaje de las particiones       •   Permita los mínimos privilegios en las           opcione...
1    Sistemas de archivos•   Montaje de las particiones       •       auto - Mount automatically at boot, or when         ...
1     Sistemas de archivos•   Montaje de las particiones       •       suid - Allow the operation of suid, and sgid       ...
1      Sistemas de archivos•   Un ejemplo de las banderas de montaje# <file system>   <mount point>        <type>      <op...
1.1 Protección de archivos• Permisos de un archivo    •      Los permisos de cada archivo son la protección           mas ...
1.1 Protección de archivos  •    Permisos de un archivo (continuación)  •    Propiedad:       •  Qué usuario y grupo posee...
1.1 Protección de archivos •    Permisos de un archivo (continuación) •    Lectura (r):      •  Archivo: Poder acceder    ...
1.1 Protección de archivos • Permisos      de                            un     archivo   (continuación) •    Ejecución(x)...
1.1 Protección de archivos • Permisos      de                                    un     archivo   (continuación) •    Adic...
1.1 Protección de archivos  • Permisos      de      un                        archivo    (continuación)  • Atributos de un...
1.1 Protección de archivos             Atributo                  Significado             A                         Dont up...
1.2 Listas de control de           acceso•   Listas de control de acceso (ACLs Access    Control Lists)•   Las ACL proveen...
1.3 Almacenamiento seguro•       Cifrado de archivos:    •      GnuPG: Gnu Privacy Guard    •      TCFS: Transparent Crypt...
Sistema de Bitácoras (Logs)14/09/11          Principios de seguridad en Linux   23
2   Sistema de Bitácoras•     El sistema de bitácoras de Linux permite      registrar, casi todos los eventos que ocurren ...
2    Sistema de Bitácoras•     El demonio syslog (syslogd o syslog-ng)      • El demonio syslogd es el encargado de recole...
2     Sistema de Bitácoras•   Existen diferentes tipos de archivos de log dependiendo    de la información. Por ejemplo, e...
2      Sistema de Bitácoras•   Archivos de logs mas comunes:    •      /var/log/syslog: es el archivo de log mas          ...
2 Sistema de Bitácoras  •    Archivos de logs mas comunes:       (continuación)       •   /var/log/messages : En este arch...
Control de acceso de red14/09/11        Principios de seguridad en Linux   29
3    Control de acceso de red•      Inetd•      En las primeras versiones de Unix, para hacer funcionar un       servicio ...
3      Control de acceso de red•   Inetd como funciona•   Cuando un host cliente intenta conectarse a un servicio de    re...
3      Control de acceso de red•   TCP wrappers•   El wrappers TCP proporciona control de acceso basado en    host a los s...
3      Control de acceso de red•   TCP wrappers•   Si a un cliente se le permite conectarse, los TCP wrappers    liberan e...
3        Control de acceso de red•   TCP wrappers (ejemplo)•   /etc/hosts.allow       •   sshd: 192.168.1.0/255.255.255.0•...
Técnicas de autentificación14/09/11         Principios de seguridad en Linux   35
4 Técnicas de             autentificación• Método clásico    •      Uso del archivo /etc/passwd    •      El problema una ...
4 Técnicas de             autentificación• Método clásico    •      De esta forma, un atacante puede leer el archivo      ...
4 Técnicas de           autentificación• Shadow Password•   La idea básica de este mecanismo es impedir que los    usuario...
4 Técnicas de           autentificación• Shadow Password•   El aspecto de /etc/shadow es en cierta forma similar al    de ...
4 Técnicas de             autentificación• Claves de un solo uso (one time  password)           • Tokens de hardware• Aute...
4 Técnicas de            autentificación• Sistemas de autentificación de red  centralizadas    •      LDAP    •      Kerbe...
4          Técnicas de autentificación  • Otras métodos de autentificación  • PAM (Pluggable Authentication Module)       ...
4          Técnicas de autentificación • PAM      •    Mediante PAM podemos comunicar a nuestra           aplicaciones con...
4          Técnicas de autentificación    AM    l PAM también se puede utilizar para modificar como se    almacenan las co...
Protección de conexiones de red14/09/11            Principios de seguridad en Linux   45
5          Protección de conexiones de red• Para proteger las conexiones de red  Linux puede usar herramientas y  protocol...
Cortafuegos de host14/09/11      Principios de seguridad en Linux   47
6    Cortafuegos de host• Utilice políticas por omisión tales  como:    • Para iptables:           • iptables -P INPUT DRO...
14/09/11   Principios de seguridad en Linux   49
6   Cortafuegos de host• También puede utilizar paquetes tales  como:   • Firestarter   • Shorewall   • TuxFrw   • KmyFire...
6       Cortafuegos de host• Parámetros del kernel:       •   icmp_echo_ignore_all: Ignore todas los peticiones ICMP      ...
6       Cortafuegos de host       •   Parámetros del kernel (Continuación):       •   secure_redirects: Solo acepte paquet...
Sistema de detección de intrusos de Host                  IDSH                  IDS de target 14/09/11     Principios de s...
7      IDS de target• Tripwire:•   El software de aseguramiento de integridad de los datos    Tripwire, monitorea la consi...
7     IDS de target• Tripwire:•   Estas habilidades hacen de Tripwire una herramienta    excelente para los administradore...
7      IDS de target•   Tripwire:•   Después de crear la base de datos de fundamentos, Tripwire compara    la base de dato...
7      IDS de target• AIDE    •      AIDE (Entorno Avanzado de Detección de           Intrusiones).    •      Genera una b...
7        IDS de target• samhain (integrity checker y host                             intrusion    detection system)•   El...
SELinux14/09/11   Principios de seguridad en Linux   59
8 SELinux (Security Enhancement Linux)• El SELinux es una modificación de kernel  que refuerza “mandatory access control” ...
8 SELinux (Security Enhancement Linux)• Permite que los usuarios y aplicaciones  tengan     los   mínimos      privilegios...
Pruebas y monitoreo del sistema14/09/11            Principios de seguridad en Linux   62
9 Pruebas y monitoreo del sistema• Las pruebas y monitoreo del sistema  debe centrarse el:    •      Logins y passwords   ...
9 Pruebas y monitoreo del sistema• Pruebas de fortaleza de passwords    • John the Ripper    • Cracklib14/09/11        Pri...
9 Pruebas y monitoreo del sistema•   Cuentas sin password    • Para ello revisar el archivo /etc/shadow    • Ejemplo    • ...
9 Pruebas y monitoreo del sistema• Usuarios que se han entrado al  sistema    • Para esto usar el comando:           • # L...
9 Pruebas y monitoreo del sistema• Sistemas de archivos    • Estandarizar el uso de los IDS de target      tales como los ...
9 Pruebas y monitoreo del sistema• Sistemas de archivos    •      Búsqueda de rootkits    •      Para esto se puede utiliz...
9 Pruebas y monitoreo del sistema• Red    •      Búsqueda de puertos en escucha:           • Usar el netstat           • U...
9 Pruebas y monitoreo del sistema• Red    •      Utilizar herramientas observar las conexiones de           red tales como...
9 Pruebas y monitoreo del sistema• Red    •      Utilice un detector de intruso de red tal como    •      SNORT    •      ...
9 Pruebas y monitoreo del sistema• Logs del sistema    •      Revise periódicamente el funcionamiento de los           log...
Pasos básicos para mantener sus                 sistema seguro14/09/11        Principios de seguridad en Linux   73
10- Pasos básicos para mantener           sus sistema seguro•   Restinga el acceso local a sistema (Password de bios,    P...
10-Pasos básicos para mantener           sus sistema seguro•   Limite el numero de conexiones entrantes a sus servicios de...
Upcoming SlideShare
Loading in...5
×

Seguridad linux 2011

1,148

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,148
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • SUID, SGID y sticky
  • Tcpdchk -v
  • Tcpdchk -v
  • lsof -i -P
  • Transcript of "Seguridad linux 2011"

    1. 1. WALC 2011 Track 6. Seguridad Informática Principios de seguridad en Linux José F. Torres M. Universidad de Los Andes Merida, Venezuela14/09/11 Principios de seguridad en Linux 1
    2. 2. Agenda1. 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. SELinux9. Pruebas y monitoreo del sistema10. Pasos básicos para mantener sus sistema seguro14/09/11 Principios de seguridad en Linux 2
    3. 3. Sistemas de archivos14/09/11 Principios de seguridad en Linux 3
    4. 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.14/09/11 Principios de seguridad en Linux 4
    5. 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.14/09/11 Principios de seguridad en Linux 5
    6. 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.)14/09/11 Principios de seguridad en Linux 6
    7. 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.14/09/11 Principios de seguridad en Linux 7
    8. 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.14/09/11 Principios de seguridad en Linux 8
    9. 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.14/09/11 Principios de seguridad en Linux 9
    10. 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 raiz14/09/11 Principios de seguridad en Linux 10
    11. 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 - Dont interpret block special devices on the filesystem. 14/09/11 Principios de seguridad en Linux 11
    12. 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 14/09/11 Principios de seguridad en Linux 12
    13. 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 14/09/11 Principios de seguridad en Linux 13
    14. 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.txt14/09/11 Principios de seguridad en Linux 14
    15. 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.14/09/11 Principios de seguridad en Linux 15
    16. 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 directorio14/09/11 Principios de seguridad en Linux 16
    17. 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 directorio14/09/11 Principios de seguridad en Linux 17
    18. 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/passwd14/09/11 Principios de seguridad en Linux 18
    19. 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:14/09/11 Principios de seguridad en Linux 19
    20. 20. 1.1 Protección de archivos Atributo Significado A Dont update Atime S Synchronous updates a Append only c Compressed file i Immutable file d No Dump s Secure deletion u Undeletable14/09/11 Principios de seguridad en Linux 20
    21. 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.14/09/11 Principios de seguridad en Linux 21
    22. 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-FS14/09/11 Principios de seguridad en Linux 22
    23. 23. Sistema de Bitácoras (Logs)14/09/11 Principios de seguridad en Linux 23
    24. 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 14/09/11 Principios de seguridad en Linux 24
    25. 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. 14/09/11 Principios de seguridad en Linux 25
    26. 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.14/09/11 Principios de seguridad en Linux 26
    27. 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.14/09/11 Principios de seguridad en Linux 27
    28. 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.14/09/11 Principios de seguridad en Linux 28
    29. 29. Control de acceso de red14/09/11 Principios de seguridad en Linux 29
    30. 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. 14/09/11 Principios de seguridad en Linux 30
    31. 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.14/09/11 Principios de seguridad en Linux 31
    32. 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.14/09/11 Principios de seguridad en Linux 32
    33. 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.14/09/11 Principios de seguridad en Linux 33
    34. 34. 3 Control de acceso de red• TCP wrappers (ejemplo)• /etc/hosts.allow • sshd: 192.168.1.0/255.255.255.0• /etc/hosts.deny ALL: ALL: SPAWN ( echo -e "n TCP Wrappers: Connection refusedn By: $(uname -n)n Process: %d (pid %p)n User: %un Host: %cn Date: $(date)n " | /usr/bin/mail -s "Connection to %d blocked" root) &14/09/11 Principios de seguridad en Linux 34
    35. 35. Técnicas de autentificación14/09/11 Principios de seguridad en Linux 35
    36. 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.14/09/11 Principios de seguridad en Linux 36
    37. 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 autorizada14/09/11 Principios de seguridad en Linux 37
    38. 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.14/09/11 Principios de seguridad en Linux 38
    39. 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.14/09/11 Principios de seguridad en Linux 39
    40. 40. 4 Técnicas de autentificación• Claves de un solo uso (one time password) • Tokens de hardware• Autentificación por medio de llaves14/09/11 Principios de seguridad en Linux 40
    41. 41. 4 Técnicas de autentificación• Sistemas de autentificación de red centralizadas • LDAP • Kerberos • Radius • Nis+14/09/11 Principios de seguridad en Linux 41
    42. 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 usuarios14/09/11 Principios de seguridad en Linux 42
    43. 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...14/09/11 Principios de seguridad en Linux 43
    44. 44. 4 Técnicas de autentificación AM l 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. or ejemplo assword required pam_unix.so nullok obscure min=6 max=11 md514/09/11 Principios de seguridad en Linux 44
    45. 45. Protección de conexiones de red14/09/11 Principios de seguridad en Linux 45
    46. 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 • Stunnel14/09/11 Principios de seguridad en Linux 46
    47. 47. Cortafuegos de host14/09/11 Principios de seguridad en Linux 47
    48. 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 DROP14/09/11 Principios de seguridad en Linux 48
    49. 49. 14/09/11 Principios de seguridad en Linux 49
    50. 50. 6 Cortafuegos de host• También puede utilizar paquetes tales como: • Firestarter • Shorewall • TuxFrw • KmyFirewall • knetfilter14/09/11 Principios de seguridad en Linux 50
    51. 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 interfaz14/09/11 Principios de seguridad en Linux 51
    52. 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 origen14/09/11 Principios de seguridad en Linux 52
    53. 53. Sistema de detección de intrusos de Host IDSH IDS de target 14/09/11 Principios de seguridad en Linux 53
    54. 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.14/09/11 Principios de seguridad en Linux 54
    55. 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.14/09/11 Principios de seguridad en Linux 55
    56. 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 • Integrit14/09/11 Principios de seguridad en Linux 56
    57. 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 regulares14/09/11 Principios de seguridad en Linux 57
    58. 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 14/09/11 Principios de seguridad en Linux 58
    59. 59. SELinux14/09/11 Principios de seguridad en Linux 59
    60. 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 acceso14/09/11 Principios de seguridad en Linux 60
    61. 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.14/09/11 Principios de seguridad en Linux 61
    62. 62. Pruebas y monitoreo del sistema14/09/11 Principios de seguridad en Linux 62
    63. 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 sistema14/09/11 Principios de seguridad en Linux 63
    64. 64. 9 Pruebas y monitoreo del sistema• Pruebas de fortaleza de passwords • John the Ripper • Cracklib14/09/11 Principios de seguridad en Linux 64
    65. 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 superuser14/09/11 Principios de seguridad en Linux 65
    66. 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/secure14/09/11 Principios de seguridad en Linux 66
    67. 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 -print14/09/11 Principios de seguridad en Linux 67
    68. 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 modificados14/09/11 Principios de seguridad en Linux 68
    69. 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 • lsof14/09/11 Principios de seguridad en Linux 69
    70. 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 dsniff14/09/11 Principios de seguridad en Linux 70
    71. 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.14/09/11 Principios de seguridad en Linux 71
    72. 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 | less14/09/11 Principios de seguridad en Linux 72
    73. 73. Pasos básicos para mantener sus sistema seguro14/09/11 Principios de seguridad en Linux 73
    74. 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 wrappers14/09/11 Principios de seguridad en Linux 74
    75. 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ódica14/09/11 Principios de seguridad en Linux 75
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×