• No results found

Fedora 13 Security Guide es ES pdf

N/A
N/A
Protected

Academic year: 2020

Share "Fedora 13 Security Guide es ES pdf"

Copied!
186
0
0

Loading.... (view fulltext now)

Full text

(1)

Fedora 13

Guía de seguridad

Una guía para la seguridad en Fedora Linux

Johnray Fuller

John Ha

David O'Brien

Scott Radvan

Eric Christensen

(2)

Fedora 13 Guía de seguridad

Una guía para la seguridad en Fedora Linux

Edición 13.0

Autor Johnray Fuller [email protected]

Autor John Ha [email protected]

Autor David O'Brien [email protected]

Autor Scott Radvan [email protected]

Autor Eric Christensen [email protected]

Autor Adam Ligas [email protected]

Copyright © 2010 Red Hat, Inc.

The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.

Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.

Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

For guidelines on the permitted uses of the Fedora trademarks, refer to https://fedoraproject.org/wiki/ Legal:Trademark_guidelines.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

All other trademarks are the property of their respective owners.

(3)

Prefacio vii

1. Convenciones del Documento ... vii

1.1. Convenciones Tipográficas ... vii

1.2. Convenciones del documento ... viii

1.3. Notas y Advertencias ... ix

2. ¡Necesitamos sus comentarios! ... x

1. Resumen acerca de la seguridad 1

1.1. Introducción a la Seguridad ... 1

1.1.1. ¿Qué es la seguridad en computación? ... 1

1.1.2. SELinux ... 4

1.1.3. Controles de seguridad ... 4

1.1.4. Conclusión ... 5

1.2. Evaluación de debilidades ... 5

1.2.1. Pensando como el enemigo ... 6

1.2.2. Definiendo evaluación y pruebas ... 6

1.2.3. Herramientas de evaluación ... 8

1.3. Atacantes y vulnerabilidades ... 10

1.3.1. Una breve reseña acerca de los hackers ... 10

1.3.2. Amenazas a la seguridad de la red ... 12

1.3.3. Amenazas a la seguridad del servidor ... 12

1.3.4. Amenazas a las estaciones de trabajo y seguridad en equipos hogareños ... 14

1.4. Ataques y debilidades comunes ... 15

1.5. Actualizaciones de seguridad ... 18

1.5.1. Actualización de paquetes ... 18

1.5.2. Verificación de paquetes firmados ... 19

1.5.3. Instalación de paquetes firmados ... 20

1.5.4. Aplicación de los cambios ... 20

2. Asegurando su Red 23

2.1. Seguridad de la estación de trabajo ... 23

2.1.1. Evaluación de la seguridad de la estación de trabajo ... 23

2.1.2. Seguridad en el BIOS y en el gestor de arranque ... 23

2.1.3. Seguridad de contraseñas ... 25

2.1.4. Controles administrativos ... 31

2.1.5. Servicios de red disponibles ... 38

2.1.6. Cortafuegos personales ... 42

2.1.7. Herramientas de comunicación de seguridad mejorada ... 42

2.2. Seguridad del servidor ... 43

2.2.1. Asegurando los servicios con encapsuladores TCP y xinetd ... 43

2.2.2. Asegurando Portmap ... 47

2.2.3. Asegurando NIS ... 47

2.2.4. Asegurando NFS ... 50

2.2.5. Asegurando el servidor HTTP Apache ... 51

2.2.6. Asegurando FTP ... 52

2.2.7. Asegurando Sendmail ... 54

2.2.8. Verificar qué puertos están abiertos ... 56

2.3. Identificación única (SSO, por las iniciales en inglés de Single Sign-on) ... 57

2.3.1. Introducción ... 57

2.3.2. Empezar a utilizar su nueva tarjeta inteligente ... 58

(4)

2.3.5. Configurar Firefox para la utilización de Kerberos como SSO ... 62

2.4. Módulos de autenticación conectables (PAM, por las iniciales en inglés de Pluggable Authentication Modules) ... 64

2.4.1. Ventajas de PAM ... 65

2.4.2. Archivos de configuración de PAM ... 65

2.4.3. Formato del archivo de configuración de PAM ... 65

2.4.4. Ejemplos de archivos de configuración de PAM ... 68

2.4.5. Creación de los módulos PAM ... 69

2.4.6. PAM y el cacheo de la credencial administrativa ... 70

2.4.7. PAM y la propiedad de los dispositivos ... 71

2.4.8. Recursos adicionales ... 73

2.5. Encapsuladores TCP y xinetd ... 74

2.5.1. Encapsuladores TCP ... 75

2.5.2. Archivos de configuración de los encapsuladores TCP ... 76

2.5.3. xinetd ... 83

2.5.4. Archivos de configuración de xinetd ... 83

2.5.5. Recursos adicionales ... 89

2.6. Kerberos ... 90

2.6.1. ¿Qué es Kerberos? ... 91

2.6.2. Terminología de Kerberos ... 92

2.6.3. Como Funciona Kerberos ... 94

2.6.4. Kerberos y PAM ... 95

2.6.5. Configurando un servidor Kerberos 5 ... 96

2.6.6. Configuración de un Cliente Kerberos 5 ... 98

2.6.7. Mapeo dominio-a-reinado ... 99

2.6.8. Configurando KDCs secundarios ... 100

2.6.9. Configurando la autenticación cruzada de reinados ... 102

2.6.10. Recursos adicionales ... 105

2.7. Redes privadas virtuales (VPNs, por las iniciales en inglés de Virtual Private Networks) ... 106

2.7.1. ¿Cómo funciona una VPN? ... 107

2.7.2. VPNs y Fedora ... 107

2.7.3. IPsec ... 107

2.7.4. Creando una conexión IPsec ... 108

2.7.5. Instalación de IPsec ... 108

2.7.6. Configuración de IPsec equipo-a-equipo ... 109

2.7.7. Configuración IPsec red-a-red ... 115

2.7.8. Iniciar y detener una conexión IPsec ... 122

2.8. Cortafuegos ... 122

2.8.1. Netfilter e IPTables ... 124

2.8.2. Configuración básica de un cortafuego ... 124

2.8.3. Uso de IPTables ... 128

2.8.4. Filtrado común de IPTables ... 129

2.8.5. Reglas FORWARD y NAT ... 130

2.8.6. Software malicioso y suplantación de direcciones IP ... 133

2.8.7. IPTables y el seguimiento de la conexión ... 134

2.8.8. IPv6 ... 134

2.8.9. Recursos adicionales ... 134

2.9. IPTables ... 135

2.9.1. Filtrado de Paquete ... 136

(5)

2.9.3. Guardando las reglas de IPTalbes ... 147

2.9.4. Programas de control de IPTables ... 147

2.9.5. IPTables e IPv6 ... 150

2.9.6. Recursos adicionales ... 150

3. Encriptación 151

3.1. Datos en reposo ... 151

3.2. Encriptación completa del disco ... 151

3.3. Encriptación basada en archivo ... 151

3.4. Datos en movimiento ... 152

3.5. Redes privadas virtuales (VPNs) ... 152

3.6. Shell seguro (SSH, por las iniciales en inglés de Secure Shell) ... 152

3.7. Encriptación de disco LUKS (Linux Unified Key Setup-on-disk-format) ... 153

3.7.1. Implementación de LUKS en Fedora ... 153

3.7.2. Encriptación manual de directorios ... 153

3.7.3. Instrucciones paso a paso ... 153

3.7.4. Lo que acaba de realizar ... 154

3.7.5. Enlaces de interés ... 154

3.8. Archivos Encriptados 7-Zip ... 155

3.8.1. Instalación de 7-Zip en Fedora ... 155

3.8.2. Instrucciones paso a paso para su instalación ... 155

3.8.3. Instrucciones paso a paso para su utilización ... 155

3.8.4. Elementos para prestar atención ... 156

3.9. Utilizando GNU Privacy Guard (GnuPG) ... 156

3.9.1. Generando claves GPG en GNOME ... 156

3.9.2. Generar claves GPG en KDE ... 157

3.9.3. Generar una clave GPG mediante la línea de comandos ... 157

3.9.4. Usando GPG con Alpine ... 158

