Sistemas de Información Gerencial

   

Prof. Yaros Pérez

    Trabajo 2

Seguridad en los sistemas de información desarrollados vía WEB.


 
Ing. Pedro Tovar
MGFN
  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  1. INTRODUCCIÓN

Una auditoría de seguridad informática o auditoría de seguridad de sistemas de información (SI) es el estudio que comprende el análisis y gestión de sistemas para identificar y posteriormente corregir las diversas vulnerabilidades que pudieran presentarse en una revisión exhaustiva de las estaciones de trabajo, redes de comunicaciones o servidores.

Una vez obtenidos los resultados, se detallan, archivan y reportan a los responsables quienes deberán establecer medidas preventivas de refuerzo, siguiendo siempre un proceso secuencial que permita a los administradores mejorar la seguridad de sus sistemas aprendiendo de los errores cometidos con anterioridad.

Las auditorías de seguridad de SI permiten conocer en el momento de su realización cuál es la situación exacta de sus activos de información en cuanto a protección, control y medidas de seguridad.

2. FASES DE UNA AUDITORÍA

Los servicios de auditoría constan de las siguientes fases:

  • Enumeración de redes, topologías y protocolos.
  • Identificación de sistemas y dispositivos.
  • Identificación de los sistemas operativos instalados.
  • Análisis de servicios y aplicaciones.
  • Detección, comprobación y evaluación de vulnerabilidades.
  • Medidas específicas de corrección.
  • Recomendaciones sobre implantación de medidas preventivas.

3. TIPOS DE AUDITORÍA

Los servicios de auditoría pueden ser de distinta índole:

  • Auditoría de seguridad interna. En este tipo de auditoría se contrasta el nivel de seguridad y privacidad de las redes locales y corporativas de carácter interno.
  • Auditoría de seguridad perimetral. En este tipo de análisis, el perímetro de la red local o corporativa es estudiado y se analiza el grado de seguridad que ofrece en las entradas exteriores.
  • Test de intrusión. El test de intrusión es un método de auditoría mediante el cual se intenta acceder a los sistemas, para comprobar el nivel de resistencia a la intrusión no deseada. Es un complemento fundamental para la auditoría perimetral.
  • Análisis forense. El análisis forense es una metodología de estudio ideal para el análisis posterior de incidentes, mediante el cual se trata de reconstruir cómo se ha penetrado en el sistema, a la par que se valoran los daños ocasionados. Si los daños han provocado la inoperabilidad del sistema, el análisis se denomina análisis postmortem.
  • Auditoría de páginas web. Entendida como el análisis externo de la web, comprobando vulnerabilidades como la inyección de código sql, Verificación de existencia y anulación de posibilidades de Cross Site Scripting (XSS), etc.
  • Auditoría de código de aplicaciones. Análisis del código tanto de aplicaciones páginas Web como de cualquier tipo de aplicación, independientemente del lenguaje empleado.

Realizar auditorías con cierta frecuencia asegura la integridad de los controles de seguridad aplicados a los sistemas de información. Acciones como el constante cambio en las configuraciones, la instalación de parches, actualización de los softwares y la adquisición de nuevo hardware hacen necesario que los sistemas estén continuamente verificados mediante auditoría.

4. ESTÁNDARES DE AUDITORÍA INFORMÁTICA Y DE SEGURIDAD

Una auditoría se realiza con base a un patron o conjunto de directrices o buenas practicas sugeridas. Existen estándares orientados a servir como base para auditorias de informática. Uno de ellos es CoBIT (Objetivos de Control de la Tecnologías de la Información), dentro de los objetivos definidos como parámetro, se encuentra el "Garantizar la Seguridad de los Sistemas". Adicional a este estándar podemos encontrar el ISO17799, el cual se conforma como un código internacional de buenas prácticas de seguridad de la información, este puede constituirse como una directriz de auditoria apoyandose de otros estándares de seguridad de la información que definen los requisitos de auditoria y sistemas de gestión de seguridad, como lo es el estándar ISO27001.

CoBIT

COBIT, lanzado en 1996, es una herramienta de gobierno de TI que ha cambiado la forma en que trabajan los profesionales de TI. Vinculando tecnología informática y prácticas de control, COBIT consolida y armoniza estándares de fuentes globales prominentes en un recurso crítico para la gerencia, los profesionales de control y los auditores.

