Curso 2004-2005 Ramón Manjavacas Ortiz Web: http://www.inf-cr.uclm.es/www/rmanjava Email: Ramon.Manjavacas@uclm.es
Introducción.: 1 Caso UNIX.: 2 Backups.: 2.1 Sistema de Archivos.: 2.2 Usuarios.: 2.3 Red.: 2.4 Monitorización del Sistema.: 2.5 Transp. 2
Seguridad I Preguntas: qué se intenta proteger? qué actos potenciales se pueden realizar? qué elementos de valor pueden perderse? Políticas de seguridad Plan de seguridad (políticas de acceso generales a los equipos, acciones preventivas, análisis periódicos de los log del sistema, políticas y estrategias de recuperación) Transp. 3
Objetivos asociados a la seguridad Asegurar la integridad de los archivos del sistema Necesidad de mecanismos de seguridad para recuperar el sistema ante cualquier fallo del mismo Impedir actuaciones indebidas de los usuarios del sistema Definición de directivas sobre las cuenta de usuarios Definición de directivas a nivel del sistema Plan de auditoria del sistema sobre diferentes sucesos para realizar un seguimiento de las actividades de los usuarios del sistema Evitar la intrusión de usuarios ajenos que pongan en peligro el funcionamiento e integridad del sistema Seguridad II Transp. 4
Seguridad III La seguridad de un sistema es inversamente proporcional a la comodidad de uso En un sistema seguro, las normas de funcionamiento suelen ser muy engorrosas para sus usuarios Los usuarios deben cumplir las normas de seguridad A mayor número de servicios mayores son las posibilidades de ataques La clave de un sistema seguro es la combinación de: preveer cualquier posible acto planear y prepararse para cuando lo peor pueda ocurrir Transp. 5
Seguridad IV Normas básicas: Todo lo que no está explícitamente permitido, está prohibido Administrador no hay más que uno. Aumento nº de administradores Menor funcionalidad de la máquina Los usuarios deben tener privilegios para ser usuarios Buena política de contraseñas(no deben ser fáciles, cambiarlas cada cierto tiempo, no permitir la repetición,...) Desconfiar de todo(el usuario es maligno por naturaleza) Transp. 6
Seguridad V Auditorias: Tanto internas como externas Realización de ataques controlados contra el sistema Realización de ataques incontrolados contra el sistema(concursos de hacking, honeypot ) Contratación de expertos en seguridad Transp. 7
Resumiendo: Reglas básicas Seguridad VI Transp. 8
Backup I Plan de recuperación: qué copiar? dónde copiarlo? dónde almacenar las copias? En el mismo lugar, diferente, condiciones del sitio... cómo copiarlo? Copia completa, diferencial o incremental cuándo copiarlo? Diario, semanal, mensual... Transp. 9
Backup II Métodos y herramientas (I) Soluciones particulares de cada sistema fbackup tar Es el método más antiguo portable Resulta sencillo de utilizar gzip Comprime los datos de los archivos Mantiene los atributos originales de los archivos Derechos, Fechas,Etc. Transp. 10
Backup III Métodos y herramientas (II) cpio Propósito general Común en el mundo UNIX Orientado a opciones Permite recuperación selectiva Muy eficientes con grandes cantidades de datos Realizar backup de archivos especiales y archivos de red Copia los atributos de los archivos dd Utilidad general para copia de archivos físicos (bit a bit) Propósito: duplicar disco rápidamente Transp. 11
Backup IV cpio(i) Acrónimo de CoPy Input to Output Recibe los nombres de archivos a copiar por la entrada estándar Genera la salida por la salida estándar Generalmente se combina mediante un pipe con el comando find Con sistemas de archivos y unidades de cinta Opciones -i, -o para cintas (flujo de caracteres) -p para sistemas de archivos (bloques) Transp. 12
cpio(ii) Backup V Sintaxis: cpio o [ cvxb ] cpio i [ cvxb ] [ patrones ] cpio p [ vdumxl ] directorio Ejemplos Backup de los archivos *.c del directorio actual en el archivo prog ls *.c cpio o > prog Restaurar la información del archivo prog sobre el directorio actual cpio i < prog Transp. 13
cpio(iii) Backup VI Transp. 14
cpio(iv) Backup VII Ejemplos: Creación de un backup relativo en /dev/rmt/0m cd /users find. cpio ocx > /dev/rmt/0m Creación de un backup absoluto en /dev/rmt/0m find /users print cpio ocx > /dev/rmt/0m Restaurar backup relativo en el directorio de trabajo cpio iudmcx < /dev/rmt/0m Copiar un subárbol con raíz en el directorio de trabajo al subárbol con raíz en /tmp find. cpio pdm /tmp Transp. 15
Backup VIII tcio(i) Optimización mediante empleo de buffer intermedio Las velocidades de transferencia entre ordenador y cinta no están sincronizadas Se requiere de un buffer intermedio que lo proporciona tcio Sintaxis tcio -o [ dervvzslnt ] archivo tcio -i [ drvvzslnt ] archivo tcio -u [ rvvzml ] archivo Transp. 16
tcio(ii) Backup IX Ejemplos Generación de backup find. -print cpio -ocx \ tcio -o /dev/rct/update.src Restauración tcio -i /dev/rct/update.src \ cpio -icdvmx Transp. 17
tar(i) Backup X Propósito:Salvar y restaurar archivos en medios magnéticos DAT, DDS, cinta magnética, cartucho, disco óptico, disco flexible, archivo regular. Sintaxis(I) tar clave [ argumentos ] [ archivo -C directorio ] Donde clave controla las diversas acciones f dispositivo: Indica el archivo/dispositivo donde se creará el backup c: Crea un nuveo backup destruyendo el anterior r: Concatena al final de la cinta o archivo x: Extrae de la cinta o archivo de backup Transp. 18
tar(ii) Backup XI Sintaxis(II): clave u: Sólo añade aquellos archivos que son más actuales que los de la copia t: Lista una tabla de contenidos v: (verbose) muestra el nombre de cada archivo argumentos m: no se actualiza la fecha de los archivos w: confirmación de las acciones a realizar Z: la información se comprime con compress z: la información se comprime con gzip Transp. 19
tar(iii) Backup XII Ejemplos: Backup del directorio actual a disquete, comprimiendo con gzip tar cvfz /dev/fd0 Visualizar el contenido del disquete tar tvzf /dev/fd0 Recuperación de la información tar xvzf /dev/fd0 Envío/recuperación de información en archivo tar cvf backup.tar * tar cvfz backup.tar.gz * tar xvf backup.tar Transp. 20
gzip(i) Backup XIII Propósito: Comprime los datos de un archivo El archivo se reemplaza por otro con el mismo nombre acompañado de.gz Se restauran con gzip -d o gunzip Sintaxis gzip [opciones] archivo(s) -d: descomprime archivos -l: visualiza información de los archivo comprimidos -r: Recursivo por los subdirectorios -9: Aumenta la compresión Transp. 21
compress Backup XIV Propósito: Comprime archivos Al archivo resultante le añade.z Se descomprimen con uncompress o compress d Sintaxis compress [opciones] archivo(s) -c: la salida se dirige a la salida estándar -d: descomprime -v: Se visualiza el porcentaje de compresión de cada archivo (verbose) Transp. 22
Backup XV - Comparativa Transp. 23
Sistema de Archivos I Particiones: una única partición algo altamente inseguro Instalar el sistema en varias particiones(divide y vencerás) Aplicar Listas de Control de Acceso (ACL) sobre los sistema de archivos seguro Tratamiento especial para tipos de sistemas de archivos altamente inseguros(no soportan permisos de usuarios) Es recomendable montar estas particiones en directorios de acceso restringido... Transp. 24
Usuarios I No olvidar eliminar las cuentas que ya no utilizadas Utilizar contraseñas encriptadas: /etc/shadow pwconv / pwunconv La cuenta del administrador debe utilizarse sólo cuando sea necesario. El PATH del administrador no debe contener. El administrador debería autenticarse sólo desde los terminales: /etc/securetty Transp. 25
Usuarios II Tiempo de acceso: restricción fuera de horas de trabajo Utilizando PAM Configurando las horas de autenticación contra la base de datos Límites: sobre los recursos de la máquina accesibles(memoria, tiempo de CPU,...) sobre el espacio en disco Transp. 26
Precauciones con el archivo /etc/passwd: Usuarios III Transp. 27
Red I Un proceso puede ser cliente de red, o servidor de red o ambos. Identificación proceso: IP + Puerto Conexión: Puesto A (IP+Puerto) Puesto B Destino(IP+Puerto) Servidor = Servicios = Puertos escucha (ej.: http puerto 80) Preguntas importantes: Qué servicios necesito? Si necesito un servicio su configuración es segura? Ejemplo: Telnet Necesito actualizaciones del SW de servicio? Transp. 28
Se deberá monitorizar las conexiones de red... Existen muchas herramientas: netstat, iptraf, tcpdump,... Ejemplo: netstat Sintaxis: netstat opciones Red II Opciones: -a: todos los puertos -t: tcp -u: udp -n: no resolución de nombres de las IP -p: mostrar proceso asociado a cada puerto Transp. 29
netstat natu Red III /etc/services netstat -p Transp. 30
Parada de los servicios Red IV La mayor parte de los servicios están descritos en /etc/inetd.conf Comentar la línea del servicio a parar: # Reiniciar: /etc/init.d/inet reload Si el servicio no se inicia mediante inetd : Ir al nivel de ejecución correspondiente y renombrar el enlace simbólico: S***** por X****** Para el proceso: ps aux grep nombre_proceso kill pid_proceso Transp. 31
Servicios bajo RPC portmap(también conocido como rpcbind) listar servios RPC ofrecidos: rpcinfo p Red V Para eliminar este servicio seguir los pasos: ps -aux grep portmap kill pid_proceso Cuidado: NFS este servicio debe estar disponible... Transp. 32
Restricción de acceso por máquina tcp-wrapper demonio: tcpd Restricción mediante wrappers /etc/hosts.allow Ejemplos: ALL: oreto1.inf-cr.uclm.es in.ftpd: oreto1.inf-cr.uclm.es in.ftpd:.uclm.es ALL:.inf-cr.uclm.es /etc/hosts.deny Ejemplo: ALL:ALL Red VI Transp. 33
Red VII Detección de vulnerabilidades de la red(i) Diversidad de aplicaciones: SATAN, NESSUS SATAN(Security Administrator Tool for Analizying Netwoks) Enfoque: busca vulnerabilidades desde fuera Presenta documentación que permite arreglar las vulnerabilidades detectadas tras el análisis Transp. 34
Red VIII Detección de vulnerabilidades de la red(ii) NESSUS (www.nessus.org) Escáner de seguridad remoto libre, potente, actualizable y fácil de usar. Audita de forma remota una red detectando los posibles agujeros de seguridad Presenta arquitectura modular Facilidad para desarrollar tus propios scripts de ataque en lenguaje C Transp. 35
Detección de vulnerabilidades de la red(iii) - Nessus Basado en el modelo cliente/servidor (nessus nessud) Cliente(linux, winx) Servidor(linux) Paquetes: nessus-libraries, libnasl, nessus-core, nessus-plugins Uso: Instalar Red IX Crear certificado SSL(como root: /usr/local/bin/nessus-mkcert-client Crear usuarios(como root: /usr/local/bin/nessus-adduser) Transp. 36
Red X Detección de vulnerabilidades de la red(iv) - Nessus Transp. 37
Red XI Detección de vulnerabilidades de la red(v) - Nessus Transp. 38
Red XII Detección de vulnerabilidades de la red(v) - Nessus Transp. 39
Firewall (I) Red XIII Dispositivo que filtra el tráfico entre redes(puede ser un dispositivo físico o un software sobre un sistema operativo) Transp. 40
Firewall (II) Red XIV Basado en un conjunto de reglas en las que se examina el origen y destino de los paquetes del protocolo tcp/ip. Recomendable: firewall x máquina Políticas de implementación: Aceptar todo el tráfico excepto lo que se deniegue Denegar todo el tráfico excepto aquello que se permita En Linux, el filtrado de paquetes se realiza a nivel de kernel Aplicables SW: iptables, ipchains,... Transp. 41
Monitorización del sistema I La monitorización continua puede asegurar la continua protección Revisión de log s relacionados con la seguridad del sistema: /var/log/auth.log, /var/log/syslog,... Desarrollo de scripts para simplificar la labor de análisis de log s Herramientas: Tripwire, COPS Transp. 42
Monitorización del sistema II La herramienta syslog proporciona registra eventos y mensajes del sistema en un conjunto de archivos de texto para propósitos de análisis. syslogd: proceso iniciado en el proceso de arranque que proporciona el servicio de registro. Información almacenada en /var/log Formato de cada entrada Fecha hora nombre_máquina nombre_proceso PID mensaje Transp. 43
Información de configuración: /etc/syslog.conf Monitorización del sistema III Formato entrada: Facilidad.Prioridad archivo * /,, @, - en localización Transp. 44
Monitorización del sistema IV Transp. 45
Según estudio 08/10/2003 Top Lista Vulnerabilidades I Sistemas Windows 1. Internter Information Services(IIS) 2. Microsoft SQL Server (MSSQL) 3. Windows Authentication 4. Internter Explorer(IE) 5. Windows Remote Access Services 6. Microsoft Data Access Components (MDAC) 7. Windows Scripting Host (WSH) 8. Microsoft Outlook Express 9. Windows Peer to Peer File Sharing (P2P) 10. Simple Network Management Protocol (SNMP) Transp. 46
Sistemas UNIX 1. Bind Domain Name System 2. Remote Procedure Calls(RPC) 3. Apache Web Server Top Lista Vulnerabilidades II 4. Autenticación UNIX de cuentas sin contraseña o contraseña débil 5. Clear Text Services 6. Sendmail 7. Simple Network Management Protocol (SNMP) 8. Secure Shell (SSH) 9. Misconfiguration of Enterprise Services NIS/NFS 10. Open Secure Sockets Layer (SSL) Transp. 47