3.9.5. Usando GPG con Evolution ... 159

3.9.6. Usando GPG con Thunderbird ... 160

3.9.7. Acerca del encriptado de la clave pública ... 160

4. Principios Generales sobre la Seguridad de la Información 161

4.1. Consejos, Guías y Herramientas ... 161

5. Instalación segura 163

5.1. Particiones del disco ... 163

5.2. Utilice encriptado de particiones mediante LUKS ... 163

6. Mantenimiento de Software 165

6.1. Instale el software mínimo ... 165

6.2. Planifique y configure actualizaciones de seguridad ... 165

6.3. Ajustando las actualizaciones automáticas ... 165

6.4. Instale paquetes identificados desde repositorios conocidos ... 165

7. Referencias 167

A. Estandares de Encriptación 169

A.1. Cifrado sincronizado ... 169

A.1.1. Advanced Encription Standard - AES ... 169

A.1.2. Data Encryption Standard - DES ... 169

(6)

A.2.3. DSA ... 171

A.2.4. SSL/TLS ... 171

A.2.5. Criptosistema de Cramer-Shoup ... 172

A.2.6. Cifrado ElGamal ... 172

(7)

Prefacio

1. Convenciones del Documento

Este manual utiliza varias convenciones para resaltar algunas palabras y frases y llamar la atención sobre ciertas partes específicas de información.

En ediciones PDF y de papel, este manual utiliza tipos de letra procedentes de Liberation Fonts1

. Liberation Fonts también se utilizan en ediciones de HTML si están instalados en su sistema. Si no, se muestran tipografías alternativas pero equivalentes. Nota: Red Hat Enterprise Linux 5 y siguientes incluyen Liberation Fonts predeterminadas.

1.1. Convenciones Tipográficas

Se utilizan cuatro convenciones tipográficas para llamar la atención sobre palabras o frases específicas. Dichas convenciones y las circunstancias en que se aplican son las siguientes:

Negrita monoespaciado

Utilizada para resaltar la entrada del sistema, incluyendo comandos de shell, nombres de archivo y rutas. También se utiliza para resaltar teclas claves y combinaciones de teclas. Por ejemplo:

Para ver el contenido del archivo my_next_bestselling_novel en su directorio actual de trabajo, escriba el comando cat my_next_bestselling_novel en el intérprete de comandos de shell y pulse Enter para ejecutar el comando.

El ejemplo anterior incluye un nombre de archivo, un comando de shell y una tecla clave. Todo se presenta en negrita-monoespaciado y distinguible gracias al contexto.

Las combinaciones de teclas se pueden distinguir de las teclas claves mediante el guión que conecta cada parte de una combinación de tecla. Por ejemplo:

Pulse Enter para ejecutar el comando.

Pulse Control+Alt+F1 para cambiar a la primera terminal virtual. Pulse

Control+Alt+F7 para volver a su sesión de Ventanas-X.

La primera oración resalta la tecla clave determinada que se debe pulsar. La segunda resalta dos conjuntos de tres teclas claves que deben ser presionadas simultáneamente.

Si se discute el código fuente, los nombres de las clase, los métodos, las funciones, los nombres de variables y valores de retorno mencionados dentro de un párrafo serán presentados en Negrita-monoespaciado. Por ejemplo:

Las clases de archivo relacionadas incluyen filename para sistema de archivos,

file para archivos y dir para directorios. Cada clase tiene su propio conjunto asociado de permisos.

(8)

Esta denota palabras o frases encontradas en un sistema, incluyendo nombres de aplicación, texto de cuadro de diálogo, botones etiquetados, etiquetas de cajilla de verificación y botón de radio; títulos de menú y títulos del sub-menú. Por ejemplo:

Seleccionar Sistema → PreferenciasRatón desde la barra del menú principal para lanzar Preferencias de Ratón. En la pestaña de Botones, haga clic en la cajilla ratón de mano izquierda y luego haga clic en Cerrar para cambiar el botón principal del ratón de la izquierda a la derecha (adecuando el ratón para la mano izquierda).

Para insertar un caracter especial en un archivo de gedit, seleccione desde la barra del menú principal Aplicaciones → AccesoriosMapa de caracteres. Luego, desde la barra del menú mapa de caracteres elija Búsqueda → Hallar…, teclee el nombre del caracter en el campo Búsqueda y haga clic en Siguiente. El caracter buscado se resaltará en la Tabla de caracteres. Haga doble clic en este caracter resaltado para colocarlo en el campo de Texto para copiar y luego haga clic en el botón de Copiar. Ahora regrese a su documento y elija Editar → Pegar desde la barra de menú de gedit.

El texto anterior incluye nombres de aplicación; nombres y elementos del menú de todo el sistema; nombres de menú de aplicaciones específicas y botones y texto hallados dentro de una interfaz gráfica de usuario, todos presentados en negrita proporcional y distinguibles por contexto.

Itálicas-negrita monoespaciado o Itálicas-negrita proporcional

Ya sea negrita monoespaciado o negrita proporcional, la adición de itálicas indica texto reemplazable o variable. Las itálicas denotan texto que usted no escribe literalmente o texto mostrado que cambia dependiendo de la circunstancia. Por ejemplo:

Para conectar a una máquina remota utilizando ssh, teclee ssh

nombredeusuario@dominio.nombre en un intérprete de comandos de shell. Si la máquina remota es example.com y su nombre de usuario en esa máquina es john, teclee ssh [email protected].

El comando mount -o remount file-system remonta el sistema de archivo llamado. Por ejemplo, para volver a montar el sistema de archivo /home, el comando es mount -o remount /home.

Para ver la versión de un paquete actualmente instalado, utilice el comando rpm -q

paquete. Éste entregará el resultado siguiente: paquete-versión-lanzamiento.

Observe las palabras en itálicas- negrita sobre — nombre de usuario, domain.name, sistema de archivo, paquete, versión y lanzamiento. Cada palabra es un marcador de posición, tanto para el texto que usted escriba al ejecutar un comando como para el texto mostrado por el sistema.

Aparte del uso estándar para presentar el título de un trabajo, las itálicas denotan el primer uso de un término nuevo e importante. Por ejemplo:

Publican es un sistema de publicación de DocBook.

1.2. Convenciones del documento

(9)

Notas y Advertencias

Los mensajes de salida enviados a una terminal se muestran en romano monoespaciado y se presentan así:

books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs

Los listados de código fuente también se muestran en romano monoespaciado, pero se presentan y resaltan de la siguiente manera:

package org.jboss.book.jca.ex1;

import javax.naming.InitialContext;

public class ExClient {

public static void main(String args[]) throws Exception

{

InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref;

Echo echo = home.create();

System.out.println("Created Echo");

System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); }

}

1.3. Notas y Advertencias

Finalmente, utilizamos tres estilos visuales para llamar la atención sobre la información que de otro modo se podría pasar por alto.

Nota

Una nota es una sugerencia, atajo o enfoque alternativo para una tarea determinada. Ignorar una nota no debería tener consecuencias negativas, pero podría perderse de algunos trucos que pueden facilitarle las cosas.

Importante

Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring a box labeled 'Important' won't cause data loss but may cause irritation and frustration.

Advertencia

(10)

2. ¡Necesitamos sus comentarios!

Más información acerca del proyecto Guía de Seguridad de Linux puede encontrarse en https:// fedorahosted.org/securityguide

Para proveer retroalimentación de la Guía de Seguridad, por favor envíe un error a https://

(11)

Resumen acerca de la seguridad

Debido a la creciente necesidad de utilización de poderosas computadoras conectadas en red para poder mantener una empresa en funcionamiento, y para poder realizar seguimientos de nuestra información personal, se han desarrollado industrias enteras dedicadas a la práctica de la seguridad de redes y computadoras. Numerosas empresas han solicitado la pericia y el conocimiento de expertos en seguridad para poder controlar correctamente sus sistemas, y para que diseñen soluciones adecuadas a los requerimientos operativos de la organización. Debido a la naturaleza dinámica de muchas de estas organizaciones, donde los trabajadores deben tener acceso a los recursos informáticos, ya sea en forma local o remota, la necesidad de entornos de computación seguros se ha hecho más pronunciada.