COBIT se aplica a los sistemas de información de toda la empresa, incluyendo las computadoras personales, mini computadoras y ambientes distribuidos. Esta basado en la filosofía de que los recursos de TI necesitan ser administrados por un conjunto de procesos naturalmente agrupados para proveer la información pertinente y confiable que requiere una organización para lograr sus objetivos.
Misión: Investigar, desarrollar, publicar y promover un conjunto internacional y actualizado de objetivos de control para tecnología de información que sea de uso cotidiano para gerentes y auditores

Usuarios:

  • La Gerencia: para apoyar sus decisiones de inversión en TI y control sobre el rendimiento de las mismas, analizar el costo beneficio del control.
  • Los Usuarios Finales: quienes obtienen una garantía sobre la seguridad y el control de los productos que adquieren interna y externamente.
  • Los Auditores: para soportar sus opiniones sobre los controles de los proyectos de TI, su impacto en la organización y determinar el control mínimo requerido.
  • Los Responsables de TI: para identificar los controles que requieren en sus áreas.

También puede ser utilizado dentro de las empresas por el responsable de un proceso de negocio en su responsabilidad de controlar los aspectos de información del proceso, y por todos aquellos con responsabilidades en el campo de la TI en las empresas.

Características:

  • Orientado al negocio
  • Alineado con estándares y regulaciones "de facto"
  • Basado en una revisión crítica y analítica de las tareas y actividades en TI
  • Alineado con estándares de control y auditoria (COSO, IFAC, IIA, ISACA, AICPA)

Principios:
El enfoque del control en TI se lleva a cabo visualizando la información necesaria para dar soporte a los procesos de negocio y considerando a la información como el resultado de la aplicación combinada de recursos relacionados con las TI que deben ser administrados por procesos de TI.

  • Requerimientos de la información del negocio

Para alcanzar los requerimientos de negocio, la información necesita satisfacer ciertos criterios:

Requerimientos de Calidad: Calidad, Costo y Entrega.
Requerimientos Fiduciarios: Efectividad y Eficiencia operacional, Confiabilidad de los reportes financieros y Cumplimiento le leyes y regulaciones.

  • Efectividad: La información debe ser relevante y pertinente para los procesos del negocio y debe ser proporcionada en forma oportuna, correcta, consistente y utilizable.
  • Eficiencia: Se debe proveer información mediante el empleo óptimo de los recursos (la forma más productiva y económica).
  • Confiabilidad: proveer la información apropiada para que la administración tome las decisiones adecuadas para manejar la empresa y cumplir con sus responsabilidades.
  • Cumplimiento: de las leyes, regulaciones y compromisos contractuales con los cuales está comprometida la empresa.

Requerimientos de Seguridad: Confidencialidad, Integridad y Disponibilidad

  • Confidencialidad: Protección de la información sensible contra divulgación no autorizada
  • Integridad: Refiere a lo exacto y completo de la información así como a su validez de acuerdo con las expectativas de la empresa.
  • Disponibilidad: accesibilidad a la información cuando sea requerida por los procesos del negocio y la salvaguarda de los recursos y capacidades asociadas a la misma.
  • Recursos de TI
ISO17799

El ISO 17799, al definirse como una guía en la implementación del sistema de administración de la seguridad de la información, se orienta a preservar los siguientes principios de la seguridad informática:

Confidencialidad. Asegurar que únicamente personal autorizado tenga acceso a la información.

Integridad. Garantizar que la información no será alterada, eliminada o destruida por entidades no autorizadas.

Disponibilidad. Asegurar que los usuarios autorizados tendrán acceso a la información cuando la requieran.

Estos principios en la protección de los activos de información constituyen las normas básicas deseables en cualquier organización, sean instituciones de gobierno, educativas e investigación; no obstante, dependiendo de la naturaleza y metas de las organizaciones, éstas mostrarán especial énfasis en algún dominio o área del estándar ISO 17799.

El objetivo de la seguridad de los datos es asegurar la continuidad de las operaciones de la organización, reducir al mínimo los daños causados por una contingencia, así como optimizar la inversión en tecnologías de seguridad.

Como todo buen estándar, el ISO 17799 da la pauta en la definición sobre cuáles metodologías, normas o estándares técnicos pueden ser aplicados en el sistema de administración de la seguridad de la información, se puede entender que estos estándares son auxiliares y serán aplicados en algún momento al implementar el mismo.