Desafortunadamente, muchas de las organizaciones (y muchos usuarios individuales), luego de pensarlo dos veces, deciden relegar el aspecto de la seguridad a un plano inferior, dándole prioridad a otras áreas de sus emprendimientos, como ser producción, presupuesto, o infraestructura. Y frecuentemente, una implementación adecuada de la seguridad es adoptada postmortem — después que un acceso no autorizado haya ocurrido. Los expertos en seguridad concuerdan en que adoptar las medidas correctas antes de conectar un sitio a una red insegura, como lo es Internet, es una manera efectivo de prevenir la mayoría de los intentos de intrusión.

1.1. Introducción a la Seguridad

1.1.1. ¿Qué es la seguridad en computación?

La noción de seguridad en computación es un concepto general que cubre un área muy extensa dentro del ámbito de la computación y del procesamiento de la información. Las industrias que dependen tanto de redes como de sistemas de computación para poder realizar cotidianamente operaciones comerciales, o para acceder a diverso tipo de información vital, entienden que sus datos son una parte importante de sus activos. Han ingresado a nuestro vocabulario cotidiano diversos términos y unidades de medición pertenecientes al ámbito comercial, como ser por ejemplo, el coste total de propiedad (TCO, por las iniciales en inglés de Total Cost of Ownership), o servicio de calidad (QoS, por las iniciales en inglés de Quality of Service). Al utilizar estas unidades, las industrias pueden calcular aspectos tales como ser la integridad de los datos, o el tipo de disponibilidad que tienen, y poder considerarlos parte de los costos de planeamiento y administración de procesos. En algunas industrias, como la del comercio electrónico por ejemplo, el tipo de disponibilidad y la confiabilidad de los datos puede ser un elemento determinante para el éxito o el fracaso.

1.1.1.1. ¿De dónde viene la idea de seguridad en computación?

(12)

Un número creciente de personas está utilizando sus computadoras personales para obtener acceso a los recursos que ofrece Internet. Desde investigación y obtención de información hasta el correo electrónico y transacciones comerciales, Internet es considerada como uno de los desarrollos más importantes del siglo 20.

Sin embargo, Internet y sus primeros protocolos fueron desarrollados como un sistema basado en la confianza. Esto significa que el Protocolo de Internet no fue diseñado para ser seguro en sí mismo. No existen estándares de seguridad aprobados dentro del bloque de comunicaciones TCP/ IP, dejándolo indefenso ante usuarios o procesos de la red potencialmente dañinos. Desarrollos modernos han hecho de las comunicaciones en Internet algo más seguro, pero todavía existen varios incidentes que acaparan la atención mundial, y nos recuerdan el hecho de que nada es completamente seguro.

1.1.1.2. La seguridad hoy

En febrero del año 2000 un ataque de denegación de servicio distribuido (DDoS, por las iniciales en inglés de Distributed Denial of Service) fue liberado sobre varios de los sitios de Internet que tenían más tráfico. Este ataque afectó a yahoo.com, cnn.com, amazon.com, fbi.gov y algunos otros sitios que son completamente inaccesibles para los usuarios normales, dejando a los enrutadores bloqueados durante varias horas con transferencias de grandes paquetes ICMP, o también denominado un ping de la muerte. El ataque fue llevado a cabo por asaltantes desconocidos utilizando programas especialmente creados (y que están a disposición de cualquiera), que buscan servidores de red vulnerables, instalan en esos servidores aplicaciones de cliente denominadas troyanos, y sincronizando un ataque con cada servidor infectado, inundando los sitios elegidos y dejándolos inutilizables. Muchos adjudican el éxito del ataque a fallas fundamentales en la forma en que están estructurados los enrutadores y los protocolos que utilizan. Estas fallas tienen que ver con la manera en que se aceptan los datos entrantes, sin importar desde dónde provengan, o con qué propósito los paquetes hayan sido enviados.

En el año 2007, una pérdida de datos permitió la explotación de una debilidad bien conocida en el protocolo de encriptación inalámbrica WEP (por las iniciales en inglés de Wired Equivalent Privacy), que resultó en el robo de 45 millones de números de tarjetas de créditos de una institución financiera global. 3

In a separate incident, the billing records of over 2.2 million patients stored on a backup tape were stolen from the front seat of a courier's car.4

Actualmente, se estima que 1,8 mil millones de personas usan o usaron Internet alrededor del mundo

5. Al mismo tiempo:

• En cualquier día, hay aproximadamente 225 incidentes principales de fallas de seguridad informados al Centro de Coordinación CERT en la Universidad de Carnegie Mellon.

• En el año 2003, el número de incidencias CERT informadas ascendió a 137,529 de los 82,094 informados en el año 2002, y de los 52,658 en el 2001.

• El impacto económico a nivel mundial de los virus de Internet más peligrosos de los últimos tres años se estimó en US$ 13.2 mil millones.

(13)

¿Qué es la seguridad en computación?

From a 2008 global survey of business and technology executives "The Global State of Information Security"6, undertaken by CIO Magazine, some points are:

• Sólo el 43% de los encuestados audita o monitorea el cumplimiento de las políticas de seguridad de sus usuarios

• Sólo el 22% mantiene un inventario de las compañías externas que utilizan sus datos

• The source of nearly half of security incidents was marked as "Unknown"

• 44% de los encuestados planean incrementar sus gastos en seguridad en el año siguiente

• 59% tiene una estrategia de seguridad de la información

Estos resultados refuerzan la realidad de que la seguridad de computadoras se ha vuelto un gasto cuantificable y justificable en los presupuestos de TI. Las organizaciones que necesitan tanto la integridad como la rápida disponibilidad de sus datos, lo obtienen gracias a la habilidad que los administradores de sistema, desarrolladores e ingenierospara tienen para asegurar la disponibilidad de sus sistemas, servicios y datos, durante las 24 horas de los 365 días del año. Ser víctima de usuarios maliciosos, procesos o ataques coordinados es una amenaza directa al éxito de la organización.

Desafortunadamente, la seguridad de sistemas y de la red puede ser una proposición difícil, que requiere un conocimiento intrincado de cómo una organización expresa, usa, manipula y transmite su información. El entendimiento de la forma en que una organización (y la gente que la compone) conduce el negocio es primordial para implementar un plan de seguridad apropiado.

1.1.1.3. Estandarizando la seguridad

Las empresas de todas las industrias confían en las regulaciones y en las reglas que son puestas por las personas que construyen estándares tales como la Asociación Médica Americana (AMA, por las iniciales en inglés de American Medical Association) o el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE, Institute of Electrical and Electronics Engineers). Los mismos ideales se aplican a la seguridad de la información. Muchos consultores y fabricantes se ponen de acuerdo en el modelo de seguridad estándar conocido como CIA (Confidentiality, Integrity and Availability), o Confidencialidad, Integridad y Disponibilidad. Este modelo de 3 capas es un componente

generalmente aceptado para averiguar los riesgos de la información vital y del establecimiento de la política de seguridad. A continuación se describe el modelo CIA en más detalle:

• Confidentiality — Sensitive information must be available only to a set of pre-defined individuals. Unauthorized transmission and usage of information should be restricted. For example,

confidentiality of information ensures that a customer's personal or financial information is not obtained by an unauthorized individual for malicious purposes such as identity theft or credit fraud.

• Integridad — La información no debe alterarse de manera tal que se torne incompleta o incorrecta. Los usuarios no autorizados deben ser restringidos de la habilidad de modificar o destruir

información vital.

(14)

en inglés de Service Level Agreements) con los proveedores de servicios de red y sus clientes empresariales.

1.1.2. SELinux

Fedora incluye una mejora al kernel de Linux que se llama SELinux, que implementa la arquitectura de Control de Acceso Obligatorio (MAC), que provee un nivel más fino de control sobre los archivos, procesos, usuarios y aplicaciones en el sistema. La discusión detallada sobre SELinux está más allá del alcance de este documento; sin embargo, para más información sobre SELinux y su uso en Fedora, vaya a la Guía del Usuario de SELinux de Fedora disponible en http://docs.fedoraproject.org/ selinux-user-guide/. Hay otros recursos de SELinux listados en Capítulo 7, Referencias.