La aplicación de un marco de referencia de seguridad basado en el ISO 17799 proporciona beneficios a toda organización que lo implemente, al garantizar la existencia de una serie de procesos que permiten evaluar, mantener y administrar la seguridad de la información.

Las políticas, estándares locales y los procedimientos se encuentran adaptados a las necesidades de la organización debido a que el proceso mismo de su elaboración integra mecanismos de control y por último, la certificación permite a las organizaciones demostrar el estado de la seguridad de la información, situación que resulta muy importante en aquellos convenios o contratos con terceras organizaciones que establecen como requisito contractual la certificación BS7799.

Certificados SSL 128

Secure Socket Layer es un sistema de protocolos de caracter general diseñado en 1994 por la empresa Nestcape Communcations Corporation, y está basado en la aplicación conjunta de Criptografía Simétrica, Criptografía Asimétrica (de llave pública), certificados digitales y firmas digitales para conseguir un canal o medio seguro de comunicación a través de Internet. De los sistemas criptográficos simétricos, motor principal de la encriptación de datos transferidos en la comunicación, se aprovecha la rapidez de operación, mientras que los sistemas asimétricos se usan para el intercambio seguro de las claves simétricas, consiguiendo con ello resolver el problema de la Confidencialidad en la transmisión de datos.

SSL implementa un protocolo de negociación para establecer una comunicaión segura a nivel de socked (nombre de máquina más puerto), de forma transparente al usuario y a las aplicaciones que lo usan.

Actualmente es el estandar de comunicación segura en los navegadores web más importantes (protocolo HTTP), como Nestcape Navigator e Internet Explorer, y se espera que pronto se saquen versiones para otras otros protocolos de la capa de Aplicación (correo, FTP, etc.).

La identidad del servidor web seguro (y a veces también del usuario cliente) se consigue mediante el Certificado Digital correspondiente, del que se comprueba su validez antes de iniciar el intercambio de datos sensibles (Autenticación), mientras que de la seguridad de Integridad de los datos intercambiados se encarga la Firma Digital mediante funciones hash y la comprobación de resúmenes de todos los datos enviados y recibidos.

Desde el punto de vista de su implementación en los modelos de referencia OSI y TCP/IP, SSL se introduce como una especie de nivel o capa adicional, situada entre la capa de Aplicación y la capa de Transporte, sustituyendo los sockets del sistema operativo, lo que hace que sea independiente de la aplicación que lo utilice, y se implementa generalmente en el puerto 443. (NOTA: Los puertos son las intefaces que hay entre las aplicacoines y la pila de protocolos TCP/IP del sistema operativo).

SSL proporciona servicios de seguridad a la pila de protocolos, encriptando los datos salientes de la capa de Aplicación antes de que estos sean segmentados en la capa de Transporte y encapsulados y enviados por las capas inferiores. Es más, también puede aplicar algoritmos de compresión a los datos a enviar y fragmentar los bloques de tamaño mayor a 214 bytes, volviendolos a reensamblarlos en el receptor.

La versión más actual de SSL es la 3.0. que usa los algoritmos simétricos de encriptación DES, TRIPLE DES, RC2, RC4 e IDEA, el asimétrico RSA, la función hash MD5 y el algoritmo de firma SHA-1.

Los algoritmos, longitudes de clave y funciones hash de resumen usados en SSL dependen del nivel de seguridad que se busque o se permita, siendo los más habituales los siguientes:

* RSA + Triple DES de 168 bits + SHA-1: soportado por las versiones 2.0 y 3.0 de SSL, es uno de los conjuntos más fuertes en cuanto a seguridad, ya que son posibles 3.7 * 1050 claves simétricas diferentes, por lo que es muy dificil de romper. Por ahora sólo está permitido su uso en Estados Unidos, aplicándose sobre todo en transacciones bancarias.

* RSA + RC4 de 128 bits + MD5: soportado por las versiones 2.0 y 3.0 de SSL, permite 3.4 * 10 38 claves simétricas diferentes que, aunque es un número inferior que el del caso anterior, da la misma fortaleza al sistema. Análogamente, en teoría sólo se permite su uso comercial en Estados Unidos, aunque actualmente ya es posible su implementación en los navegadores más comunes, siendo usado por organismos gubernamentales, grandes empresas y entidades bancarias.