1.1.3. Controles de seguridad

La seguridad de computadoras es a menudo dividida en tres categorías principales distintas, comúnmente referidas como controles:

• Físico

• Técnico

• Asministrativo

Estas tres amplias categorías definen los objetivos principales de una implementación de seguridad apropiada. Dentro de estos controles existen subcategorías que ofrecen mayores características, o brindan información acerca de su correcta implementación.

1.1.3.1. Control físico

El control físico es la implementación de medidas de seguridad en una estructura definida, utilizado para determinar o evitar el acceso no autorizado a material sensible. Ejemplos de controles físicos son:

• Circuito cerrado de cámaras de vigilancia

• Sistemas de alarma de movimientos, o termales

• Guardias de la seguridad

• IDs de Imagen

• Puertas de acero bloqueadas y selladas

• Biometría (incluye huellas digitales, voz, cara, iris, escritura manual y otros métodos automatizados usados para reconocer a los individuos)

1.1.3.2. Técnicas de control

Los controles técnicos usan la tecnología como una base para el control del acceso y del uso de datos sensibles a través de una estructura física y sobre una red. Los controles técnicos son de largo alcance y abarcan tecnologías como:

• Encriptación

(15)

Conclusión

• Autenticación de red

• Listas de control de acceso (ACLs)

• Software para auditar la integridad de archivos

1.1.3.3. Controles administrativos

Los controles administrativos definen los factores humanos de la seguridad. Involucran todos los niveles del personal dentro de una organización y determinan qué usuarios tienen acceso a qué recursos y la información por tales medios como:

• Capacitación y conocimientos

• Preparación para desastres y planes de recuperación

• Reclutamiento de personal y estrategias de separación

• Registración y control del personal

1.1.4. Conclusión

Ahora que ya conoce los orígenes, las razones y los aspectos de la seguridad, encontrará más fácil determinar el rumbo apropiado con respecto a Fedora. Es importante conocer qué factores y condiciones hacen a la seguridad para planear e implementar una estrategia apropiada. Con esta información en mente, el proceso se puede formalizar y los caminos a seguir se hacen más claros a medida que profundiza en los detalles del proceso de seguridad.

1.2. Evaluación de debilidades

Dependiendo del tiempo, de los recursos y de la motivación, un atacante puede ingresar prácticamente en cualquier sistema. En términos absolutos, ninguna tecnología o proceso en

seguridad actualmente disponible, puede garantizar que un sistema determinado sea completamente invulnerable. Los enrutadores contribuyen a la seguridad de las puertas de enlace frente a Internet. Los cortafuegos contribuyen a la seguridad de las redes internas. Las redes virtuales privadas envían datos en forma segura mediante un flujo encriptado. Sistemas para la detección de extraños le avisan en caso de encontrar actividad malintencionada. Sin embargo, el éxito de cada una de estas tecnologías depende de una numerosa cantidad de variables, entre las cuales podemos encontrar:

• La experiencia del equipo responsable de la configuración, monitoreo y manutención de esas tecnologías.

• La habilidad para enmendar y actualizar servicios y servidores en forma veloz y eficiente.

• La habilidad de quienes son responsables de mantener sobre la red una vigilancia permanente.

(16)

1.2.1. Pensando como el enemigo

Suppose that you administer an enterprise network. Such networks are commonly comprised of operating systems, applications, servers, network monitors, firewalls, intrusion detection systems, and more. Now imagine trying to keep current with each of these. Given the complexity of today's software and networking environments, exploits and bugs are a certainty. Keeping current with

patches and updates for an entire network can prove to be a daunting task in a large organization with heterogeneous systems.

Combine la experiencia que habría que necesitarse, con las tareas a realizar para mantenerse actualizado, y serán inevitables la presencia de incidentes, de sistemas vulnerados, de datos alterados, y de servicios interrumpidos.

Para incrementar las tecnologías en seguridad y ayudar a proteger los sistemas, redes y datos, debería pensar del mismo modo en que lo hace un atacante, y desde este punto de vista comprobar la seguridad de su sistema verificando sus debilidades. Realizar evaluaciones de seguridad preventivas de su sistema y recursos de red, pueden enseñarle potenciales problemas, y solucionarlos, antes que sean aprovechados por un atacante.

Una evaluación de debilidades es una auditoría interna de su red y de su sistema de seguridad, cuyo resultado indica la confidencialidad, integridad y disponibilidad de su red (como es explicado en Sección 1.1.1.3, “Estandarizando la seguridad”). Por lo general, una evaluación de debilidades se inicia con una etapa de reconocimiento, durante la cual se obtienen datos importantes relacionados con los sistemas y los recursos involucrados. En la etapa siguiente se verifica el sistema en busca de debilidades conocidas, y culmina con una etapa de informe, en donde todo lo que se ha encontrado es clasificado entre las categorías de riesgo alto, medio y bajo. En esta última etapa, además, se proponen métodos para mejorar la seguridad (o eliminar el riego) del sistema analizado.

Si usted tuviera que realizar una evaluación de las debilidades de su hogar, seguramente verificaría que cada una de las puertas se encuentre cerrada con llave. También confirmaría que cada

una de las ventanas esté cerrada, y trabada con el pestillo. El mismo concepto se aplica a los sistemas, redes y datos electrónicos. Los usuarios malintencionados son los ladrones de sus datos. Concéntrese en las herramientas que utilizan, en su forma de pensar y en sus motivaciones, y entonces será capaz de poder anticiparse a sus acciones.

1.2.2. Definiendo evaluación y pruebas

Las evaluaciones de debilidades pueden ser catalogadas en dos grandes tipos: De afuera hacia adentro y de adentro hacia afuera.

When performing an outside looking in vulnerability assessment, you are attempting to compromise your systems from the outside. Being external to your company provides you with the cracker's viewpoint. You see what a cracker sees — publicly-routable IP addresses, systems on your DMZ, external interfaces of your firewall, and more. DMZ stands for "demilitarized zone", which corresponds to a computer or small subnetwork that sits between a trusted internal network, such as a corporate private LAN, and an untrusted external network, such as the public Internet. Typically, the DMZ contains devices accessible to Internet traffic, such as Web (HTTP) servers, FTP servers, SMTP (e-mail) servers and DNS servers.

(17)

Definiendo evaluación y pruebas

Existen notables distinciones entre estos dos tipos de evaluaciones. Desde el interior de la compañía se tienen privilegios superiores a los que se obtendrían desde el exterior. Aún hoy, en muchas organizaciones, la seguridad es configurada de tal manera para evitar que ingresen intrusos desde el exterior, y muy poco se hace para asegurar los elementos internos de la organización (como ser cortafuegos departamentales, controles de acceso de niveles de usuarios, procedimientos de autenticaciones para recursos internos, etc.). Por lo general, existen muchos más recursos si se busca dentro de una compañía, ya que la mayoría de los sistemas son internos a ella. Una vez que se encuentre fuera de la compañía, inmediatamente será identificado como un elemento no seguro. Los sistemas y las herramientas disponibles para utilizar desde fuera son, generalmente, muy limitadas.

Considere la diferencia existente entre evaluaciones de debilidades y pruebas de penetración. Piense en una evaluación de debilidades como el primer paso de una prueba de penetración. La información obtenida en la evaluación es utilizada para la prueba. Cualesquiera sean las áreas o los lugares que el resultado de la evaluación haya sugerido verificar en búsqueda de agujeros o debilidades potenciales, serán esos mismos lugares los que la prueba de penetración intentará utilizar para aprovechar esas debilidades e ingresar al sistema.

Acceder a la infraestructura de la red es un proceso dinámico. La seguridad es dinámica, tanto la física como la de la información. Realizar una evaluación determina una visión general, que puede arrojar resultados falsos, tanto para bien como para mal.

La eficacia de los administradores de seguridad es directamente proporcional a las herramientas que utilizan y al conocimiento que poseen. Elija cualquiera de las herramientas de evaluación que se encuentren disponibles actualmente, ejecútelas en su sistema, y es casi una garantía que algunos resultados serán erróneos. Ya sea por una falla del programa, o por un error del usuario, el resultado será el mismo. La herramienta puede llegar a encontrar debilidades que en realidad no existen (falsos positivos); o , peor aún, la herramienta puede no encontrar debilidades que efectivamente existen (falsos negativos).

Ahora que ha sido definida la diferencia entre una evaluación de debilidades y una prueba de penetración, como parte de una mejor aplicación de los métodos, revise cuidadosamente los datos arrojados por la evaluación antes de realizar una prueba de penetración.

Advertencia

Intentar aprovechar las debilidades de los recursos de producción, puede tener efectos adversos en la productividad y eficiencia de sus sistemas y redes.

En la lista siguiente se examinan algunos de los beneficios de llevar a cabo evaluaciones de vulnerabilidad.

• Crea un enfoque pro-activo sobre la seguridad de la información

• Encuentra potenciales debilidades antes que las encuentren los atacantes

• Funciona en sistemas que se mantiene actualizados y enmendados

• Promueve el crecimiento y la asistencia en el desarrollo de la especialización del personal

(18)

1.2.2.1. Estableciendo una metodología

Para ayudar en la selección de las herramientas para realizar una evaluación de debilidades, es útil establecer un método. Desafortunadamente, por el momento no existe una metodología previamente definida, sin embargo, el sentido común y el hecho de adoptar buenas costumbres en materia de seguridad pueden actuar como una guía eficiente.

¿Cuál es el objetivo? ¿Estamos observando un servidor, o la totalidad de una red y todo lo que en ella existe? ¿Estamos fuera o dentro de la compañía? Las respuestas a estas preguntas son importantes debido a que ayudan a determinar, no solo las herramientas que tendremos que utilizar, sino también la forma en que vamos a hacerlo.

Para aprender más acerca del establecimiento de metodologías, visite los siguientes sitios web:

http://www.isecom.org/osstmm/ El manual de metodología de prueba de seguridad de código abierto (OSSTMM, por las iniciales en inglés de The Open Source Security Testing Methodology Manual)

http://www.owasp.org/ El proyecto de seguridad de aplicaciones de red abierta (OWASP, por las iniciales en inglés de The Open Web Application Security Project)

1.2.3. Herramientas de evaluación

Una evaluación puede iniciarse utilizando algún tipo de herramienta que permita reunir información. Cuando se acceda a la totalidad de la red, primero haga un mapeo del diagrama para encontrar los equipos que se encuentren en ejecución. Una vez localizados, examine a cada uno de ellos de manera individual. Para concentrarse en estos equipos se necesita otro conjunto de herramientas. Conocer qué herramientas utilizar puede ser la etapa más importante del proceso para poder encontrar debilidades.

Al igual que con cualquier aspecto de nuestra vida cotidiana, existen numerosas herramientas diferentes que son capaces de realizar el mismo trabajo. Este concepto también se aplica a la realización de evaluaciones de debilidades. Existen herramientas específicas para los sistemas operativos, para las aplicaciones, incluso para las redes (de acuerdo a los protocolos utilizados). Algunas herramientas son gratuitas, otras no. Algunas herramientas son intuitivas y sencillas de utilizar, mientras que otras son crípticas y poco documentadas, pero que tienen capacidades que otras no poseen.

Encontrar las herramientas apropiadas puede ser una tarea intimidante, y la experiencia es un elemento importante para poder hacerlo. Si es posible, establezca un laboratorio de pruebas y utilice la mayor cantidad de herramientas que pueda, anotando las debilidades y fortalezas de cada una de ellas. Adicionalmente, busque mayor información en Internet mayor información, como ser por ejemplo artículos, guías de tipo paso-a-paso, o incluso listas de correo de una herramienta específica.

Las herramientas detalladas a continuación son sólo un pequeño ejemplo de las que se encuentran disponibles.

1.2.3.1. Analizando equipos con Nmap

(19)

Herramientas de evaluación

Nmap es un primer paso muy efectivo en la realización de evaluaciones de debilidades. Puede mapear todos los equipos dentro de su red, e incluso indicar una opción que permite a Nmap intentar identificar el sistema operativo ejecutándose en un equipo determinado. Nmap es un buen fundamento sobre el que establecer una política de utilización de servicios seguros, y detener servicios no seguros.

1.2.3.1.1. Usando Nmap

Nmap puede ejecutarse desde una terminal ingresando el comando nmap, seguido por el nombre del equipo o dirección IP de la máquina a analizar.

nmap foo.example.com

Los resultados de un análisis básico (que puede demorarse unos minutos, de acuerdo al lugar en donde se encuentre el equipo), deberían ser similares a los siguientes:

Starting Nmap 4.68 ( http://nmap.org ) Interesting ports on foo.example.com: Not shown: 1710 filtered ports PORT STATE SERVICE

22/tcp open ssh 53/tcp open domain 70/tcp closed gopher 80/tcp open http 113/tcp closed auth

Nmap verifica los puertos de comunicaciones de red más comunes, en busca de servicios que se encuentren escuchando o esperando. Este conocimiento puede servirle a un administrador que quiere cerrar servicios innecesarios o que no sean utilizados.

Para obtener mayor información acerca de la utilización de Nmap, visite la página oficial en la siguiente URL:

http://www.insecure.org/

1.2.3.2. Nessus

Nessus es un examinador de seguridad para cualquier tipo de servicios. La arquitectura de tipo complementos de Nessus permite a los usuarios personalizarlo de acuerdo a los requerimientos de sus sistemas o redes. Como cualquier otro examinador, la eficiencia de Nessus es directamente proporcional a la base de datos de la que depende. Afortunadamente, Nessus es actualizado periódicamente y entre sus recursos se encuentran el de ofrecer informes completos, análisis de equipos, y búsqueda de debilidades en tiempo real. Recuerde que siempre pueden existir resultados falsos, aún en herramientas tan poderosas y tan frecuentemente actualizadas como Nessus.

Nota

(20)

http://www.nessus.org/

1.2.3.3. Nikto

Nikto es un excelente examinador de programas de interfaz común de puerta de enlace (CGI, por las iniciales en inglés de Common Gateway Interface). Nikto no sólo verifica debilidades CGI, sino que lo hace de una forma evasiva, de modo de poder evitar sistemas de detección de intrusiones. Se ofrece con información detallada que debería ser cuidadosamente leída antes de ejecutar el programa. Si usted posee servidores Web ofreciendo programas CGI, Nikto puede ser una herramienta excelente para verificar la seguridad de estos servidores.

Más información sobre Nikto se puede encontrar en la siguiente URL:

http://www.cirt.net/code/nikto.shtml

1.2.3.4. VLAD el escáner

VLAD es un examinador de debilidades desarrollado por el equipo RAZOR de Bindview, Inc., que verifica en la lista SANS de los diez problemas de seguridad más comunes (problemas SNMP, problemas por compartir archivos, etc.). Si bien no es tan completo como Nessus, vale la pena investigar VLAD.

Nota

VLAD no se incluye con Fedora y no está soportado. Se ha incluido en este documento como una referencia para aquellos usuarios que podrían estar interesados en utilizar esta conocida aplicación.

Más información sobre VLAD se puede encontrar el sitio web del equipo RAZOR en la siguiente URL:

http://www.bindview.com/Support/Razor/Utilities/

1.2.3.5. Anticipando sus necesidades futuras

Depending upon your target and resources, there are many tools available. There are tools for wireless networks, Novell networks, Windows systems, Linux systems, and more. Another essential part of performing assessments may include reviewing physical security, personnel screening, or voice/PBX network assessment. New concepts, such as war walking, which involves scanning the perimeter of your enterprise's physical structures for wireless network vulnerabilities, are some emerging concepts that you can investigate and, if needed, incorporate into your assessments. Imagination and exposure are the only limits of planning and conducting vulnerability assessments.

1.3. Atacantes y vulnerabilidades

Para poder planificar e implementar una buena estrategia de seguridad, tenga en cuenta primero algunos de los problemas que son aprovechados por los atacantes para poder vulnerar los sistemas. Sin embargo, antes de detallar estos problemas, tenemos que definir la terminología utilizada a la hora de identificar a un atacante.

1.3.1. Una breve reseña acerca de los hackers

(21)

Una breve reseña acerca de los hackers

Massachusetts Institute of Technology), en donde se diseñaban modelos de trenes a gran escala y con detalles muy específicos. "Hacker" era el nombre con el que se identificaba a los miembros del club capaces de sortear las dificultades que presentaba un determinado problema, o que descubría algún truco útil.