* RSA + RC2 de 128 bits + MD5: soportado sólo por SSL 2.0, permite 3.4 * 10 38 claves simétricas diferentes, y es de fortaleza similar a los anteriores, aunque es más lento a la hora de operar. Sólo se permite su uso comercial en Estados Unidos, aunque actualmente ya es posible su implementación en los navegadores más comunes.

* RSA + DES de 56 bits + SHA-1: soportado por las versiones 2.0 y 3.0 de SSL, aunque es el caso de la versión 2.0 se suele usar MD5 en vez de SHA-1. Es un sistema menos seguro que los anteriores, permitiendo 7.2 * 10 16 claves simétricas diferentes, y es el que suelen traer por defecto los navegadores web en la actualidad (en realidad son 48 bits para clave y 8 para comprobación de errores).

* RSA + RC4 de 40 bits + MD5: soportado por las versiones 2.0 y 3.0 de SSL, ha sido el sistema más común permitido para exportaciones fuera de Estados Unidos. Permite aproximadamente 1.1 * 10 12 claves simétricas diferentes, y una velocidad de proceso muy elevada, aunque su seguridad es ya cuestionable con las técnicas de Criptoanálisis actuales.

* RSA + RC2 de 40 bits + MD5: en todo análogo al sistema anterior, aunque de velocidad de proceso bastante inferior.

* Sólo MD5: usado sólamente para autentificar mensajes y descubrir ataques a la integridad de los mismos. Se usa cuando el navegador cliente y el servidor no tienen ningún sistema SSL común, lo que hace imposible el establecimiento de una comunicación cifrada. No es soportado por SSL 2.0, pero si por la versión 3.0.

La clave de encriptación simétrica es única y diferente para cada sesión, por lo que si la comunicación falla y se debe establecer una nueva sesión SSL, la contraseña simétrica se generará de nuevo.

SSL proporciona cifrado de alto nivel de los datos intecambiados (se cifran incluso las cabeceras HTTP), autenticación del servidor (y si es necesario también del cliente) e integridad de los datos recibidos.

Durante el proceso de comunicación segura SSL existen dos estados fundamentales, el estado de sesión y el estado de conexión. A cada sesión se le asigna un número identificador arbitrario, elegido por el servidor, un método de compresión de datos, una serie de algoritmos de encriptación y funciones hash, una clave secreta maestra de 48 bytes y un flag de nuevas conexiones, que indica si desde la sesión actual se pueden establecer nuevas conexiones. Cada conexión incluye un número secreto para el cliente y otro para el servidor, usados para calcular los MAC de sus mensajes, una clave secreta de encriptación particular para el cliente y otra para el servidor, unos vectores iniciales en el caso de cifrado de datos en bloque y unos números de secuencia asociados a cada mensaje.

¿Cómo podemos saber si una conexión se está realizando mediante SSL?. Generalmente los navegadores disponen de un icono que lo indica, generalmente un candado en la parte inferior de la ventana. Si el candado está abierto se trata de una conexión normal, y si está cerrado de una conexión segura. Si hacemos deble click sobre el candado cerrado nos aparecerá el Certificado Digital del servidor web seguro.

Además, las páginas que proceden de un servidor SSL vienen implementadas mediante protocolo HTTP seguro, por lo que su dirección, que veremos en la barra de direcciones del navegador, empezará siempre por https, como por ejemplo:

https://www.evidaliahost.com

Por último, cuando estamos en una conexión segura podemos ver el certificado del servidor acudiendo al menú "Archivo" del navegador y pinchando en "Propiedades". En la parte inferior tenemos una opción "Certificados", que nos mostrará el del servidor actual.

  5. SEGURIDAD

Cuando hablamos de realizar la evaluación de la seguridad es importante también conocer como desarrollar y ejecutar el implantar un sistema de seguridad.

Desarrollar un sistema de seguridad significa: "planear, organizar coordinar dirigir y controlar las actividades relacionadas a mantener y garantizar la integridad física de los recursos implicados en la función informática, así como el resguardo de los activos de la empresa."

Por lo cual podemos ver las consideraciones de un sistema de integral de seguridad.

Sistema Integral de Seguridad