Desde entonces el término "hacker" se ha utilizado para referirse o bien a un aficionado en computadoras, o bien a un programador talentoso, o bien para todo lo que se encuentre entre ellos. Una característica compartida entre cualquier tipo de "hacker" es la voluntad de investigar detalladamente cómo funciona un sistema de computadoras, o una red, con poca o ninguna

motivación ulterior además del mero hecho de investigar. Los desarrolladores de software de código abierto, a menudo se consideran así mismos y a sus colegas como "hackers", y utilizan esta palabra como un signo de respeto.

Generalmente, los hackers siguen un código de conducta establecido en la etica del hacker, que establece que la búsqueda de información y la excelencia son esenciales, y que el hecho de compartir los conocimientos adquiridos es un deber que el hacker tiene para con la comunidad. A lo largo de esta búsqueda del conocimiento, algunos hackers disfrutan de los desafíos académicos que representan el hecho de sortear los controles de seguridad en los sistemas computarizados. Por este motivo, generalmente el periodismo utiliza el término hacker para referirse a quienes acceden ilegalmente y con fines criminales, malintencionados o inescrupulosos, a redes o sistemas de

computación. La forma más adecuada para referirse a este tipo de hackers es atacante — un término creado por los hackers a mediados de la década del '80, para diferenciar ambas comunidades.

1.3.1.1. Zonas grises

Within the community of individuals who find and exploit vulnerabilities in systems and networks are several distinct groups. These groups are often described by the shade of hat that they "wear" when performing their security investigations and this shade is indicative of their intent.

El hacker de sombrero blanco es quien examina los sistemas y las redes para conocer sus

capacidades y poder determinar qué tan vulnerables son ante una posible intrusión. Generalmente, este tipo de hackers vulnera su propio sistema, o los sistemas de algún cliente suyo que lo ha contratado específicamente con el propósito de controlar su seguridad. Investigadores académicos y consultores profesionales en el área de seguridad son ejemplos de hackers de sombrero blanco. Un hacker de sombrero negro es sinónimo de atacante. Generalmente, los atacantes están menos interesados en la programación o en el aspecto académico a la hora de vulnerar sistemas. Usualmente utilizan una serie de programas desarrollados exclusivamente para atacar y vulnerar los aspectos de un sistema que de antemano se sabe que pueden llegar a fallar, y los utilizan para dejar al descubierto información valiosa en tales sistemas o redes, o para obtener un beneficio personal, o simplemente para causar daño.

Por otro lado, un hacker de sombrero gris tiene la habilidad de un hacker de sombrero blanco, y en la mayoría de los casos también sus intenciones, pero en algunas ocasiones utiliza su conocimiento para propósitos no tan nobles. Puede pensarse en un hacker de sombrero gris como un hacker de sombrero blanco, que a veces utiliza un sombrero negro para cumplir con objetivos personales.

(22)

1.3.2. Amenazas a la seguridad de la red

Malas prácticas cuando se configuran los siguientes aspectos de una red pueden aumentar el riesgo de un ataque.

1.3.2.1. Arquitecturas inseguras

Una red mal configurada es el principal punto de ingreso para usuarios no autorizados. Dejar una red local, a cuyos usuarios conocemos, abierta y vulnerable a la gran inseguridad que representa Internet es casi como dejar una puerta entornada en un barrio de criminales. Tal vez no suceda nada en un determinado período de tiempo, pero en algún momento, alguien va a aprovechar esa oportunidad

1.3.2.1.1. Redes emisoras

Los administradores de sistemas muchas veces no se dan cuenta de la importancia que tiene el hardware de red que utilizan a la hora de realizar los esquemas de seguridad. El hardware que se considera sencillo, como son los enrutadores y los concentradores, dependen del principio de transmisión o principio de no interrupción; esto es, siempre que un nodo transmisor envíe datos sobre una red hacia un nodo receptor, el concentrador o enrutador envía una transmisión del paquete de datos hasta que el nodo receptor recibe y procesa los datos. Este método es el más vulnerable para enviar resolución de protocolo (arp) o control de acceso de contenidos (MAC), ya que esta forma de envío es accesible tanto por intrusos fuera del equipo, como por usuarios no autorizados dentro de él.

1.3.2.1.2. Servidores centralizados

Otro error posible de cometer dentro de una red, es el uso de computación centralizada. Una medida común adoptada por muchos comercios a la hora de reducir su presupuesto, es la de concentrar todos los servicios en una única máquina, relativamente poderosa. Esto puede ser conveniente ya que hace más sencillas las tareas administrativas, y el costo es económicamente inferior al de realizar configuraciones sobre varios servidores. Sin embargo, un servidor centralizado representa el único punto de acceso a la red. Si el servidor central es vulnerado, puede inutilizar completamente a la red, o peor aún, puede hacer que los datos sean fácilmente manipulados, o directamente sustraídos. En estas situaciones, un servidor central se convierte en una puerta abierta que permite el acceso a la red en su totalidad.

1.3.3. Amenazas a la seguridad del servidor

Server security is as important as network security because servers often hold a great deal of an organization's vital information. If a server is compromised, all of its contents may become available for the cracker to steal or manipulate at will. The following sections detail some of the main issues.

1.3.3.1. Servicios no usados y puertos abiertos

Una instalación completa de Fedora contiene más de 1000 aplicaciones y bibliotecas de paquetes. Sin embargo, muchos administradores de servidores eligen no instalar todos los paquetes de la distribución, y prefieren en su lugar realizar una instalación de los paquetes básicos, incluyendo algunas aplicaciones de servidor.

(23)

Amenazas a la seguridad del servidor

lo sepa, lo que a su vez puede generar tráfico no solicitado hacia el servidor, o incluso un posible camino de acceso al sistema para los atacantes. Para obtener mayor información acerca del cierre de puertos y desconexión de servicios que no se utilicen, vea Sección 2.2, “Seguridad del servidor”.

1.3.3.2. Servicios no parchados

La mayoría de las aplicaciones de servidor que se incluyen en una instalación por defecto son piezas de software sólidas y completamente comprobadas. Habiendo sido utilizadas en entornos de producción durante muchos años, el código de ellas ha sido totalmente refinado y muchos de sus errores han sido encontrados y corregidos.

Sin embargo, no existe algo así como el software perfecto y existe siempre un margen para futuras mejoras. Es más, por lo general el software más reciente no ha sido probado con el rigor que uno podría esperar, debido a su reciente aparición en los entornos de producción, o debido a que no es tan popular como otros.