Un sistema integral debe contemplar:

  • Definir elementos administrativos
  • Definir políticas de seguridad
  • A nivel departamental
  • A nivel institucional
  • Organizar y dividir las responsabilidades
  • Contemplar la seguridad física contra catástrofes (incendios, terremotos, inundaciones, etc.)
  • Definir elementos técnicos de procedimientos
  • Definir las necesidades de sistemas de seguridad para:
  • Hardware y software
  • Flujo de energía
  • Cableados locales y externos
  • Aplicación de los sistemas de seguridad incluyendo datos y archivos
  • Planificación de los papeles de los auditores internos y externos

Etapas para Implementar un Sistema de Seguridad

Para dotar de medios necesarios para elaborar su sistema de seguridad se debe considerar los siguientes puntos:

  • Sensibilizar a los ejecutivos de la organización en torno al tema de seguridad.
  • Se debe realizar un diagnóstico de la situación de riesgo y seguridad de la información en la organización a nivel software, hardware, recursos humanos, y ambientales.
  • Elaborar un plan para un programa de seguridad. El plan debe elaborarse contemplando:

Plan de Seguridad Ideal (o Normativo)

Un plan de seguridad para un sistema de seguridad integral debe contemplar:

  • El plan de seguridad debe asegurar la integridad y exactitud de los datos
  • Debe permitir identificar la información que es confidencial
  • Debe contemplar áreas de uso exclusivo
  • Debe proteger y conservar los activos de desastres provocados por la mano del hombre y los actos abiertamente hostiles
  • Debe asegurar la capacidad de la organización para sobrevivir accidentes
  • Debe proteger a los empleados contra tentaciones o sospechas innecesarias
  • Debe contemplar la administración contra acusaciones por imprudencia

Un punto de partida será conocer como será la seguridad, de acuerdo a la siguiente ecuación.

Riego de Seguridad = - (Medidas preventivas y correctivas)

Donde:

Riesgo (roles, fraudes, accidentes, terremotos, incendios, etc)

Medidas preventivas ... (políticas, sistemas de seguridad, planes de emergencia, plan de resguardo, seguridad de personal, etc)


   6. PRÁCTICAS QUE PERMITEN AUMENTAR LA SEGURIDAD

Aunque es imposible protegerse contra todas las amenazas existen métodos muy difundidos en la Internet actual, que hacen que la seguridad del servidor sea menos vulnerable. A continuación se tratan algunos de ellos.

Definir políticas en tiempo de diseño

La seguridad se define mediante políticas. Las mismas no son una receta aplicable a todas las empresas por igual ya que dependerán de los tipos de datos que manejan los sistemas de información. Así en algunos ambientes cualquier usuario puede acceder a los servidores Web e instalar o modificar cualquier página, apagar o reinicializar el sistema mientras que en otros ambientes sólo algunos usuarios podrán acceder con permiso de sólo lectura a algunas páginas y si desearan modificar un archivo necesitarán una autorización firmada por el director del área de sistemas. Estas son distintas políticas.

Las políticas de seguridad son un tema complejo, su función es guiar a los usuarios hacia el conocimiento de las acciones permitidas y a la elección en cuanto a la configuración y uso del sistema.

En el momento de crear una política de seguridad, los administradores deberían hacerse las siguientes preguntas:
  • ¿Quiénes tendrán acceso?
  • ¿Qué tipos de accesos se otorgarán?
  • ¿Quién autorizará los accesos?
  • ¿Quién será el responsable de la seguridad, de las actualizaciones, de los respaldos y del mantenimiento?
  • ¿Qué tipo de material es permitido en las páginas?
  • ¿A qué sitios y usuarios externos se les permitirá acceso a laspáginas e información?
  • ¿Qué tipos de pruebas y evaluaciones deben hacerse al softwareantes de instalarlo?
  • ¿Cómo se manejarán las incidencias acerca del servidor y de lainformación?
  • · ¿Cómo se reaccionará ante un incidente de seguridad?
  • ¿Cómo y cuándo debe actualizarse la política?
  • ¿Quién es el representante ante miembros externos a la organizaciónante un incidente de seguridad?
  • Ante una falla, ¿se seguirá brindando servicio?
  • ¿Se tomará el criterio de negación preestablecida (lo que no estápermitido está expresamente prohibido) o de permiso preestablecido (lo que noestá prohibido expresamente está permitido)?
Las políticas de seguridad deben estar al alcance y disposición de todas las personas asociadas a la organización y en algunos casos es aconsejable difundirlas externamente para generar confianza en los usuarios externos. Si se pone especial cuidado en el desarrollo de las políticas es posible evitar muchos problemas potenciales. Pero para constituir las políticas de seguridad se debe ir contra la cultura de muchas organizaciones que ponderan el hacer sobre el planificar. Para cambiar esta situación se debe comprender la importancia de los planes y los beneficios en tiempo, costo y calidad de los procesos planificados sobre los improvisados. No es fácil pero nunca debemos perder de vista que una organización es la suma de los miembros que la componen.

Prevenir la intercepción de claves de acceso

El envío de claves de acceso reutilizables en texto llano a través de redes internas y externas, es tal vez el riesgo de seguridad más importante que se corre en Internet. Por ejemplo al utilizar el servicio FTP para actualizar páginas Web, el nombre de usuario y la clave viajan por la red sin ser encriptados de modo de que si alguien está monitoreando la red obtendrá acceso al servidor ya que la clave es reutilizable hasta que el propietario la cambie.
La única forma de prevenirse contra la intercepción de claves es no enviar las mismas en texto llano y que las mismas no sean reutilizables.

Utilizar herramientas de seguridad

Son programas que se utilizan para evaluar o mejorar la seguridad de un sitio. Las podemos dividir en cuatro categorías:
  • Herramientas de instantánea: estos sistemas toman una foto del servidor y buscan debilidades potenciales notificándolas a la persona que la ejecuta, se caracterizan por hacer muchas revisiones en poco tiempo. También se las conoce como herramienta de auditoría estática. Estos programas deben ejecutarse con regularidad y se debe evaluar con mucho cuidado la salida que producen, ya que en ellos se pueden encontrar los agujeros de seguridad del sistema.
  • Herramientas de detección de cambios no autorizados: cuando un atacante ingresa en un sitio restringido lo primero que suele hacer es crear puertas traseras que le faciliten futuros ingresos al sistema y también modificar el mismo para ocultar evidencia de intrusión. Dejando a su paso cambios no autorizados en el sistema. El hecho de encontrar estos cambios no evita la irrupción pero puede indicar que el sistema ha sido violado.
  • Herramientas que escudriñan la red, buscando debilidades en ella: estas herramientas buscan errores de programación conocidos relacionados con la seguridad. Es sabido que los crackers escudriñan la red con estas
    herramientas, así que lo mejor es utilizar uno mismo estos programas para mantenerse consciente de las falencias de nuestro sistema.
  • Herramientas que monitorean el sistema y la red buscando ataques en progreso: estas herramientas funcionan como alarma antirroboregistrando la computadora mientras opera, en busca de señales de una irrupción.

Evitar fallas y errores de programación

Una de las cosas más peligrosas que se puede hacer estando conectado a Internet es descargar y ejecutar un programa ya que la mayoría de los sistemas operativos no controla lo que un programa puede hacer una vez que se está ejecutando. Por lo tanto al ejecutar un programa descargado de Internet ponemos toda nuestra computadora y hasta nuestra red en manos del autor del programa. Aunque la mayoría de estos programas se comportan como se espera; muchos tienen errores de programación, son hostiles, buscan la información almacenada y la transmiten a algún lugar de Internet o realizan algún otro tipo de fraude.