Los desarrolladores y los administradores de sistemas encuentran a menudo, en algunas aplicaciones de servidor, errores que podrían ser aprovechados para vulnerar el sistema, y publican la información de tal error en un sitio web relacionado con el tema, como ser por ejemplo, la lista de correo Bugtraq (http://www.securityfocus.com) o el Equipo de Respuesta de Emergencias de Computación (CERT, por las iniciales en inglés de Computer Emergency Response Team), cuyo sitio web es (http:// www.cert.org). Si bien estos mecanismos son una forma efectiva de advertir a la comunidad acerca de problemas en la seguridad, queda en manos de los administradores del sistema enmendar sus sistemas. Esto es realmente verdadero ya que los atacantes tienen acceso a estos mismos sitios y podrán utilizar la información para vulnerar sistemas que aún no han sido enmendados. Ser un buen administrador de sistemas implica ser vigilante, estar atento permanentemente a los errores y a sus soluciones, y ser capaz de realizar una manutención adecuada del sistema para asegurar un entorno de computación seguro.

Vaya a la Sección 1.5, “Actualizaciones de seguridad” para más información sobre cómo mantener un sistema actualizado.

1.3.3.3. Administración desatendida

Administrators who fail to patch their systems are one of the greatest threats to server security. According to the SysAdmin, Audit, Network, Security Institute (SANS), the primary cause of computer security vulnerability is to "assign untrained people to maintain security and provide neither the training nor the time to make it possible to do the job."7 This applies as much to inexperienced administrators as it does to overconfident or amotivated administrators.

Alguno administradores no pueden enmendar sus servidores o estaciones de trabajo, y otros no le prestan atención a los mensajes de registro enviados desde el kernel del sistema, o generados por el tráfico en la red. Otro error común se produce al no modificar las contraseñas o claves

(24)

1.3.3.4. Servicios inseguros en sí mismos

Incluso la organización más precavida puede ser víctima de sus puntos débiles, si elige utilizar servicios de red inseguros. Por ejemplo, existen numerosos servicios desarrollados presuponiendo que serán utilizados en redes que se consideran confiables. Sin embargo, este presupuesto deja de funcionar ni bien el servicio se utiliza en Internet — que es considerada una red insegura.

Una categoría de servicios de red no seguros son aquellos que en el momento de la autenticación, piden nombres de usuario y contraseñas que no estén encriptados. Telnet y FTP son dos ejemplos de este tipo de servicios. Si algún software diseñado para sustraer información se encuentre vigilando el tráfico entre el usuario remoto y un servicio con estas características, tanto los nombres de usuario como las contraseñas pueden ser interceptadas fácilmente.

Inherently, such services can also more easily fall prey to what the security industry terms the man-in-the-middle attack. In this type of attack, a cracker redirects network traffic by tricking a cracked name server on the network to point to his machine instead of the intended server. Once someone opens a remote session to the server, the attacker's machine acts as an invisible conduit, sitting quietly between the remote service and the unsuspecting user capturing information. In this way a cracker can gather administrative passwords and raw data without the server or the user realizing it.

Another category of insecure services include network file systems and information services such as NFS or NIS, which are developed explicitly for LAN usage but are, unfortunately, extended to include WANs (for remote users). NFS does not, by default, have any authentication or security mechanisms configured to prevent a cracker from mounting the NFS share and accessing anything contained therein. NIS, as well, has vital information that must be known by every computer on a network, including passwords and file permissions, within a plain text ASCII or DBM (ASCII-derived) database. A cracker who gains access to this database can then access every user account on a network, including the administrator's account.

Por defecto, Fedora es liberada con todos estos servicios apagados. Sin embargo, dado que los administradores a menudo se encuentran obligados a utilizarlos, es muy importante realizar cuidadosamente la configuración de ellos. Para obtener mayor información acerca de cómo configurar los servicios en forma segura, vea Sección 2.2, “Seguridad del servidor”.

1.3.4. Amenazas a las estaciones de trabajo y seguridad en equipos

hogareños

Workstations and home PCs may not be as prone to attack as networks or servers, but since they often contain sensitive data, such as credit card information, they are targeted by system crackers. Workstations can also be co-opted without the user's knowledge and used by attackers as "slave" machines in coordinated attacks. For these reasons, knowing the vulnerabilities of a workstation can save users the headache of reinstalling the operating system, or worse, recovering from data theft.

1.3.4.1. Malas contraseñas

Las malas contraseñas son una de las formas más fáciles para que un atacante obtenga el acceso a un sistema. Para información sobre cómo evitar los errores comunes, vaya a Sección 2.1.3, “Seguridad de contraseñas”.

1.3.4.2. Aplicaciones de tipo cliente vulnerables

(25)

Ataques y debilidades comunes

public network, an attacker can capture the plain text usernames and passwords as they pass over the network, and then use the account information to access the remote user's workstation.

Aún cuando se utilicen protocolos seguros, como SSH, un usuario remoto puede ser vulnerable a ciertos ataques si no mantiene actualizadas sus aplicaciones de cliente. Por ejemplo, los clientes de SSH v.1 son vulnerables a un ataque de reenvío de X que provenga de servidores maliciosos. Una vez conectado al servidor, el atacante puede capturar silenciosamente cualquier presión de teclas o pulsación del ratón que el cliente haya hecho sobre la red. Este problema fue solucionado con el protocolo SSH v.2, pero queda en manos del usuario conocer qué aplicaciones tienen puntos débiles, y actualizarlas cuando sea necesario.

Sección 2.1, “Seguridad de la estación de trabajo” discute más en detalle los pasos que los

administradores y usuarios hogareños deben tomar para limitar la vulnerabilidad de las computadoras estaciones de trabajo.

1.4. Ataques y debilidades comunes

Tabla 1.1, “Debilidades comunes” describe algunas de las debilidades y los puntos de ingreso más utilizados por intrusos, que pretenden acceder a los recursos de organización de diferentes redes. La clave para defender estos puntos son las explicaciones acerca de cómo se desarrollan, y cómo los administradores pueden salvaguardar adecuadamente sus redes contra tales ataques.

Debilidades Descripción Notas

Contraseñas nulas o

predeterminadas

Dejando las contraseñas

administrativas en blanco, o utilizando la contraseña predeterminada puesta por el vendedor. Esto es lo más común en hardware como ruteadores y cortafuegos, por lo que algunos servicios que corren en Linux pueden contener contraseñas administrativas predeterminadas (aunque Fedora 12 no viene con ellas).

Asociados comúnmente a equipos de red como ruteadores, cortafuegos, VPNs y aparatos de almacenamiento conectados a la red (NAS).

Común en muchos sistemas

operativos viejos, especialmente los SOs que agrupan servicios (como UNIX y Windows.)

Los administradores, a veces crean apresuradamente cuentas de usuarios privilegiados, y dejan la contraseña en blanco, creando un punto de entrada perfecto para usuarios malintencionados han descubierto la cuenta.

Claves compartidas predeterminadas

Los servicios de seguridad algunas veces empaquetan claves de seguridad establecidas por defecto, ya sea para su desarrollo, o para comprobar su desempeño. Si estas claves se mantienen inalteradas y se colocan en un entorno de producción en Internet todos los usuarios con las misma sclaves establecidas por defecto tendrán acceso a ese recurso de clave compartida, y a cualquier tipo

(26)

Debilidades Descripción Notas

Imitación de IP Una máquina remota actúa como un nodo en su red local, busca debilidades en sus servidores, e instala un programa de puerta trasera o troyano para ganar el control de los recursos de la red.

La suplantación de identidad es tan difícil porque involucra la necesidad del atacante de tener que predecir los números de secuencia de TCP/IP para coordinar una conexión a los sistemas remotos, pero hay varias herramientas disponibles para asistir a los atacantes a realizar esa tarea.

Depende del tipo de servicios que se estén ejecutando en el sistema de destino (como por ejemplo rsh,

telnet, FTP y demás), si es que utilizan técnicas de autenticación basadas en la fuente, no son

recomendadas si se las compara con PKI, o con otras formas de autenticar encriptaciones utilizadas en ssh, o SSL/TLS.

Escuchas La escucha se realiza para la

recolección de datos que pasan entre dos nodos activos en una red.

Este tipo de ataque funciona principalmente con protocolos de transmisión de texto plano tales como las transferencias Telnet, FTP y HTTP. El atacante remoto debe tener acceso a un sistema comprometido en una LAN para poder realizar el ataque; usualmente el atacante usó un ataque activo (tal como la suplantación de IP o la del hombre en el medio) para comprometer un sistema en la LAN. Las medidas preventivas incluyen servicios con cambio de claves criptográficas, contraseñas de un solo uso, o autenticación encriptada para prevenir la adivinación de contraseñas; una fuerte encriptación durante la transmisión también es recomendada.

Debilidades de servicios

Un atacante encuentra una brecha o hueco en un servicio que corre a través de Internet; a través de esta vulnerabilidad, el atacante compromete el sistema entero y cualquier dato que pueda contener, y puede posiblemente comprometer otros sistemas en la red.

(27)

Ataques y debilidades comunes

Debilidades Descripción Notas

Los servicios algunas veces pueden presentar debilidades que no son visibles a lo largo de los procesos de desarrollo o de prueba. Estas vulnerabilidades pueden darle a un atacante un control administrativo total, como es el caso de un desbordamiento del búfer: los atacantes destruyen un sistema utilizando valores arbitrarios que agotan la memoria del búfer de una determinada aplicación, y obteniendo así una consola desde la cual poder ejecutar comandos.

Los administradores se deben asegurar que los servicios no corren como el usuario root, y deben vigilar los parches y actualizaciones de errata de las aplicaciones de vendedores u organizaciones de seguridad como CERT y CVE.

Debilidades de aplicaciones

Los atacantes encuentran fallas en las aplicaciones de un equipo de escritorio o de una estación de trabajo (como ser por ejemplo un cliente de correo electrónico), y ejecutan un código cualquiera, colocan caballos troyanos para futuros daños, o simplemente destruyen el sistema. Pueden ocurrir futuras catástrofes si la estación de trabajo vulnerada posee privilegios administrativos sobre el resto de la red.

Las estaciones de trabajo y los equipos personales son ideales para ser vulnerados dado que sus usuarios no tienen ni la experiencia ni el conocimiento para prevenir o detectar irregularidades. Es de suma importancia informar a los individuos del riesgo que corren cada vez que instalan software no autorizado, o cuando abren archivos adjuntos de correos electrónicos no solicitados. Pueden ser implementados "salvavidas" tales como configurar al cliente de correo electrónico que se esté utilizando de modo tal que no abra ni ejecute archivos adjuntos en forma automática. Además, la actualización automática de la estación de trabajo a través de Red Hat Network o mediante algún otro servicio de administración de sistemas, es una forma de aliviar la tarea de las descargas de seguridad de tipo multi usuario.

Ataques de Negación de Servicio (DoS)

Attacker or group of attackers coordinate against an organization's network or server resources by

(28)

Debilidades Descripción Notas

target host (either server, router, or workstation). This forces the resource to become unavailable to legitimate users.

de tráfico quedaron incapacitados por un ataque coordinado de flujo de ping, utilizando diversos sistemas con conexiones de banda ancha previamente vulnerados, que actuaban como zombies, o que redireccionaban nodos de transmisión.

Los paquetes fuentes son usualmente moldeados (así como reenviados), investigando sobre la verdadera fuente del ataque.

Los avances en el filtrado de la entrada (IETF rfc2267) con iptables

y con sistemas detección de intrusos como snort ayudan a los administradores a rastrear y prevenir ataques de DoS distribuido.

Tabla 1.1. Debilidades comunes

1.5. Actualizaciones de seguridad

A medida que las deficiencias en la seguridad se van descubriendo, el software involucrado debe ser actualizado, y limitar así cualquier tipo de potencial riesgo. Si el software es parte de un paquete contenido en la distribución Fedora entonces soportada, Fedora está comprometida a liberar lo antes posible las actualizaciones necesarias para solucionar las deficiencias del paquete en cuestión. A menudo, los anuncios sobre alguna imperfección en algún aspecto de la seguridad son acompañados de un parche (o código fuente que solucione el problema). Este parche es entonces aplicado al paquete de Fedora, probado y liberado como una actualización considerada de tipo errata. Sin embargo, si algún anuncio no incluye un parche, el desarrollador trabaja primero con el encargado del software para poder solucionar el problema. Una vez que el problema haya sido resuelto, el paquete es probado y liberado como una actualización de tipo errata.

Si se lanza una errata de actualización del software de su sistema, es altamente recomendado actualizar los paquetes involucrados tan pronto como sea posible para minimizar la cantidad de tiempo en que el sistema es potencialmente vulnerable.

1.5.1. Actualización de paquetes

(29)

Verificación de paquetes firmados

Nota

Fedora incluye un ícono en panel que muestra una alerta cada vez que exista una actualización disponible para el sistema.

1.5.2. Verificación de paquetes firmados

Todos los paquetes de Fedora están firmados con la clave GPG de Fedora. GPG viene de GNU Privacy Guard (guardia de la privacidad de GNU), o GnuPG, un paquete de software libre que se usa para asegurar la autenticidad de archivos a distribuir. Por ejemplo, una clave privada (clave secreta) bloquea el paquete mientras que la clave pública desbloquea y verifica el paquete. Si la clave pública distribuida por Fedora no coincide con la clave privada durante la verificación del RPM, el paquete puede haber sido alterado y por lo tanto no es confiable.

La utilidad RPM de Fedora intenta verificar automáticamente la firma GPG de un paquete RPM antes de instalarlo. Si la clave GPG no está instalada, se debe instalar desde una ubicación estática y segura, como el CD-ROM o DVD de instalación de Fedora.

Asumiendo que el disco está montado en /mnt/cdrom, use el siguiente comando para importarla dentro del administrador de claves (keyring, una base de datos de claves confiables en el sistema):

rpm --import /mnt/cdrom/RPM-GPG-KEY

Para mostrar una lista de todas las claves instaladas para la verificación de RPM, ejecute el siguiente comando:

rpm -qa gpg-pubkey*

La salida será similar a la siguiente:

gpg-pubkey-db42a60e-37ea5438

Para mostrar los detalles de alguna clave en particular, use el comando rpm -qi seguido de la salida del comando previo, como en este ejemplo:

rpm -qi gpg-pubkey-db42a60e-37ea5438

Es extremadamente importante verificar la firma de los archivos RPM antes de instalarlos para asegurar que no hayan sido alterados desde la fuente original de los paquetes. Para verificar todos los paquetes descargados de una vez, emita el siguiente comando:

rpm -K /tmp/updates/*.rpm

(30)

1.5.3. Instalación de paquetes firmados

La instalación de la mayoría de los paquetes se puede hacer en forma segura (excepto para los paquetes del kernel) emitiendo el siguiente comando:

rpm -Uvh /tmp/updates/*.rpm

Para paquetes del kernel, use el siguiente comando:

rpm -ivh /tmp/updates/<kernel-package>

Replace <kernel-package> in the previous example with the name of the kernel RPM.

Una vez que la máquina ha sido iniciada sin problema usando el nuevo kernel, el kernel viejo se puede eliminar usando el siguiente comando:

rpm -e <old-kernel-package>

Replace <old-kernel-package> in the previous example with the name of the older kernel RPM.

Nota

No es necesario que el último kernel sea eliminado. El cargador de arranque por defecto, GRUB, permite tener varios kernels instalados, luego elija uno desde el menú de

arranque al iniciar.

Importante

Antes de instalar cualquier errata de seguridad, asegúrese de leer las instrucciones especiales contenidas en el informe de errata, y ejecútelas apropiadamente. Visite

Sección 1.5.4, “Aplicación de los cambios” para obtener instrucciones generales sobre la aplicación de las modificaciones realizadas por una actualización de errata.

1.5.4. Aplicación de los cambios

Después de descargar e instalar las erratas de seguridad y actualizaciones, es importante dejar de usar el software viejo y comenzar a usar el nuevo. Cómo se hace esto depende del tipo de software que se haya actualizado. La siguiente lista muestran los items de la categoría general de software y provee instrucciones para usar las versiones actualizadas después de cada actualización de paquetes.

Nota

References

Related documents

• educate students and staff about the importance of physical activity to health and well-being • provide students with physical activity opportunities throughout the school day

Other components of the list returned by pre.hapassoc include a vector initFreq of initial estimates of all haplotype frequencies (including pooled haplotypes),

Economic development promotion Creation of promotional materials - website Promote an Atascadero Identification Program Tourism Committee - Chamber - Main Street Annual

Mean daily gross primary productivity (GPP) as calculated from the observations (Obs, open circles) and modeled by CABLE using default parameters (Def, black line),

more egalitarian economies (with respect to market (gross) income) show higher levels of redistribution (with respect to outcome in net incomes) than less egalitarian economies 39

The purpose of the award is to help the Girl Scout and Camp Fire member become more aware of God's presence in her everyday life.. Just like the honors one

This data is a list containing two components, the first component is a vector of length 500 which contains the F-statistics measuring differential expression of single genes, and

Reasons for vaping (using electronic nicotine delivery systems) inferred from public Twitter postings, 2012–2015.. Each bar shows the percentage of reason-related tweets for the