A continuación se enumeran reglas generales para la codificación segura de programas que deben ser tenidas en cuenta por los desarrolladores de sitios web de comercio electrónico:

  1. Diseño: Se debe comprender claramente lo que se intenta construir, considerar el ambiente en que se ejecutará, el comportamiento de entrada y salida, los archivos utilizados, los parámetros reconocidos. Utilizar herramientas adecuadas de diseño y procesos de calidad. Hace no mucho tiempo, el hincapié puesto en el diseño era mínimo. Los recursos fuertes de un proyecto eran puestos en la codificación. Hoy la visión ha cambiado de forma diametral, y el diseño y la arquitectura de un proyecto conforma su parte esencial.
  2. Verificar los valores proporcionados por el usuario: la mayoría de errores de seguridad ocurren cuando el programa recibe un valor o formato inesperado. Esto es evitable verificando los parámetros. Se debe prestar especial atención en el filtrado a que los caracteres sean los adecuados, la longitud sea la permitida y que el valor sea legal.
  3. Verificar los parámetros enviados al sistema operativo: como se explicó anteriormente al darle acceso al sistema operativo al usuario se debe tener especial cuidado de que las funciones ejecutadas sean las que se esperan.
  4. Verificar los códigos de retorno del sistema operativo: cuando una llamada al sistema operativo falla se debe registrar en una bitácora el valor  inesperado, proporcionando una salida limpia.
  5. Incluir código de verificación de consistencia interna: si una variable dentro de un programa sólo se supone que tome una número finito de valores, se debe comprobar que así sea, generando un error en caso contrario.
  6. Incluir mucha información en las bitácoras: es mejor que sobre información y no que falte, además de la bitácora del servidor Web se deben reportar los errores en bitácoras dedicadas a cada sistema, esto facilitará la localización de problemas.
  7. Dividir el programa: la modularidad y unicidad van asociadas a la simplicidad y facilidad de mantenimiento y detección de errores. “Divide y vencerás”
  8. Atacar el código: debe pensar como un atacante y buscar las fallas de seguridad que un atacante buscaría.
  9. Probar el programa a profundidad.
  10. No confiar demasiado en al dirección IP de origen de los paquetes ya que la misma puede ser falsificada o alterada.
  11. Imponer límite de tiempo de ejecución: si el programa rebasa éstos tiempos es posible que esté bloqueado.
  12. No utilizar nombre de usuario y clave de acceso en texto llano: si se emplea esta manera de autenticación debe hacerse con facilidades criptográficas.
Utilizar Firewalls

El firewall es un dispositivo que aísla una red interna del resto de Internet, permitiendo pasar conexiones específicas y aislando otras. Si bien los firewalls son parte de la estrategia global de seguridad de una organización no deben tomarse como la única, debe emplearse sólo para obtener seguridad adicional junto con controles internos, ya que el mismo no protege de ataques internos.

Existen tres formas de proteger la red interna de ataques externos mediante un firewall:
  1. Colocar el servidor Web fuera del firewall. (Figura Z) En caso que el servidor sea violado el atacante no podrá ingresar al resto de la red. Por otro lado el servidor Web no cuenta con la protección del firewall.
  2. Colocar el servidor dentro del firewal. (Figura AA) De esta forma se evita que los usuarios externos utilicen servicios para  los que no están autorizados, pero si se logra subvertir el servidor mediante un ataque se tiene acceso completo a la red interna.
  3. Colocar el servidor entre dos firewalls. (Figura BB) Combina las ventajas de los dos sistemas anteriores pero también las restricciones a los servicios.

Figura Z.: Servidor Web fuera del firewall.

Figura AA.: Servidor Web dentro del firewall.


Figura BB.: Servidor Web entre dos firewall.
Los firewalls protegen los datos aportando a su confidencialidad (evitan que los datos se conozcan), integridad (impiden que los datos se cambien) y disponibilidad (permite que los datos se usen cuando se los requiere).

Utilizar bitácoras

Las bitácoras, son registros de las actividades de los sistemas, la mayoría de los sistemas operativos pueden configurarse para llevarlas, escribiéndolas en archivos, distribuyéndolas a través de la red, imprimiéndolas o almacenándolas en algún otro dispositivo.

Son invaluables a la hora de la recuperación después de un incidente de seguridad ya que nos pueden dar pistas de como entró el atacante y hasta ayudarnos a identificarlo. A veces pueden presentarse como evidencia en un juicio. Sin embargo si alguien entra en un sistema lo primero que hará será borrar
sus huellas en las bitácoras ya sea eliminándolas o modificándolas. Esto se puede evitar con un servidor de bitácoras seguro que recolecta las bitácoras de otras computadoras en la red. Este servidor no soporta cuentas de usuario para
evitar que un atacante pueda entrar al mismo.

Las bitácoras pueden ser examinadas con regularidad, existe un software llamado analizador de bitácoras que descarta los eventos esperados dejando sólo aquellos inesperados que merecen atención. La desventaja de las bitácoras es que generan mucha información en corto tiempo y es importante respaldar las bitácoras históricas ya que podemos necesitarlas cuando se descubre el ataque y puede que haya pasado un tiempo considerable desde que el
mismo se produjo.

Utilizar respaldos

El respaldo, es una copia de los datos, escritos en un medio de almacenamiento duradero. Protegiendo contra fallas del equipo, borrado accidental de datos, irrupciones (ya que los archivos borrados o modificados por un atacante pueden ser restaurados), ayudan a detectar cambios en el sistema. Sin embargo los sistemas de respaldo no están exentos de problemas: se debe verificar que los datos respaldados sean correctos y que puedan emplearse para restaurar el sistema, si los archivos respaldados se transmiten a través de la red sin encriptación, se corre el riesgo de que un atacante pueda acceder a su contenido, los medios de almacenamiento de respaldo exigen protección especial contra robo o destrucción ya que las mismas por definición contienen los datos históricos del sistema.
Minimizar servicios

Una forma fundamental de reducir las amenazas a un servidor Web es minimizar los servicios que ofrece la computadora donde este se ejecuta. Al quitar los servicios no esenciales se eliminan entradas potenciales al sistema. Una buena práctica es: si un servicio no es necesario, deshabilitarlo. En la Figura CC se detallan los servicios que se recomienda restringir y el motivo de esta recomendación.

Figura CC.: Servicios que se deben deshabilitar o restringir para que un servidor Web sea considerado seguro.
Restringir el acceso a servidores Web

Algunas veces no se desea que la información publicada en Internet se encuentre visible para todo el universo de personas; esto puede ser porque el servidor Web contiene información exclusiva para un grupo de personas ya sea, que son miembros de una organización, clientes que pagan para ver la información, clientes que hayan firmado acuerdos de confidencialidad. Existen varias técnicas para controlar el acceso a la información colocada en la Web, a continuación veremos algunos de ellos:

URL ocultos:

Consiste en no publicar y mantener secreto el URL de acceso a una página. Son los más fáciles de implementar aunque la seguridad que proporcionan es la equivalente a tener una llave escondida debajo del felpudo en la entrada
de una casa. Se basa en el concepto de que nadie puede acceder a datos que no sabe dónde están, pero de la misma manera cualquiera que conozca como acceder a ellos, tendrá toda la información. Además esta información es transitiva ya que esta URL puede divulgarse de boca en boca, vía e-mail o de alguna otra manera. Otra forma de divulgación de la URL son los programas “araña” que buscan por toda la red agregando las palabras claves de cada página que encuentran a una base de datos central, como por ejemplo Lycos y AltaVista que son dos buscadores24 muy conocidos que utilizan este método para completar sus bases de datos con información de los contenidos de la Web.

Restricciones basadas en la dirección:

Se permite el acceso al servidor Web a un grupo específico de computadoras basándose en sus direcciones de Internet mediante la dirección IP específica o un rango dentro de una subred. Es una técnica de limitar el acceso a la
información en la Web. Este sistema no es perfecto ya que se pueden utilizar engaños de IP para enviar paquetes que aparente provenir de una computadora distinta de la que en verdad provienen. A aquellos que tengan permiso explícito de acceso se les mostrará la página correspondiente y a los usuarios que no tienen permiso de acceso se les mostrará el mensaje de la Figura DD.

Figura DD.: Mensaje de advertencia cuando se intenta acceder a un sitio restringido y no se
tienen los privilegios necesarios.
Control de acceso basado en identidad:

Este sistema se basa en restringir la entrada a un servidor Web utilizando nombres de usuario. Es una de las formas más efectivas de controlar el acceso. A cada usuario se le da un nombre que lo identifica y una clave de acceso que lo autentica. También se puede corroborar la identidad con algunos de los métodos antes visto de llave pública o prendas físicas.
6. INFOGRAFÍA

  1. http://es.wikipedia.org/wiki/Auditor%C3%ADa_de_seguridad_de_sistemas_de_informaci%C3%B3n
  2. http://es.wikipedia.org/wiki/Certificado_digital
  3. http://www.evidaliahost.com/certificados/faq/que_es_un_certificado.php
  4. http://www.enterate.unam.mx/Articulos/2005/febrero/seguridad.htm
  5. http://www.monografias.com/trabajos14/auditoriasistemas/auditoriasistemas.shtml
  6. http://www.criptored.upm.es/guiateoria/gt_m001a.htm
  7. http://www.monografias.com/trabajos/seguinfo/seguinfo.shtml
  8. http://html.rincondelvago.com/auditoria-de-sistemas-informaticos.html
  9. http://www.monografias.com/trabajos-pdf/seguridad-e-comerce/seguridad-e-comerce.pdf

  1
Hosted by www.Geocities.ws

1