sistema de auditoria de seguridad windows...

331
UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería en Sistemas Computacionales TESIS DE GRADO Previo la Obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES GUAYAQUIL – ECUADOR Año: 2008 SISTEMA DE AUDITORIA DE SEGURIDAD WINDOWS "S.A.W." Autores: JOHANNA CHECA WILSON QUIROGA JUAN VALAREZO

Upload: others

Post on 15-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD DE GUAYAQUILFacultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

TESIS DE GRADO

Previo la Obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

GUAYAQUIL – ECUADORAño: 2008

SISTEMA DE AUDITORIA DE SEGURIDAD WINDOWS "S.A.W."

Autores:JOHANNA CHECAWILSON QUIROGAJUAN VALAREZO

RESUMEN

El sistema de Diagnóstico de Seguridades Windows “SAW” ha sido desarrollado

con la única finalidad de brindar facilidad al auditor de Sistemas en su trabajo de

campo. Esta herramienta la puede utilizar para conectarse a un Servidor o PC con

Sistema Operativo Windows y extraer información de gran importancia como son

los Services Packs, recursos compartidos, discos, puertos, etc. y poder evaluar si

cumple o no con buenas prácticas de auditoría.

Cabe indicar también que dicha herramienta puede extraer información del Active

Directory cuando esta descubre que el servidor evaluado es un Domain Controler

y realizar las mismas evaluaciones detalladas anteriormente. Para poder realizar

el análisis de los valores extraídos se debe Parametrizar datos de puertos,

Services Packs y porcentaje de Disco libre que vayan acorde a las prácticas

recomendadas. Finalmente toda esta información puede ser presentada en

reportes para una mejor evaluación.

SUMMARY

The system Diagnostics Assurances Windows “SAW” has been developed for thesole purpose of providing ease the auditor Systems in their fieldwork. This tool canbe used to connect to server or PC with operating system Windows and extractimportant information such as service pack, sharing folder, logical drives, ports,etc. and to assess whether or not comply with good audit practice.

It also indicate that this tool can extract information of Active Directory when itdiscovers that the server is a rated Domain Controller and perform the samedetailed assessments above. To perform the analysis of the values must beextracted data parameterization of ports, service pack and percentage of free diskto be consistent with the recommended prá development practices. Finally all thisinformation can be presented in reports for a better evaluation.

INDICE GENERAL

AGRADECIMIENTO II

DEDICATORIA III

TRIBUNAL DE GRADUACIÓN IV

DECLARACIÓN EXPRESA V

RESUMEN VI

INDICE GENERAL VII

PARTE INTRODUCCION

CAPITULO 1FASE DE VISIONADO1.1 Oportunidad de negocio 31.2 Concepto de la solución 81.3 visión 91.4 Beneficios 101.5 Metas 111.6 Objetivo General 111.7 Objetivos Específicos 111.8 Requerimientos 121.9 Alcances 131.9.1 Fuera de alcance 171.10 Estructura del Proyecto 171.10.1 Creación del equipo de trabajo y asignación de roles 171.11 Roles 191.11.1 Gestor de Producto 201.11.2 Gestor de Proyecto 211.11.3 Desarrollo 211.11.4 Roles Externos 211.11.4.1Pruebas 211.11.4.2 Experiencia de Usuarios 221.12 Estándares de proyecto 22

1.13 Plantilla de control de Cambios 251.14 Recursos 261.14.1 Recursos Asignados para el Hardware 261.14.2 Recursos Asignados para el Software 261.15 Limitaciones 281.15.1 Limitaciones del Hardware 281.15.2 Limitaciones del Software 291.15.3Limitaciones del Equipo de trabajo 301.16 Estimados del Proyecto 301.16.1 Estimación de Costo 321.16.2 Estimación de Tiempo 321.17 Análisis de Riesgo 321.17.1 Identificación del Riesgo 321.17.2 Categorización de los riesgos 331.17.3 Estimación del Riesgo 34

CAPITULO 2FASE DE PLANEACION2.1 Escenarios de Uso 362.2 Diseño Conceptual 402.3 Arquitectura de la Solución 452.4 Diagramas de casos de Uso 482.5 Descripción de los casos de Uso del Sistema 522.6 Comportamiento Dinámico de Casos de Uso 632.6.1 Diagramas de Actividad 632.7 Diseño Físico del Sistema 722.71 Dependencias 722.8 Representación del Ambiente de Desarrollo

del Sistema 742.9 Construcción de la Aplicación 752.9.1 Servicios de Usuario (Interfaces Preliminares) 752.9.1.1 Módulo de Ingreso al Sistema 752.9.1.2 Módulo Cambiar Clave 782.9.1.3 Módulo Menú Principal 802.9.1.4 Modulo Auditoria de Servidores y Pc 832.9.1.5 Módulo Conexión 852.9.1.6 Módulo Comparación de Auditorías 872.9.1.7 Módulo Parametrizar Buenas Prácticas 892.9.1.8 Módulo Generación de Reportes 912.9.1.9 Módulo Ingreso de Usuario 932.9.1.10 Módulo Ingreso de Empresa 972.9.1.11 Modulo Consultar Usuarios 992.9.1.12 Módulo Consultar Compañías 1012.9.1.13 Módulo Modificar Usuario 103

2.9.1.14 Módulo Modificar Empresa 1062.9.1.15 Módulo Inicializar Clave 1082.9.1.16 Modulo Desbloquear Clave 1102.9.2 Servicios de Datos 1122.9.2.1 Diseño de la Base de datos 1122.9.2.2 Esquema de la Base de datos 1132.9.2.3 Estructura de las tablas 1152.9.2.4 Procedimientos Almacenados 128

CAPITULO 3FASE DE DESARROLLO

3.1 Objetivos de Desarrollo 1353.2 Ambiente de Desarrollo y Pruebas 1353.2.1 Herramientas de Construcción 1373.2.2 Herramientas de Administración de Base de Datos 1373.2.3 Sistemas Operativos 1373.2.4 Herramientas de Diseño y Documentación 1373.2.5 Herramientas de Consulta e investigación 1373.3 Control de Fuentes 1383.4 Guías y Estándares de desarrollo 1383.5 Procesos de Construcción Diario 1413.6 Componentes/ Objetos 1413.7 Descripción de componentes 1443.7.1 Módulos de Conexión a la Base, almacenamiento

y encriptación 1453.7.2 Componente de Ingreso al Sistema 1483.7.3 Componente Conexión a Servidor o PC 1503.7.4 Componente Auditoría de Servidor o PC 1533.7.5 Componente Comparación de Auditorías 1613.7.6 Componente Parametrización 1643.7.7 Componentes Generación de Reportes 1673.7.8 Componente Ingreso de Usuario 172

CAPITULO 4FASE DE PRUEBAS

4.1 Objetivos 1754.2 Características y Funcionalidad a probar 1764.3 Resultados Esperados 1784.4 Procedimiento de las Pruebas 1794.4.1 Características de evaluación: Usabilidad 179

4.4.2 Listado de acciones que el usuario debe cumplir 1814.4.3 Requerimientos de Recursos para las pruebas 1824.4.4 Diagrama de ambiente de pruebas 1834.4.5 Características de Evaluación: Rendimiento y Resistencia 1844.4.5.1 Procedimiento de la Prueba 1844.4.5.2 Requerimientos de Hardware 1844.4.5.3 Requerimientos de Personal 1854.4.5.4 Requerimientos de Herramientas 1854.4.6 Característica de Evaluación: Robustez y Seguridad 1854.4.6.1 Casos de Prueba 1864.5 Reporte de Pruebas 1964.5.1 Ejecución de Casos de Pruebas para evaluar la

Robustez y Seguridad 1964.5.2 Reportes de Pruebas de Rendimiento y Robustez 2074.5.3 Reporte de Pruebas de Usabilidad 210

CAPITULO 5CONCLUSIONES Y RECOMENDACIONES

5.1 Conclusiones 2155.2 Recomendaciones 217

GLOSARIO DE TERMINOS

ANEXOS

BIBLIOGRAFIA

INDICE DE FIGURAS

Pag.

Figura 1.1 Fase de visionado 7Figura 1.2 Fase de visionado 2 8Figura 1.3 MSF 23Figura 1.4 Plantilla de Control de cambios 25Figura 2.1 Escenarios de Uso 1 38Figura 2.2 Escenarios de Uso 2 39Figura 2.3 Escenario de Uso 3 40Figura 2.4 Arquitectura de la solución 47Figura 2.5 Diagramas de Caso de Uso 1 48Figura 2.6 Diagramas de Caso de Uso 2 50Figura 2.7 Diagramas de Caso de Uso 3 51Figura 2.8 Diagrama de Actividad: Ingresar al Sistema 63Figura 2.9 Diagrama de Actividad: Seleccionar Empresa 64Figura 2.10 Diagrama de Actividad: Ingresar Empresa 65Figura 2.11 Diagrama de Actividad: Ingresar Usuario 66Figura 2.12 Diagrama de Actividad: Conectar a Servidor 67Figura 2.13 Diagrama de Actividad: Auditar Servidor 68Figura 2.14 Diagrama de Actividad: Comparar Auditorías 68Figura 2.15 Diagrama de Actividad: Parametrizar Buenas Prácticas 70Figura 2.16 Diagrama de Actividad: Generar Reportes 71Figura 2.17 Representación del Ambiente de Desarrollo del Sistema 74Figura 2.18 Pantalla: Ingreso al sistema 75Figura 2.19 Pantalla: Cambiar Clave 78Figura 2.20 Pantalla: Menú Principal 80Figura 2.21 Pantalla: Auditoría de Servidores o Pc 83Figura 2.22 Pantalla: Conexión 85Figura 2.23 Pantalla: Comparación de Auditorías 87Figura 2.24 Pantalla: Parametrizar Buenas Prácticas 89Figura 2.25 Pantalla: Generación de Reportes 91Figura 2.26 Pantalla: Ingreso de Usuario 93Figura 2.27 Pantalla: Asignar Perfil 94Figura 2.28 Pantalla: Ingreso de Empresa 97Figura 2.29 Pantalla: Consulta de Usuarios 99Figura 2.30 Pantalla: Consultar Compañías 101Figura 2.31 Pantalla: Modificar Usuario 103Figura 2.32 Pantalla Modificar Empresa 106Figura 2.33 Pantalla Inicializar Clave 108Figura 2.34 Pantalla Desbloquear clave 110Figura 2.35 Diagrama Entidad Relación de la Base de datos 114Figura 3.1 Ambiente de Desarrollo 136

Figura 3.2 Diagrama de bloque de Ingreso al Sistema 148Figura 3.3 Diagrama de Bloque Conexión a Servidor o PC 150Figura 3.4 Diagrama de Bloque Auditoría de Servidor o Pc 153Figura 3.5 Diagrama de Bloque Comparación de Auditorías 161Figura 3.6 Diagrama de Bloque Parametrización 164Figura 3.7 Diagrama de Bloque Generación de Reportes 167Figura 3.8 Diagrama de Bloque Ingreso de Usuario 172Figura 4.1 Ambiente de pruebas de Usabilidad 183Figura 4.2 Integración de Herramientas en ambiente de Pruebas 185

INDICE DE TABLAS

Pag.

Tabla 1 Características de Hardware Utilizado 26Tabla 2 Identificación de Riesgo 32Tabla 3 Riesgos relacionados a los procesos 33Tabla 4 Riesgos relacionados al personal 33Tabla 5 Riesgos relacionados a la tecnología 34Tabla 6 Descripción de caso de Uso: Ingresar a la aplicación 52Tabla 7 Descripción de Caso de Uso: Ingresar Usuario 53Tabla 8 Descripción de Caso de Uso: Seleccionar Empresa 53Tabla 9 Descripción de Caso de Uso: Ingresar Empresa 54Tabla 10 Descripción de Caso de Uso: Auditar Empresa 55Tabla 11 Descripción de Caso de Uso: Conectar a Servidor 56Tabla 12 Descripción de Caso de Uso: Auditar Services Packs 56Tabla 13 Descripción de Caso de Uso: Auditar Recursos

Compartidos 57Tabla 14 Descripción de Caso de Uso: Auditar Procesos

en Ejecución 57Tabla 15 Descripción de Caso de Uso: Auditar Servicios

Levantados 58Tabla 16 Descripción de Caso de Uso: Auditar Disco 58Tabla 17 Descripción de Caso de Uso: Auditar Puertos 59Tabla 18 Descripción de Caso de Uso: Auditar GPOS 59Tabla 19 Descripción de Caso de Uso: Auditar Administradores

Locales 60Tabla 20 Descripción de Caso de Uso: Auditar Administradores

de Dominio 60Tabla 21 Descripción de Caso de Uso: Auditar Claves

que no caducan 61Tabla 22 Descripción de Caso de Uso: Comparar Auditorías 61Tabla 23 Descripción de Caso de Uso: Parametrizar Buenas

Prácticas 62Tabla 24 Descripción de Caso de Uso: Generar Reportes 62Tabla 25 Características de los equipos de desarrollo 136Tabla 26 Características de medición en las pruebas 178Tabla 27 Nomenclatura de Objetos 212Tabla 28 Componentes/Objetos 142Tabla 29 Características de pruebas y funcionalidad aprobar 178Tabla 30 Pruebas de Usabilidad 212

INTRODUCCION

El presente proyecto se ha denominado “Sistema de Diagnóstico deSeguridades para Sistemas Operativos Windows” y es una solución

dirigida a los Auditores de Sistemas como herramienta facilitadora de

revisión.

Su Objetivo principal es conocer la información crítica relacionada con las

seguridades de Sistemas Lógicos donde exista la plataforma Windows y la

administración de usuarios, computadoras, políticas, etc. a través del

Directorio Activo en un ambiente empresarial con la finalidad de poder

evaluar y aplicar si fuera necesario las prácticas recomendadas para una

seguridad más eficiente.

La investigación se fundamenta en dos importantes temas: Active Directoryque es una herramienta que permite albergar todo tipo de objetos

relacionados con usuarios y políticas que son el eje fundamental de la

seguridad y es utilizada por la mayoría de Empresas en la actualidad y

también S.O. Windows donde hemos seleccionado ciertos aspectos

importantes en las seguridades como son los Services Pack, puertos,

Recursos Compartidos, puertos, Administradores Locales ya que de ellos

depende que el S.O. posea seguridades muy robustas y evitar posibles

2

vulnerabilidades y posteriormente ataques si no son manejados

correctamente.

Este tema tuvo un marcado interés profesional ya que es de mucha

importancia en la actualidad porque nos permitirá aplicar conocimientos

técnicos en la elaboración de software y llevar a la práctica conceptos de

Auditoria enfocados en la seguridad de la información.

En el marco de la metodología MSF (Microsoft Solutions Framework) la

investigación se realizó siguiendo cada fase y aplicando de manera sencilla y

comprensiva la plantilla de desarrollo de proyectos descrita por la misma.

Cada fase es marcada en un capítulo reflejando su estructura. Esta

metodología es aplicada en los últimos tiempos por profesionales IT que

buscan elevar la calidad de entrega de soluciones en Tecnología. Una

característica primordial es que realiza una combinación de tareas de las

metodologías convencionales para desarrollo de software como son el de

Cascada y espiral y fortalece el trabajo en equipo.

Finalmente el proyecto refleja el desarrollo de cada alcance definido

obteniendo así los objetivos planteados y brindando un producto final acorde

con las expectativas.

3

CAPITULO 1

1. FASE DE VISIONADO

1.1 Oportunidad de negocio

CASO LEYCORP

Para poder explicar la oportunidad de negocio del presente proyecto

detallaremos los antecedentes de la empresa LEYCORP.

LEYCORP es una empresa ecuatoriana dedicada a brindar servicios

de Consultaría Legal, lleva apenas 2 años en el mercado y ha logrado

obtener hasta el momento una mediana cartera de clientes entre ellos

figuran empresas en su mayoría privadas.

4

Cuenta con personal capacitado en la rama y también maneja su

centro de operaciones tecnológicas con personal IT los cuales reciben

capacitación constante para un trabajo más óptimo.

LEYCORP ha decidido poner énfasis en la seguridad de sus equipos

informáticos otorgando a su personal de auditoría corporativa una

herramienta que facilite la recolección de evidencia al realizar las

Auditorias de Sistemas y que les permita llevar un historial de cada

caso donde se aplicare.

Con este sistema la empresa pretende mejorar sus Servicios para así

ser considerada la firma con “resultados oportunos en el momento

oportuno” y brindar un servicio de calidad.

La mencionada Compañía ha decidido contratar nuestros servicios

para crear una herramienta capaz de Auditar las seguridades de una

PC o Servidor.

Entre las principales características requeridas por el cliente

tenemos:

Extraer información de Active Directory y Windows Server.

5

Dicha información debe ser comparada con las buenas

prácticas para las seguridades básicas de Windows.

Generar reportes que faciliten el análisis de cada auditoría y

mantener un historial.

La propuesta planteada para LEYCORP es construir una herramienta

capaz de diagnosticar las seguridades de una plataforma Windows, las

cuales se ajustan a las necesidades anteriormente detalladas

garantizando fielmente la calidad del producto final.

Con el “Sistema de Diagnostico de Seguridades Windows” LEYCORP

obtendrá los siguientes beneficios:

Facilidad de trabajo de campo para el equipo de Auditores

Corporativos.

Ahorro de tiempo.

Disponibilidad de Recursos.

Accesoria, capacitación y soporte de la herramienta.

Cabe indicar también que el Sistema puede ser implementado para

Auditores que ejercen su profesión dando consultaría a diferentes

empresas o son parte de firmas Auditoras que prestan sus servicios

6

para ejecutar auditorías empresariales, garantizando su fácil uso y

gozan de todos los beneficios que esta puede brindar.

En la actualidad es muy importante que las Empresas se preocupen

por implementar herramientas que apoyarán al personal de Auditoría

y seguridad Informática para detectar problemas presentes y futuros.

Algunas características que marcan las vulnerabilidades en la

seguridad informática de una red empresarial podemos citar las más

importantes:

Falta de implementación de un Firewall.

Falta de actualización de Services Packs y Antivirus.

Falta de cultura de seguridad entre los miembros de una

empresa.

Acceso sin ninguna restricción a la Web.

Permisos a información crítica sin ninguna restricción.

Políticas de accesos mal enfocados, etc.

Cuando una empresa es víctima de estas vulnerabilidades se genera

una serie de inconvenientes y consecuencias provocando un impacto

considerable como podemos ilustrar:

7

En un reciente informe publicado por IBM Informations Systems

muestra las tendencias estadísticas sobre vulnerabilidades, malware,

virus, spam etc. donde se destaca la proliferación de ataques que

explotan vulnerabilidades, el crecimiento de robo de información

confidencial para efectuar fraudes. Se ilustra a continuación:

Figura 1.1

Pérdida de ingresos Reputación dañada

Pérdida de datos oriesgo de los mismos

Daño a la confianzade los inversionistas

Consecuenciaslegales

Interrupción de losprocesos

empresariales

Daño a la confianzade los clientes

8

Es de vital importancia entonces que existan sistemas seguros en

una red corporativa para garantizar el buen desempeño de misma. La

implementación de un Sistema de diagnostico de seguridades ayuda a

cumplir con este objetivo.

1.2 Concepto de la Solución

Como contribución a la solución de la problemática se requiere crear

una solución para Auditoría de sistemas que ayude al usuario final

(auditor) a optimizar su trabajo de campo, con el cual se pretende

diseñar un sistema que permita diagnosticar las seguridades del

Sistema Operativo Windows, usuarios y objetos en una red

corporativa.

Figura 1.2

9

Para llegar a la solución, el enfoque de este proyecto se apoyará en

los conceptos de Seguridades en Windows y en Directorio Activo

(Active Directory).

El Directorio Activo (Active Directory) es una herramienta que

almacena y controla todos los objetos existentes en la red y puede

ponerlos a disposición de otros usuarios autorizados para acceder a

esta información. Puede controlar usuarios de todo tipo, políticas, etc.

El enfoque para Windows enfatizará en algunos aspectos de las

seguridades del S.O. Windows como son los Services Packs y

Puertos, Recursos compartidos y Administradores por ser

considerados como focos de vulnerabilidad si no son manejados

adecuadamente.

1.3 Visión

Con la implementación de una herramienta de diagnóstico de

seguridades en Windows el auditor optimiza su trabajo y beneficia a

sus clientes con un mejor control, aplicación de buenas prácticas y

mitigación de riesgos asociados con ataques a la seguridad.

10

1.4 Beneficios

Los beneficios que otorga esta herramienta son para el Auditor y la

empresa que este audite. Se beneficiará en:

Trabajo de campo más rápido y confiable.

Análisis de aspectos que son poco considerados en las

auditorías.

Control de revisiones históricas.

Rapidez en la obtención de resultados.

Aplicación de Buenas Prácticas en la auditoría.

Estos beneficios conllevan a que la empresa auditada tenga lo

siguiente:

Información más segura.

Reducción de los peligros de ataques informáticos.

Mayor confianza y credibilidad.

Flujo normal de procesos.

11

1.5 Metas

La principal meta de este proyecto es lograr un producto que cumpla a

cabalidad las expectativas generadas en el concepto de solución,

entregando un producto final que cumpla con estándares tanto

funcionales y de programación brindando al auditor la completa

confianza de uso siendo implementado en su vida cotidiana.

1.6 Objetivo General

El objetivo más importante y que se debe mantener presente es:

“Desarrollar un sistema de auditoría que emita un diagnóstico

producto de la extracción de información almacenada en Active

Directory y concerniente a la seguridad de un S O Windows

instalado y que permita la aplicación de mejores prácticas para la

administración de la seguridad.”

1.7 Objetivos Específicos

Los objetivos que se deben cumplir y que conllevan al cumplimiento

del objetivo general son los siguientes:

12

Desarrollar la herramienta aplicando estándares de

programación y una adecuada planificación.

Aplicación de los conceptos, métodos y buenas prácticas de

auditoría obtenidos en el transcurso del seminario para obtener

un producto de calidad.

Extraer información de Active Directory y Windows Server.

Almacenar y aplicar a la información obtenida seguridades de

encriptación y permisos.

Aplicar control de versionamiento para los datos obtenidos las

veces que se realice el diagnóstico y mantener un historial para

cada caso.

Aplicar la revisión y análisis de la configuración.

Emitir reportes gerenciales con la conclusión del diagnóstico.

1.8 Requerimientos

El sistema de diagnóstico de seguridades para Windows Server debe

hacer lo siguiente:

Capacidad de conectividad con Windows 2000 y 2003 Server.

13

Conexión a la red LAN mediante usuario administrador

asignado.

Ingresar a la herramienta con usuario y password que fue

creado por un administrador.

Establecer conexión producto del ingreso de ip de servidor,

dominio, usuario, password.

Extraer información de seguridad de Windows, directorio Activo

y compararla con valores parametrizados como buenas

prácticas.

Almacenamiento de la información obtenida en la Base de

Datos.

Capacidad de versionar cada revisión para futuras

comparaciones.

Emisión de reportes con resultados.

1.9 Alcances

La aplicación tendrá las siguientes características:

GUI completa y funcional, ya que brindará al usuario final

(auditor) una interfaz amigable y de fácil utilización.

14

Conectividad con los sistemas operativos Windows 2000 y 2003

Server, Windows XP, que son los Sistemas operativos que

sirven de plataforma a la mayoría de empresas en el medio.

Recuperación de la información obtenida del Active Directory,

Esquema de versionamiento para poder almacenar revisiones

en cada caso.

Parametrización de las mejores prácticas de los SO Windows

Server y Active Directory, que permitirá grabar valores para

establecer la comparación.

Almacenamiento de información y análisis de la misma de

forma automática.

Capacidad de análisis y presentación de resultados (reportes).

Revisión y análisis de Services Packs.

Descripción de puertos abiertos.

Listado de grupos de políticas de las OU, es importante tener un

listado debido a que en las GPO’s (Group Police

Organizacional) se definen las opciones de configuración de los

15

objetos del Active Directory, es decir que se tiene el control

administrativo sobre los usuarios y sus ordenadores en una red.

Listado de propietarios de las OU, todo dominio y dominio hijo

pueden ser divididos en subestructuras conocidas como

Unidades Organizacionales (OU). Los objetos dentro de una

OU son organizados con propósitos administrativos por lo que

es importante conocer el listado de acceso y de los propietarios.

El delegar la responsabilidad de la administración de las OU es

muy importante para hacer del AD una herramienta valiosa a la

hora de seguridad en un ambiente Windows.

Listado De control de acceso a OU.

Listado de usuarios cuya clave nunca caduca, importante tener

este listado para conocer que estos usuarios no les caduca la

clave, ya que esto puede ser un hueco en la seguridad.

Almacenamiento del resultado de cada uno de los puntos

anteriores. al momento de realizar la auditoría los resultados

encontrados serán almacenados en la base de datos para

conservar los datos.

16

Contar con una herramienta que luego de la instalación, con el

usuario apropiado se conectará al Windows Server (2000 ò

2003) que contenga el Active Directory.

Luego de realizar la instalación, se interactuará de manera que

se recuperará información como seguridad de usuarios, objetos

y cualquier otro parámetro de seguridad ya definido

anteriormente.

A partir de esto se realizará un diagnóstico de la información

recuperada con las mejores prácticas parametrizadas o normas

establecidas por parte de Microsoft. Toda esta información se

guardará en una base de datos para poder realizar un análisis

completo en el tiempo.

La base de datos se la realizará bajo el modelo relacional y se

implementará un diseño y documentación del mismo de

acuerdo a la metodología propuesta.

Se utilizará una herramienta para la elaboración de reportes en

la que se pueda brindar los diferentes análisis realizados por la

herramienta, estos van a tener características gerenciales.

17

1.9.1 Fuera de Alcance

En este proyecto no se considerará la revisión de sistemas

operativos que no estén soportados por Microsoft como es

el caso de Windows NT.

Vale recalcar la aclaración que esta herramienta no servirá

para plataformas diferentes de Windows.

1.10 Estructura Del Proyecto

1.10.1 Creación del Equipo de trabajo y asignación de roles

El Recurso Humano destinado para la elaboración de este

proyecto se detalla a continuación:

JUAN CARLOS VALAREZO SOTO

WILSON ALEJANDRO QUIROGA SIERRA

JOHANNA ESTHER CHECA RODRIGUEZ

Todos los detallados anteriormente son estudiantes de la

carrera de Ingeniería en Sistemas Computaciones y con el

siguiente perfil:

18

JUAN CARLOS VALAREZO

Ocupación Actual

Soporte de Usuarios-Help Desk

ORGANIZACIÓN

Reybanpac-Grupo Wong

Dirección: Pradera 2 Mz d27 v 6

Teléfono: 092361330

Email: [email protected]

WILSON QUIROGA SIERRA

Ocupación Actual

Soporte de Usuarios – Implementador

Organización

Reybanpac- Grupo Wong

Dirección: Sauces 2

Teléfono: 098390250

Email: [email protected]

JOHANNA ESTHER CHECA RODRIGUEZ

Ocupación Actual

Operadora CC

19

Organización

Reybanpac-Grupo Wong

Dirección: Alborada 11va etapa

Teléfonos: 086837080

Email: [email protected]

1.11 Roles

Asignar roles dentro del desarrollo de un proyecto es de gran

importancia para que el proyecto sea manejable. Los miembros del

equipo mantendrán comunicación durante todas las fases de l

proyecto.

Se detallan los roles a continuación:

Gestor de Producto

Gestor de proyecto

Desarrollo

Pruebas

Experiencia de usuarios

Gestores de producto, proyecto y desarrollo serán asumidos por:

20

Juan Carlos Valarezo Soto

Wilson Quiroga Sierra

Johanna Checa Rodríguez

Los roles de pruebas y experiencia de usuarios se otorgan a personas

ajenas al grupo de trabajo y demás personas encargadas de evaluar la

situación de nuestro proyecto quienes se encargarán de revisar y

corregir según sus conocimientos y experiencias propias para realizar

las correcciones pertinentes.

Las responsabilidades de cada rol se detallan a continuación:

1.11.1 Gestor de Producto

Encargado de:

Asegurar que el equipo comprenda las los requerimientos del

tema.

Asegurar que se establezca una visión común del proyecto.

Que el plan cumpla con los requerimientos del usuario final.

Colaboración con el gestor del proyecto.

21

1.11.2 Gestor De Proyecto

Encargado de:

Organizar la infraestructura del proyecto

Definir factores y métricas de diseño

Responsable del diseño general

Creación de planes y calendarios

1.11.3 Desarrollo

Encargado de:

Creación de de diseño lógico y físico.

Desarrollo de código.

Resolución de problemas en la fase de pruebas.

Optimización de código.

1.11.4 Roles Externos

1.11.4.1Pruebas

Encargado de:

Especifican las acciones que se necesitarán para

alcanzar el nivel de calidad.

22

Evaluar el diseño par determinar que características

pueden ser probadas.

Probar la aplicación y comunicación de errores.

1.11.4.2 Experiencia de usuarios

Considerar las implicaciones del producto para que

cumpla con las necesidades.

Asegurar que el usuario final pueda utilizar el producto.

Realizar pruebas de Usabilidad.

1.12 Estándares Del Proyecto

Para el desarrollo del proyecto el equipo de trabajo se reunió y tomo la

decisión de trabajar con MICROSOFT SOLUTION FRAMEWORK

(MSF), la misma que es una metodología abierta que permite su

especialización para cada desarrollo en particular.

La siguiente ilustración presenta el proceso evolutivo de la

metodología y sus fases:

23

El modelo de proceso de desarrollo de MSF describe un ciclo de vida que

puede ser usado para el desarrollo de software de manera exitosa,

estableciendo el orden en el cual se deben desarrollar las actividades.

Este modelo consiste de cinco fases. Cada fase del desarrollo termina

con un hito visible tal como lo vamos a describir a continuación:

Visión.- En esta fase definimos los objetivos generales del proyecto. El

hito termina con la visión y alcance aprobados.

Planeación.- Se creará un borrador del plan maestro del proyecto

además del cronograma del proyecto y de la especificación funcional del

proyecto. El hito de esta fase termina con el plan de proyecto aprobado.

Figura 1.3

24

Desarrollo.- En esta fase tenemos una serie de versiones internos de los

productos desarrollados por partes para medir su progreso y para

asegurarnos que todos los módulos o partes se encuentran

sincronizadas y que pueden integrarse. El hito termina con el alcance

completo en su codificación.

Estabilización.- En esta fase nos vamos a centrar en probar el producto

que hemos desarrollado. El proceso de prueba hace énfasis en el uso y

funcionalidad del producto, en las condiciones de ambiente real, para

esto se prepara un ambiente de trabajo con las máquinas que tenemos a

nuestra disposición.

Implantación.- En esta fase se implementa la tecnología y los

componentes utilizados en la solución. Se apoya el funcionamiento y la

transición del proyecto y se obtiene la aprobación final del cliente.

También se aplicará las conclusiones y recomendaciones que se hayan

obtenido en el transcurso del proyecto.

También presenta la ventaja de utilización de plantillas para todas las

fases, donde se detalla cada tarea a realizar con la descripción de su

utilización.

Cada cambio se controla con plantillas que deben contener las firmas de

aprobación.

25

La metodología establece comunicación con el cliente desde el inicio a

finalización del proyecto.

1.13 Plantilla de Control de Cambios

La metodología admite utilización de plantillas para el control de cambios

durante todo el proceso de desarrollo del proyecto:

NOMBRE DEL PROYECTO

Fecha: (DD de MMM de AAAA)

AutorPosición del autorFecha de Creación

Version:

Registro de CambiosFecha Autor Version Referencia

decambios

ReviewersNombre Versión aprobada Posición Fecha

Revisiones y Firmas

Registro de CambiosFECHA AUTOR VERSION REFERENCIA

DE CAMBIOS

Revisado porNOMBRE VERSION

APROBADAPOSICION FECHA

Aprobado porNOMBRE POSICION FECHA

Informacio del documentoAspecto DescripciónTitulo del DocumentoElaborado porFecha de creaciónUltima modificacion

Figura 1.4

26

1.14 Recursos

1.14.1 Recursos Asignados para Hardware

Los recursos asignados para la elaboración de la herramienta

requerirá la utilización de:

2 portátiles donde se trabajará el desarrollo de la

herramienta.

Una Desktop que será el servidor con Windows 2003

Server y administrará la red a través del Active Directory.

BELKIN Wireless G Router que actuará como ruteador

en la red.

Características de los Equipos:

COMPONENTE PORTATIL DESKTOPPROCESADOR Cetrino Duo Celaron

2.8 GhzRAM 512 MB 1.5 GBDISCO 80GB 80 GB

1.14.2 Recursos Asignados para Software

Las herramientas necesarias para obtener el producto final se

detallan a continuación:

Tabla 1

27

Microsoft Visual Studio 2005 Team Edition

Herramienta de programación a utilizar: Microsoft Visual Basic

2005: esta herramienta nos ofrece muchas ventajas de

programación como:

Generación automatizada.

Control de código fuente.

Reducción de trabajo repetido.

Base de Datos: Microsoft SQL 2000Por tener ventajosas características como:

Facilidad de instalación y distribución por tener

varias herramientas administrativas.

Por escalabilidad.

Todos los miembros lo conocen.

Cristal Report 9

Facilitan la presentación de reportes y brinda

flexibilidad ya que permite exportación a

herramientas de office.

Se integra fácilmente con herramientas .Net.

Transforma cualquier fuente de datos en contenido

interactivo.

28

Office 2003

Herramientas como Word, Excel, PowerPoint para elaboración

de documentación y presentaciones por ser las dominadas por

los miembros.

.

1.15 Limitaciones

Para definir las limitaciones del proyecto debemos categorizar por:

Limitaciones del Hardware.

Limitaciones de Software.

Limitaciones del Recurso Humano.

1.15.1 Limitaciones en el Hardware

Una de las principales limitaciones del hardware es la poca

memoria ya que podría tornarse un obstáculo en la implementación

del ambiente donde funcionará el producto ya que necesitamos

realizar simulaciones de la red Lan con un Server con Active

Directory y esto va a requerir uso de maquinas virtuales las cuales

necesitan como mínimo 1 GB de RAM lo que permitía un

funcionamiento muy limitado.

29

Otra limitación es el Acceso a las máquinas de laboratorio para

implementar el ambiente ya que estas se encuentran disponibles

en horarios inaccesibles para los miembros del proyecto y solo

contaríamos con horarios nocturnos los días asignados al tópico.

La red construida para el desarrollo del proyecto, cuenta con un

dispositivo router BELKIN Wireless G Router el cual tiene

características limitadas que contribuyen a los problemas típicos de

red.

1.15.2 Limitaciones del Software

Visual Basic 2005 mejora totalmente sus conceptos pero es una

herramienta con aspectos variantes a los acostumbrados en Visual

Basic 6 y este aspecto puede ser un obstáculo que a la larga se

puede superar entre los miembros del equipo.

Otra limitación obvia pero vale la pena indicarla es que el Sistema

solo funcionará en ambientes Microsoft ya que será creada bajo

estos lineamientos.

30

1.15.3 Limitaciones del Equipo de Trabajo.

El uso de las herramientas expuestas anteriormente han sido

escogidas según conocimiento de los miembros del equipo, pero

pueden existir inconvenientes al utilizarlas ya que no son

totalmente dominadas (Visual Basic 2005). Solo ha sido aplicada

en base a casos básicos y practicados según el caso. No es una

herramienta de uso cotidiano para la mayoría del equipo. En

general el equipo se siente identificado con la herramienta y

conoce sus bases Orientados a Objetos.

El factor laboral impide en cierta proporción que se cumpla de

manera óptima el desarrollo del proyecto ya que debe estar

también sujeto a complicaciones que hagan que de un momento a

otro uno de los miembros se ausente.

1.16 Estimados Del Proyecto

1.16.1 Estimación de Costo

TIEMPO ASIGNADO AL PROYECTO: 5 MESES

NUMERO DE PERSONAS INVOLUCRADAS: 3 PERSONAS

HORAS/MES: 80

31

ESTIMACION DE COSTO

HARDWARE COSTO ANUAL

3 LAPTOP DUAL CORE 3GB RAM $ 1.0003 FLASH MEMORY $ 661 IMPRESORA HP LASER $ 851 RUTEADOR LINKS INALAMBRICO $ 56100 PIES DE CABLE UTP CATEGORIA 6 $ 40SERVIDOR HP DUAL CORE 3GHZ INTEL XEON 1.144,17$

SOFTWARE3 LICENCIAS DE VISUAL STUDIO 2005 STANDARD 177,20$1 licencia de business objects crystal report 11 289,51$

2.857,88$x 6 meses 1.429,00$

TOTAL HARDWARE + Software 1.429,00$RECURSOS HUMANOS3 programadores 2.100,00$Total RECURSOS HUMANOS 2.100,00$

GASTOS VARIOSServicio de internet 375,00$Utilies de oficina 200,00$Arriendos 750,00$Luz 250,00$Agua 50,00$Telefono 150,00$

1.775,00$TOTAL GASTOS VARIOS 1.775,00$COSTO TOTAL 5.304,00$BENEFICIO 74.696,00$TOTAL 80.000,00$NUMERO DE COPIAS 200PRECIO DE VENTA 400,00$

32

1.16.2 Estimación De Tiempo

El cronograma de tiempo se base en el tiempo estipulado por la

duración del Programa de Seminario, el cual se detalla en el

ANEXO 1

1.17 Análisis de Riesgo

El riesgo puede definirse como un suceso no deseado y esta presente

siempre en todo lo que se emprenda. El proyecto implica muchos

riesgos que se pueden presentar durante el ciclo de desarrollo del

software y que identificaremos los que necesitan más atención para

poder mitigarlos con alguna acción preventiva.

1.17.1 Identificación De Riesgos

1 Falta de cumplimento del tiempo estimado para el desarrollo delsoftware

2 Incumplimiento de alcances3 Cambio en los requerimientos4 Actividades postergadas5 Poco entendimiento de los requerimientos6 Actividades implícitas no detalladas7 Falta de análisis para la solución8 Falta de comunicación entre los miembros del equipo9 Incumplimiento de reuniones

10 Modificación de alcances11 Calamidades presentadas a los miembros del equipo12 Perdida de información13 Problemas para preparar el ambiente de pruebas14 Gastos adicionales inesperados15 Hardware no disponible16 Falta de conocimiento de la herramienta para desarrollar

33

17 Usuario final insatisfecho18 Cambios inesperados19 Cambios no controlados20 incumplimiento de roles de equipo21 Sobredimensionar el proyecto

1.17.2 Categorización De Los Riesgos

Riesgos Relacionados a los Procesos

1 Falta de cumplimento del tiempo estimado para eldesarrollo del software

2 Incumplimiento de alcances3 Cambio en los requerimientos4 Actividades postergadas5 Poco entendimiento de los requerimientos6 Actividades implícitas no detalladas7 Falta de análisis para la solución

10 Modificación de alcances12 Perdida de información14 Gastos adicionales inesperados18 Cambios inesperados19 Cambios no controlados21 Sobredimensionar el proyecto

Riesgos Relacionados al Personal

8 Falta de comunicación entre los miembros del equipo9 Incumplimiento de reuniones

11 Calamidades presentadas a los miembros del equipo16 Falta de conocimiento de la herramienta para desarrollar17 Usuario final insatisfecho20 incumplimiento de roles de equipo

Tabla 2

Tabla 3

Tabla 4

34

Riesgos Relacionados a la Tecnología

13 Problemas para preparar el ambiente de pruebas15 Hardware no disponible

1.17.3 Estimación de los Riesgos

Probabilidad del riesgo

Se presenta una escala de probabilidad de que el riesgo ocurra:

1-30 % Probabilidad Baja

31-70% Probabilidad Media

71-100% Probabilidad Alta

Impacto del riesgo

Se presenta una escala del efecto que tendría la ocurrencia del

riesgo:

1-3 Bajo

4-7 Medio

8-10 Alto

100 Catástrofe

Tabla 5

35

Exposición

Esta variable se calcula multiplicando la probabilidad por

el riesgo. Esta identificara cual es el mayor de los

riesgos.

Exposición = Probabilidad * Impacto

La matriz de riesgo se detalla en el ANEXO 2

36

CAPITULO 2

2. FASE DE PLANEACION

2.1 Escenarios de Uso

La aplicación se describe en el siguiente escenario:

El auditor asignado para la revisión tendrá la herramienta de

Diagnostico de Seguridades instalada en su equipo de trabajo, el cual

pedirá se le asigne una dirección IP para ingresar en la red

corporativa, y paralelamente se le creará o asignará un usuario

especial con los permisos de Administrador.

Acto seguido realizará la conexión a la red utilizando los medios

facilitados (usuario y password asignados) permitiendo el acceso a los

Servidores destinados a la revisión. Este puede tener 2 tipos de

37

revisiones. Windows y Active Directory pudiendo aplicar a un servidor

las 2 revisiones pero con a condición de que este sea un Controlador

de Dominio.

Con la conexión establecida podrá auditar parámetros como Services

packs, puertos recursos compartidos (directorios), usuarios

administradores. Adicionando a esto grupo de políticas, claves que no

caducan, etc. Si se tratara del Active Directory.

La herramienta permite además de servidores conectarse a Desktops

aplicando los mismos conceptos de revisión exceptuando el Directorio

Activo.

La administración de usuarios de la herramienta estará a cargo de un

administrador que podrá crear, consultar, modificar usuarios, esto

podrá ser aplicado desde su equipo.

La extracción de la información se guardará en una base de datos que

permitirá aplicar la recuperación de información para su análisis y en

general administrarla correctamente.

La siguiente figura ilustra un escenario donde operará la herramienta.

38

Otro escenario se pone en marcha cuando la aplicación es adquirida

por una empresa y ejecutada desde sus instalaciones con el personal

corporativo.

En este caso, el implementador de la herramienta configura los ODBC

correspondientes para el acceso a la base de datos instalada en un

Servidor. Acto seguido el auditor administrador solicita un usuario la

conexión con el servidor para que ejecuten las auditorias. Se ilustra

en la siguiente figura:

Figura 2.1

39

Otro escenario que puede presentarse es cuando se contrata el

servicio de Auditoría y el auditor ejecuta la herramienta en su equipo

de trabajo. Empieza con el requerimiento del auditor para que su

equipo sea matriculado en la red empresarial y ejecutar la auditoria.

Acto seguido se otorga una cuenta administradora para conectarse al

dominio junto con la ip del servidor para auditar. Con estos pasos el

auditor se encuentra listo para iniciar su revisión. La explicación puede

ilustrarse en la siguiente figura:

Estación de trabajo

Servidor

DB

USER ADMIN Configura elODBC usandouser ADMIN

IMPLEMENTADOR

AUDITOR

SISTEMA DEDIAGNOSTICO DE

SEGURIDADES

Solicita creaciónde usuarioadministrador y laip para realizarconexión conequipo a auditar

Estación de trabajo

La aplicaicon yase encuentra en

marcha y seempieza la

auditoria

Como mínimo SQL200

Figura 2.2

40

2.2 Diseño conceptual

Nombre del Sistema: SAW “Sistema de Auditoría Windows”.

Para aplicar un diseño conceptual a la solución, debemos tomar en

cuenta los distintos actores y procesos que intervendrán. Esto es, por

ser una herramienta para auditoria, el principal actor es el AUDITOR el

cual se encargará de administrar la herramienta a nivel de:

Administración de usuarios y compañías.

Auditoria de Servidores.

Parametrización de Buenas Prácticas.

Revisión de Auditorias ejecutadas en el tiempo.

Equipo personal

Portátil

SISTEMA DEDIAGNOSTICO

Ingresa el equipoal dominio

AUDITOR

Portátil

DOMINIO

Datos IMPLEMENTADOR

AUDITOR Solicita creaciónde cuenta deusuario paraingresar aldominio

Solicita creaciónde usuario

administrador y laip para realizar

conexión conequipo a auditar

Portátil

Maquina delauditor esta en el

dominio y listapara auditar

Figura 2.3

41

Generación de reportes.

Existen otros actores que Como son WINDOWS Y ACTIVE

DIRECTORY cumplen la una función Importante como es la de

proporcionar la Información necesaria.

Administración de Usuarios

A nivel de usuarios el Auditor podrá crear nuevos usuarios, consultar

y modificar. Cabe destacar que estos Usuarios pueden ser asignados

3 clases de Roles: Administrador, Auditor y Reporteador.

El Administrador tiene toda la potestad de manejar todo el Sistema.

Podrá:

Ingresar nuevos Usuarios.

Consultar usuarios existentes en la base de datos.

Modificar la información de Usuarios.

Ingresar nuevas empresas para la auditoría.

Consultar la información de las empresas almacenadas

en la base de Datos.

Modificar la información de las empresas creadas.

Desbloquear usuarios.

Inicializar claves de los usuarios.

42

Auditoría de Servidores de una Empresa

Para la realización de la auditoría el usuario seleccionado debe

realizar una Conexión con el Servidor destinado para la auditoría, el

cual requerirá el usuario de red, el password del usuario de red, la ip

o Nombre del Servidor y el Dominio de la empresa. Estos datos son

imprescindibles para la realización de la auditoría.

Luego de realizada la conexión, la empresa puede realizar auditoria a

Windows o Active Directory.

La información que se podrá extraer de Windows son:

Services Pack.

Recursos Compartidos.

Procesos en ejecución.

Servicios levantados.

Espacio en disco.

Puertos abiertos.

Para Active Directory:

GPO.

Administradores de Dominio.

Administradores Locales.

Usuarios cuya clave no caduca.

43

Parametrización de Buenas Prácticas

En la parametrización se permitirá ingresar valores que evaluarán si el

sistema se encuentra cumpliendo con los requisitos para la seguridad.

Se ingresará el último Services Pack, porcentajes para evaluar disco,

lista de puertos que necesitan tener mayor control.

Esta información será de vital importancia ya que definirá el

diagnostico de la auditoría. El Auditor debe utilizar su conocimiento

para ingresar esta información, ya que el será el que defina los

parámetros necesarios para obtener una correcta información.

Comparación De Auditorías

La comparación permitirá obtener un historial de cada empresa que se

audite a nivel de servidores. Almacenará la fecha de auditoria lo que

permite mostrar a través de un reporte información de esta ejecución

por ejemplo la identificación del auditor, qué información se extrajo la

fecha y hora, el cual se comparará con una fecha posterior para

establecer un seguimiento de los resultados.

44

Generación de Reportes

Los reportes serán presentados con Cristal Report donde se

elaborarán listados a nivel de usuarios, empresas, auditorías, etc. Los

cuales se podrán imprimir y analizar para toma de decisiones.

El rol Administrador no tendrá ninguna restricción en la ejecución del

sistema. Este súper usuario se encargará de:

Crear, consultar y modificar usuarios y empresas.

Desbloquear Claves.

Inicializar claves.

Auditar.

Comparar.

Parametrizar.

Ejecución de reportes.

El rol Auditor tendrá los siguientes privilegios

Auditoría.

Comparación.

Parametrización.

Reportes

El rol REPORTEADOR tendrá los siguientes privilegios:

45

Comparación de Auditorías.

Generación de reportes.

La información que corresponde a claves de usuario se manejará bajo

el esquema de encriptación para otorgar seguridad a los datos.

2.3 Arquitectura de la solución.

La arquitectura del Sistema describe el “Cómo” trabaja el diseño

conceptual Del Sistema de Diagnostico de Seguridades Windows

“SAW” demostrando como las características y funciones operan

conjuntamente para formar la solución.

Este diseño arquitectónico presenta una descripción de las

características en un ambiente funcional e integrado, lo que permite

al cliente visualizar la solución en su ambiente. Esta arquitectura no se

expresa en detalles técnicos, pero de una manera retrata la solución

donde todas piezas encajan técnicamente.

46

El siguiente grafico ilustra la arquitectura del Sistema con sus

componentes y cómo interactúa con el ambiente donde se instale y el

usuario.

47

Estación de trabajo

SAW “Sistema de Diagnostico de Seguridades Windows”

Administración deUsuarios yEmpresas

Comparación deAuditorías

Auditoría deServidores o Pc

ParametrizarBuenas Practicas

Generación deReportes

DB SAW

Estación de trabajo Portátil

AUDITOR

El sistema y laBase de Datosson Instaladosen la Portátil oEstación deTrabajo delAuditor

Servidor

Crear, Consulta yModificar Usuarios y

Compañias

Conectar

Extraer SP,Recursos

Compartidos,Puertos, Discos

GPO,Administradores

de Dominio yLocales

Reportes de:UsuariosEmpresasAuditorias

IngresarParametros para

Puertos, SP yDisco

El auditorparametriza estos

datos conrespecto a

buenas practicasde Auditoria

CompararExtracción y

Parametrizacion

PresentarResultados

CompararResultados de

Auditorias Reporte deCambios De2 Auditorias

IngresarAl Sistema con

Usuario,Password y Rol

GUI DE SAW

Figura 2.4

48

2.4 Diagramas de Casos de Usos del “Sistema De Diagnósticode Seguridades Windows” SAW

En la figura ilustramos los principales casos de uso en los cuales los

actores son:

Auditor

S.O. Windows

Active Directory

Figura 2.5

49

Estos actores se comunican con el sistema y participan en el

desarrollo los casos de uso expuestos.

El auditor se encargará de Administrar Usuarios y Compañías,

Auditar, Comparar Auditorias, Parametrización de Buenas

Practicas y Generación de reportes.

Todos los casos de uso anteriormente detallados excepto

Administración de usuarios y compañías usan el caso de uso

Seleccionar empresa, es decir que dependen de la selección de

empresa para que estos puedan ejecutarse correctamente.

Adicionalmente, el caso de uso Auditar usa el caso Conectar a

Servidor ya que depende de que se realice la conexión a aun

determinado servidor para poder realizar las auditorias. El caso Auditar

tiene la participación de los actores Windows y Active Directory.

50

La figura de casos de uso detalla el caso Administrar Usuarios y

compañías donde el auditor se encargará del mantenimiento. Este

caso usa el caso Ingresar a Sistema ya que depende que el auditor

inicie una sesión con un respectivo rol para que se habilite o no el

menú administración.

Figura 2.6

51

La administración estar conformada por Ingresos, Consultas y

modificaciones de usuario o compañías los cuales son casos

extendidos de Administración ya que estos pueden ser o no utilizados

por Administración con variantes según sea el caso.

La figura 9 de casos de usos muestra el detalle del caso Auditar Pc o

Servidor el cual se asocia o comunica con los actores Auditor,

Windows y Active Directory.

Auditar usa el caso Conectar a servidor como se explicó

anteriormente y tiene casos extendidos Auditar Services packs,

Figura 2.7

52

Puertos, discos, Recursos Compartidos, procesos, servicios,

GPO, etc. Ya que este puede o no ejecutar sus extensiones

obteniendo variantes según sea el caso.

Los casos de uso presentan sus descripciones para entender sus

secuencias y se detallan a continuación:

2.5 Descripción de Casos de Uso del “Sistema de Diagnosticode Seguridades Windows” SAW

Nombre: INGRESAR A LA APLICACIÓN ACTORInclusión: NingunaPto. de Inclusión: NingunoExclusión: Ingresar UsuarioPto. de Exclusión: Grabar datos de UsuarioActores: AuditorPrecondiciones Que el usuario existaPostcondiciones: Autenticación valida

1. Se ingresa usuario en el textos auditor2. Se ingresa Usuario en el textos auditor3. Se escoge rol Auditor4. Se hace clic en OK Auditor5. Se presenta menú Inicial Sistema

Restricciones1. Si el usuario es incorrecto presenta mensaje de alerta2. Si el password es mal ingresado, se activa el contador de fallos3. Si no se escoge el rol correcto, presenta mensaje de alerta4. Si se selecciona opción cambiar clave, se llama a estaforma

Tabla 6

53

Nombre: INGRESAR USUARIO ACTORInclusión: NingunaPto. De Inclusión: NingunaExclusión: NingunaPto. de Exclusión: NingunaActores: AuditorPrecondiciones Iniciar sesión correctamente

Postcondiciones:Ingresar un usuarionuevo

1. Seleccionar en menú la opción Auditar2. Se llena los campos con CI, nombre, apellido, dirección, teléfono,mail, status Auditor3. Hacer clic en asignar perfil Auditar4. grabar datos en la base Sistema

5. Visualizar pantalla de asignar perfilSistema

6. Se ingresa usuario, password y rol Auditor7. Clic en grabar Auditor8. Procesar datos Sistema9. Visualizar mensaje de ingreso exitoso Sistema

Restricciones1. Si se escribe cedula incorrecta, mensaje de alerta2. Si hay campos vacíos, mensaje de alerta3. Si no hay campos llenos, no se activa botón de grabar

Nombre: SELECCIONAR EMPRESA ACTORInclusión: NingunaPto. De Inclusión: NingunaExclusión: Ingresar empresaPto. de Exclusión: grabar datos de la empresaActores: AuditorPrecondiciones Que la empresa exista

Poscondiciones:Actualización en lista de empresa

1. Se selecciona una empresa de la lista auditor2. Se activan opciones de menú principal sistema

Restricciones1. Si esta en blanco, no se activan las opciones

Tabla7

Tabla8

54

Nombre: INGRESAR EMPRESA ACTORInclusión: NingunaPto. De Inclusión: NingunaExclusión: NingunaPto. de Exclusión: NingunaActores: auditorPrecondiciones Autenticación correctaPoscondiciones: Ingresar empresa nueva

1. Se selecciona opción auditor2. Ingresar RUC, nombre, dirección, teléfonoRepresentante, status auditor3. Clic en botóngrabar auditor

Restricciones1. si no se ingresaRUC, mensaje dealerta2. si hay campos vacíos, mensaje de alerta3. si se ingresa RUC ya existente, mensaje dealerta

Tabla 9

55

Nombre: AUDITAR EMPRESA ACTORInclusión: Seleccionar empresa

conectar a servidorPto. De Inclusión: seleccionar empresa de la lista

dar clic en conectarExclusión: auditar Services Packs

auditar Recursos Compartidosauditar procesos en ejecuciónauditar servicios levantadosauditar discoauditar puertosauditar GPOAuditar administradores de dominioauditar administradores localesauditar claves que no caducan

Pto. de Exclusión: Extraer Services Packextraer recursos compartidosextraer procesos levantados deWindowsextraer servicios levantados deWindowsextraer información de discoextraer puertos abiertosextraer grupo de políticasextraer administradores de dominioextraer administradores localesextraer claves que no caducan

Actores: Auditor, Windows Active DirectoryPrecondiciones Conexión a servidor exitosaPostcondiciones: seleccionar opción

1. Dar clic en botón auditar auditor2. se presenta pantalla de conexión de servidor sistema3. proceso deconexión. sistema4. visualizar menú de auditoria sistema5. Seleccionar tipo de auditoria auditor6. Visualizar resultados en pantalla sistema

Restricciones1. Si hay error en conexión, no se puede ingresar a menú auditoria

Tabla 10

56

Nombre: CONECTAR ASERVIDOR

ACTOR

Inclusión: NingunaPto. De Inclusión: NingunaExclusión: NingunaPto. de Exclusión: NingunaActores: AuditorPrecondiciones Dar clic en botón auditarPoscondiciones: ingresar datos de conexión

1. Ingresar usuario de red, password, ip,dominio

Auditor

2. Clic en botón conectar auditor3. Proceso de conexión al servidor sistema4. Se visualiza el menú de auditoria sistema

Restricciones1. Si hay campos vacíos, mensaje de alerta2. Si hay campo incorrecto, mensaje de alerta

Nombre: AUDITAR SERVICES PACKS ACTORInclusión: NingunaPto. DeInclusión: NingunaExclusión: NingunaPto. deExclusión: NingunaActores: auditor, WindowsPrecondiciones seleccionar opciónPostcondiciones: extracción services packs de windows

1. seleccionar opción de menú Auditor

2. Proceso de extracción de Services packsistema,Windows

3. presentación de resultados sistema4. grabar a base sistema

Restricciones1. si se parametriza puertos, se presentara mensaje decumplimiento2. si no se parametriza puertos, extraer Services packsactual

Tabla 11

Tabla 12

57

Nombre:AUDITAR RECURSOSCOMPARTIDOS ACTOR

Inclusión: NingunoPto. De Inclusión: ningunoExclusión: ningunoPto. de Exclusión: NingunoActores: Windows, auditorPrecondiciones seleccionar opciónPostcondiciones: extraer recursos compartidos

1. seleccionar opción auditor

2. procesos de extracción de recursos compartidossistema,Windows

3. presentación de resultados sistema4. grabar a base sistema

Nombre:AUDITAR PROCESOS ENEJECUCION ACTOR

Inclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: Windows, auditorPrecondiciones seleccionar la opciónPoscondiciones: extraer la información de procesos de Windows

1. Seleccionar opción de menú auditor2. Proceso de extracción de procesos levantados enejecución

sistema,Windows

3. presentación de información Sistema4. grabar datos extraídos Sistema

Tabla 13

Tabla 14

58

Nombre:AUDITAR SERVICIOSLEVANTADOS ACTOR

Inclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: Windows, auditorPrecondiciones seleccionar la opciónPoscondiciones: extraer la información de servicios de Windows

1. Seleccionar opción de menú Auditor

2. Proceso de extracción de servicios levantados en ejecuciónsistema,Windows

3. presentación de información Sistema4. grabar datos extraídos Sistema

Nombre: AUDITAR DISCO ACTORInclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: Windows, auditorPrecondiciones seleccionar la opción

Poscondiciones:extraer la información de disco deServer

1. Seleccionar opción de menú auditor2. Proceso de extracción de datos de disco del servidorauditado

sistema,Windows

3. presentación de información sistema4. grabar datos extraídos sistema

restricciones1. si se parametriza disco, se presenta mensaje decumplimiento2. si no se parametriza disco, se extraer información de disco

Tabla 15

Tabla 16

59

Nombre: AUDITAR PUERTOS ACTORInclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: Windows, auditorPrecondiciones seleccionar la opción

‘PostcondicionesExtraer datos depuertos

1. Seleccionar opción de menú auditor

2. Proceso de extracción de puertos abiertosWindowsauditor

3. presentación de información sistema4. grabar datos extraídos sistema

RESTRICCIONES1. Si parametriza , presenta mensaje decumplimiento2. si no se parametriza, extraer puertos abiertos

Nombre: AUDITAR GPOS ACTORInclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: ACTIVE DIRECTORY, auditorPrecondiciones seleccionar la opciónPostcondiciones: extraer la información de grupo de políticas

1. Seleccionar opción de menú auditor

2. Proceso de extracción de grupos de políticas de Server auditadosistema,AD

3. presentación de información sistema4. grabar datos extraídos sistema

Tabla 17

Tabla 18

60

Nombre: AUDITAR ADMINISTRADORES LOCALES ACTORInclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: ACTIVE DIRECTORY, auditorPrecondiciones seleccionar la opciónPostcondiciones: extraer la información de administradores locales

1. Seleccionar opción de menú auditor

2. Proceso de extracción de administradores de equiposistema,AD

3. presentación de información sistema4. grabar datos extraídos sistema

Nombre: AUDITAR ADMINISTRADORES DE DOMINIO ACTORInclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: ACTIVE DIRECTORY, auditorPrecondiciones seleccionar la opción

Postcondiciones:extraer la información de administradores dedominio

1. Seleccionar opción de menú auditor

2. Proceso de extracción de administradores de dominiosistema,AD

3. presentación de información sistema4. grabar datos extraídos sistema

Tabla 19

Tabla 20

61

Nombre:AUDITAR CLAVES QUE NOCADUCAN ACTOR

Inclusión: ningunaPto. De Inclusión: ningunaExclusión: ningunaPto. de Exclusión: ningunaActores: ACTIVE DIRECTORY, auditorPrecondiciones: seleccionar la opciónPoscondiciones: Extraer usuarios fijos de AD

1. Seleccionar opción de menú Auditor

2. extracción de usuarios con claves que no caducanSistema,AD

3. presentación de información sistema4. grabar datos extraídos sistema

Nombre: COMPARAR AUDITORIAS ACTORInclusión: Seleccionar empresaPto. De Inclusión: Dar clic en Empresa de listaExclusión: ningunoPto. de Exclusión: ningunoActores: AuditorPrecondiciones Haber seleccionado una empresaPostcondiciones: Dar clic en botón Comparar auditorias

1. Seleccionar un servidor de lista o ip auditor2. Se presenta fechas de auditorias con el id sistema3. Se selecciona 2 fechas dando clic en la fila auditor4. Se da clic en botón comparar auditor5. Se presenta reporte con información de las auditorias seleccionadas sistema

Restricciones1. Si no se selecciona auditoria, se presenta mensaje

Tabla 21

Tabla 22

62

Nombre:PARAMETRIZAR BUENASPRACTICAS ACTOR

Inclusión: Seleccionar EmpresaPto. De Inclusión: Dar clic en empresa de la listaExclusión: ningunaPto. de Excusión: ningunaActores: auditorPrecondiciones Haber seleccionado empresa

Postcondiciones:Dar clic en Botón Parametrizarempresa

1. Se visualiza en pantalla campos de Sp, discos, puertos sistema2. Ingresar información con mejores prácticas de SP, discos, puertos. auditor3. Clic en botóngrabar auditor

Restricciones1. Si no se parametriza, se presentara solo extracción de datos en laauditoria

Nombre: GENERAR REPORTES ACTORInclusión: ningunoPto. De Inclusión: ningunoExclusión: ningunoPto. de Exclusión: ningunoActores: AuditorPrecondiciones Seleccionar opción generar reportesPostcondiciones: Seleccionar opción de tipo de reportes

1. Se selecciona opción de tipo de reporte auditor2. Se visualizan reportes generados en cristal sistema

Tabla 23

Tabla 24

63

2.6 Comportamiento Dinámico de los casos de Uso

A continuación se presentará los diagramas de actividad de los

principales componentes del Sistema Saw que representan su

funcionamiento.

2.6.1 Diagramas de Actividad

Ingresar al Sistema

Ingresar al Sistema

Ingresar datos de Usuario

[Usuario incorrecto]

[usuario correcto]Mostrar menu

[password incorrecto]Activar contador de fallos

[password correcto]

[rol incorrecto]Mostrar mensaje de alerta

[rol correcto]

Mostrar mensaje de alerta

Figura 2.8

64

Seleccionar Empresa

Figura 2.9

65

Ingresar Empresa

Activar opción

Presentar pantalla ingreso

Ingresar datos de empresa

Grabar datos

[datos correctos]refrescar lista de empresa

[datos Incorrectos]

Alertar[Faltan campos]

[no faltan campos]

[Empresa existe]Alertar

[no existe]

[ruc no valido]Alertar

[ruc valido]

Figura 2.10

66

Ingresar Usuario

Seleccionar opción

Presentar pantalla ingreso

Ingresar datos de usuario

Asignar Perfil

[Datos Incorrectos]

[datos correctos]

Asignar perfil

Ingresar Datos Perfil

Grabar

[Datos correctos]Activar menu principal

[Faltan Campos]Alertar

[No faltan campos]

[usuario existe]Alertar

[Usuario no existe]

[Faltan campos]Alertar

[No faltan campos]

[cedula existe]Alertar

[Cedula no existe]

Figura 2.11

67

Conectar a Servidor

Figura 2. 12

68

Auditar Servidor

Seleccionar opcion

[Windows]

Seleccionar opcion

Auditar Services packAuditar DiscoAuditar PuertosAuditar ServiciosAuditar ProcesosAuditar Carpetas compartidas

[Active directory]

Extraer datos Grabar

[datos parametrizados]Presentar resultados

[Datos no parmetrizados]

Presentar Informe

Presentar resultados

Auditar gpo Auditar Claves que no caducanAuditar Administradores LocalesAuditar Administradores Dominio

Figura 2.13

69

Comparar Auditorías

Figura 2.14

70

Parametrizar Buenas Prácticas

Figura 2.15

71

Generar Reportes

Seleccionar opcion

Presentar Pantalla

Seleccionar tipo de reporte

[Empresas] [Auditorias]

Selelecionar opcion

Generar Reporte

[Usuarios]

Figura 2.16

72

2.7 Diseño Físico del Sistema

2.7.1 Dependencias

Para que el desarrollo del Sistema “SAW” tenga éxito existe una

relación de dependencia con el Hardware y Software, donde se

detalla todo lo requerido en las estaciones de desarrollo y

pruebas así como las Herramientas de Software.

Dependencias en el ambiente de Hardware

El Hardware es una pieza clave en el desarrollo ya el poseer

equipos con características óptimas ayudan a mejorar el

rendimiento, velocidad y tiempo de desarrollo.

El Sistema requerirá del siguiente Hardware:

Tres estaciones de trabajo para el desarrollo con las siguientes

características:

COMPONENTE PORTATIL DESKTOPPROCESADOR Cetrino Duo Celaron 2.8 GhzRAM 512 MB 512 MBDISCO 80GB 80 GB

73

Cabe indicar que el desktop hará las veces de Servidor y

funcionará como Domain Controller y administrará la red:

Conexión a Internet con ancho de banda mínimo de

128Kbps.

Router inalámbrico de 4puertos de 100 Mbits.

Dependencias del Software

El software es la clave para llevar a cabo el sistema y debemos

contar con herramientas potentes que garanticen un producto

final de calidad y las detallamos a continuación:

Microsoft Active Directory para la administración de la red

y ejecución de pruebas donde se crearan usuraos con

varios tipos de perfiles.

Visual net 2005 como herramienta par ale desarrollo del

código.

Crystal Report 9 como herramienta para la construcción

de reportes.

Microsoft SQL 2000 para administrar la base de datos y

soportar pruebas.

74

Utilitarios de Windows como Word, Excel, Visio 2003

para modelamiento y diseño.

2.8 Representación Gráfica del Ambiente de Desarrollo de laAplicación SAW

En el gráfico anterior puede apreciarse que la red del Ambiente de

desarrollo usa una topología anillo y que se conecta a Internet a través

de un MODEM. Se puede apreciar cuales son las características de

cada equipo para empezar el ambiente de desarrollo.

Figura 2.17

75

2.9 Construcción de la Aplicación

2.9.1 Servicios De Usuario (Interfaces Preliminares)

2.9.1.1Módulo: Ingreso al Sistema

Comportamiento

La interface LOGIN permitirá al usuario ingresar a la aplicación

SAW el cual deberá ingresar usuario, password y seleccionar

el rol los cuales deben conectarse a la interfase del MENU

PRINCIPAL. El campo Usuario de tipo alfanuméricos permitirá

solo ingresar usuarios validos, es decir los que hayan sido

creados en el sistema. El campo Password de tipo

alfanuméricos permitirá ingresar la clave que será almacenada

con código de encriptación y el rol extrae la lista de roles

disponibles en la aplicación. Los datos ingresados serán

Figura 2.18

76

aceptados con el OK si estos son correctos y CANCELAR

anulará el proceso por ejecutar.

Dependencias

El módulo Login depende de la existencia del usuario, pero este

tendrá por defecto un usuario Administrador que actuará como

un súper usuario para crear los usuarios de la aplicación.

Mensajes de error

El modulo Login maneja sintaxis de error puede presentar

algunos eventos y mensajes de error según sea el caso.

Intento de ingreso con campos en blanco

Se activa la validación de los campos los presenta

un mensaje de Alerta.

1. No se escoge el rol o incorrecto

Se activa la validación los cuales se presenta un

mensaje de Alerta.

2. Usuario incorrecto

Se activa la validación el cual presenta un mensaje

de Alerta.

3. Password Incorrecto

77

Se activa contador de fallos con límite de hasta 3

intentos y presenta mensaje de Alerta.

Estrategias de Seguridad

La estrategia de seguridad en este componente

será la utilización de encriptación de clave del

usuario a través de un algoritmo de encriptación

interno que guarda la clave en un cifrado de

números y letras.

Utilización de caracteres especiales para el

ingreso de clave, el cual no se visualizará.

Bloqueo de campos usuario y password al ser

validados como correctos para no permitir doble

cambios. Si se desea ingresar nuevamente se

debe cancelar el Login.

78

2.9.1.2 Módulo: Cambio de clave

Cambiar ClaveCambiar Clave

Usuario

OK

CANCELAR

Contraseña Evaluar

Contraseña nueva

Confirmar Contraseña

Cambiar clave

Comportamiento

El módulo Cambiar Clave permite cambiar la clave de un

usuario, sea este la primera vez que ingresa al sistema o

cuando lo requiera. Se necesitará el ingreso del campo

contraseña o clave el cual permitirá validar si se trata del

usuario que desea iniciar la sesión. Acto seguido el evento

evaluar se encargará de validar si es correcta y debe permitir

dar paso al ingreso de la nueva clave en los campos siguientes,

contraseña nueva y la confirmación. Si es correcta los datos

serán grabados con el evento ok que grabara en la Base de

datos. Las operaciones realizadas se pueden cancelar con la

ejecución del evento cancelar.

Figura 2.18

79

Dependencias

Cambiar clave depende de Login para su ejecución pues es el

único módulo que ejecuta Cambiar Clave. El usuario solo podrá

cambiar la clave al inicio de cada sesión lo que permitirá

aumentar las restricciones.

Mensajes de error

Grabar campos en blanco

Se activará la validación indicando mensaje de alerta para

ingresar campos.

Contraseña incorrecta

Se activará la validación indicando el mensaje de alerta de

ingreso de password incorrecto.

Evaluar sin contraseña

Se activa validación indicando mensaje de alerta.

Confirmación de clave incorrecta

Se activa validación indicando mensaje de alerta .

80

Estrategia de seguridad

La estrategia de seguridad en este componente será la

utilización de encriptación de clave del usuario a través

de un algoritmo de encriptación interno que guarda la

clave en un cifrado de números y letras.

Bloqueo de campos Usuario y Clave cuando ha sido

validado como correcto para evitar modificaciones. Si es

correcto permitirá ingresar la clave nueva. Si se desea

revertir el proceso se debe cancelar la operación.

2.9.1.3 Módulo: Menú Principal

Figura 2.20

81

Comportamiento

La forma Menú Principal es la interfaz que permite administrar

todos los módulos del sistema. Consta de un Campo que

extraerá las Compañías almacenadas en la base de las cuales

el Usuario debe seleccionar una de ellas para iniciar la sesión

de auditoría.

Para la administración se contará con el menú Administración

que permitirá el Ingreso de los Usuarios y Empresas con sus

respectivas consultas y modificaciones. Cada opción llama a

sus módulos respectivos (consultas y modificación).

Los principales módulos Auditar Servidores, Comparar

Auditorias, Parametrizar buenas prácticas y generar reportes

se activan al seleccionar la compañía los cuales almacenan la

selección como identificador del inicio de sesión de la auditoría.

El rol del Usuario juega un papel muy importante ya que el

menú principal llamara a eventos de ejecución según sea el tipo

de este.

82

Dependencias

La ejecución del menú principal depende exclusivamente de la

ejecución del LOGIN ya que una sesión correctamente iniciada

permite visualizar el ambiente de trabajo para el usuario.

Mensajes de error

Ninguno

Estrategia de Seguridad

Se bloqueará las opciones de ejecución de Auditoría a

través de un panel y este se activará una vez que se

seleccione la compañía que será auditada.

Se aplicará ambientes de trabajo según el rol del

Usuario. Con esto se pretende que el usuario trabaje con

opciones de acuerdo a su rol el cual puede ser

Administrador, auditor y Reporteador.

83

2.9.1.4 Módulo: Auditoría de servidores o Pc

Comportamiento

Auditoria de Servidores o Pc es el principal componente del

Sistema ya que es el modulo que se encarga de ejecutar los

módulos de extracción de las variables de seguridad, sean

estos de Windows y Active Directory. Estos módulos son los

encargados de extraer el Services pack, los recursos

compartidos, procesos, servicios, discos, puertos, GPO,

administradores de dominio, administradores locales, claves

que no caducan. Estos servicios son ejecutados a través de la

llamada del menú de opciones de Auditoria y se presentan en el

Figura 2.21

84

área de la pestaña según la selección. Se retornará al menú

principal a través de la opción salir del menú de opciones.

Dependencias

La ejecución de Auditoria de Servidores o Pc depende

netamente del módulo de Conexión el cual se encarga de

ejecutar la conexión con el servidor que será Auditado a través

del ingreso de datos proporcionados de la red.

Mensajes de error

Inconvenientes con la extracción de datos

Se aplica excepciones los cuales se presenta alerta con el

mensaje de error acontecido incluye para todas las variables de

auditoria del Sistema.

Estrategia de Seguridad

Ninguna

85

2.9.1.5 Módulo: Conexión

Comportamiento:

La conexión permitirá la ejecución de la auditoria de la PC

donde se debe ingresar datos de la red a la cual pertenezca el

servidor. El campo usuario y password permitirá el ingreso del

usuario asignado para la auditoria este es de tipo alfanumérico.

La Ip/nombre es el campo donde se ingresará el ip o nombre

del servidor que se va a auditar, y el campo dominio se

ingresara el nombre del dominio de la red al que pertenece el

servidor. Estos datos serán evaluados, mediante la ejecución

del evento conectar o puede ser cancelado a través de la

ejecución del evento Cancelar.

Figura 2.22

86

Dependencias

Para la ejecución de este módulo es indispensable ejecutar

desde Menú Principal la opción Auditar y esta se encargará de

llamar este módulo como condicionante para ejecutar la

auditoría.

Mensajes de Error

Conexión con campos vacíos

Se ejecuta validación indicando mensaje de alerta.

Datos de conexión incorrectos

Se ejecuta validación indicando mensajes de error

ocurrido.

Estrategia de Seguridad

Validación de campos para los que necesiten solo

letras, números o ambas.

La estrategia de seguridad en este componente será

la utilización de encriptación de clave del usuario a

87

través de un algoritmo de encriptación interno que

guarda la clave en un cifrado de números y letras.

Campo password con ingreso de carácter especial

para asegurar la privacidad.

2.9.1.6 Módulo: Comparación de Auditorías

Comportamiento

El módulo de comparación de Auditorías se encarga de

comparar las auditorías realizadas a una empresa en particular

donde se presentaran los servidores auditados en una lista, el

usuario seleccionará el servidor para la comparación y

Grafico 2.23

88

presentará a través de un View el cual extraerá la identificación

de la auditoria y las fechas que estas se realizaron. Se deben

seleccionar 2 fechas de las cuales se generará la comparación

a través de la ejecución del evento comparar y estos se

cancelan ejecutando el evento cancelar.

El resultado de la comparación es presentado en reportes.

Dependencias

Para que la ejecución de este modulo se lleve a cabo, se debe

Ejecutar el Menú Principal y seleccionar una empresa de la

Lista disponible, es indispensable la ejecución de este proceso

ya que de ello depende la presentación de servidores auditados

y poder evaluar los resultados en el tiempo.

Mensajes de Error

Solo se selecciona una fecha de Auditoria

Se activa validación y se indica con un mensaje de Alerta

No se selecciona fechas

Se activa validación y se indica mensaje de Alerta

89

Estrategia de Seguridad

La compañía seleccionada en el menú principal es capturada y

bloqueada para evitar cambio de Compañías.

2.9.1.7 Módulo: Parametrizar Buenas prácticas

Comportamiento

El módulo Parametrizar permite ingresar datos relacionados con

las buenas prácticas de Auditoría para un Sistema Operativo

Windows de las cuales se tomará en cuenta los puertos,

Services Pack y Porcentaje de disco. El campo Services Pack

permitirá el ingreso del último Services pack para Windows el

90

cual será comparado con el extraído en la auditoria para

demostrar si cumple o no las buenas practicas en la seguridad

de Windows.

El campo puertos permitirá ingresar los puertos que se

evaluaran como abiertos. Por ejemplo se parametrizará un

puerto Web para analizar en un servidor de base de datos si se

encuentra abierto. Estos procesos son grabados mediante el

evento Cerrar y almacenados con un identificador según la

auditoria realizada.

Dependencias

Este módulo no presenta dependencias ya que el puede ser

ejecutado en cualquier momento, es decir el usuario puede

Parametrizar las opciones como no puede hacerlo; pero solo le

servirá cuando utilice Auditoría de Servidores y Pc.

Existe una pequeña relación con el módulo de Auditoría el cual

utilizará la información parametrizada que se encuentra

ingresada para usarla como referencia de Buena Práctica y

establecer el cumplimiento o no de estas.

91

Mensajes de error

Ingreso de Valores de campos no validos

Se activará validación y se indicará con un mensaje de alerta.

Estrategia de Seguridad

Ninguna

2.9.1.8 Módulo: Generación de reportes

Figura 2.25

92

Comportamiento

La generación de reportes permitirá el análisis visual de las

auditorias realizadas y pueden ser por Usuarios, empresas y

Auditorias, las cuales a través del menú de selección pueden

generarse la lista de Usuarios Activos e Inactivos y también las

empresas que constan en la base de datos como Auditadas

activas e inactivas.

Los reportes de Auditoria permitirán analizar las características

de seguridades del Servidor por fecha, por auditor y por

compañía presentando las respectivas listas disponibles. El

reporte se generará con los resultados requeridos y también se

pueden anular todas esta operaciones con la ejecución de

evento Cerrar.

Dependencias

La generación de reportes depende de su ejecución en el menú

principal. Para que el reporte pueda tener éxito es necesario

que se ejecute esta opción cuando ya existan empresas con

sus servidores auditados para no obtener reportes en blanco.

93

Mensajes de error.

No existen mensajes de errores para la ejecución de estemodulo.

Estrategias de Seguridad

Ninguna

2.9.1.9 Módulo: Ingreso de Usuario

Figura 2.26

94

Comportamiento

El módulo de Ingreso de usuarios permitirá la creación del

Usuario del Sistema el cual puede tener 3 roles: Administrador,

Auditor y Reporteador.

Este modulo permite el ingreso de CI el cual es el campo que

definirá si un usuario es nuevo o no, el nombre, el apellido,

dirección, e mail te tipo alfanumérico para registrar datos

básicos del Usuario, el teléfono y el status que permitirá activar

o desactivar a un usuario del sistema. Estos datos se

almacenan al ejecutar el evento asignar perfil cuyo propósito

será guardar los datos del usuario e inmediatamente llamar a

una forma que tenga los campos que permita asignar el perfil.

Figura 2.27

95

Se debe ingresar el usuario, password y asignar un rol para

ejecución del sistema. Esta información se grabará al ejecutar el

evento Grabar.

Dependencias

La ejecución del Módulo de Ingreso depende de la ejecución del

Login al Sistema ya que este se desarrolla luego de que se

haya ingresado al menú principal. Nótese también que si es por

primera vez ejecutada, se estará usando un Administrador

como iniciador de Sesión.

Mensajes de Error

Grabar campos en blanco

Se activa la validación y se indica a través de un mensaje de

alerta.

Cédula no valida

Se activa la validación y se indica a través de un mensaje de

alerta.

Ingreso de campos no validos

Se activa la validación y se indica a través de un mensaje

de alerta.

96

Status no seleccionado

Se activa la validación y se indica a través de un mensaje de

alerta.

Usuario existente

Se activa la validación y se indica a través de un mensaje de

alerta.

Estrategia de Seguridad

La estrategia de seguridad en este componente será la

utilización de encriptación de clave del usuario a través

de un algoritmo de encriptación interno que guarda la

clave en un cifrado de números y letras.

Campo password con ingreso de carácter especial para

asegurar la privacidad.

No permitir que el usuario deje en blanco los campos de

Selección.

El campo cedula se ejecuta a través de un algoritmo que

valida las cedulas reales.

97

2.9.1.10 Módulo: Ingreso de Empresa

Comportamiento

El módulo Ingreso de Compañías sigue los parámetros y

lineamiento del ingreso de usuario pero este permitirá el

registro de una Compañía que requerirá la auditoria de

servidores. Permitirá el ingreso de RUC que evaluará si

es nuevo o ya existe y los campos de información básica

como son la razón social, Dirección, teléfono,

representante y estatus definiendo como activa o

inactiva. Estos campos serán guardados mediante el

evento grabar o si se requiere cortar la ejecución del

mismo, con el evento Cancelar.

Figura 2.28

98

Dependencias

El Ingreso de Empresas depende de que esta se active

desde el Menú Principal.

Mensajes de error

Grabar campos en blanco

Se activa la validación y se indica a través de un

mensaje de alerta.

RUC no válido

Se activa la validación y se indica a través de un

mensaje de alerta.

Ingreso de campos no validos

Se activa la validación y se indica a través de un

mensaje de alerta.

Status no seleccionado

Se activa la validación y se indica a través de un

mensaje de alerta.

99

Ingreso de RUC existente

Se activa la validación y se indica a través de un

mensaje de alerta.

Estrategia de Seguridad

No permitir que el usuario deje en blanco los campos

de Selección.

Campos con validación para que estos no se guarden

en blanco.

2.9.1.11 Modulo: Consultar Usuarios

Figura 2.29

100

Comportamiento

El módulo consultar usuarios presenta los datos en un view de

usuarios existentes en el Sistema, sean estos activos e

inactivos. Los criterios de búsqueda vienen dados por la CI,

Nombre, Apellido, Mail. Estos campos permiten la búsqueda de

usuarios presentando todos sus datos donde pueden ser

modificados, basta con la selección del registro

correspondiente y ejecutar el evento Modificar, el cual permitirá

la captura de la CI en una variable para luego ser invocada en

el modulo de Modificación. Estas acciones pueden ser

canceladas con la ejecución del Evento cancelar.

Adicionalmente los campos de búsqueda pueden ser limpiados

con la ejecución del evento limpiar.

Dependencias

La consulta de usuarios depende de la correcta ejecución de

Menú Principal ya que esta contiene la opción de llamada al

mismo. También depende que existan usuraos creados para

poder ejecutar la consulta y poder aprovechar las bondades que

esta brinda.

101

Mensajes de Error

Modificar registro sin seleccionarlo

Se activa la validación y se presenta un mensaje de alerta.

Estrategia de Seguridad

Para la selección de un registro que se pretende

modificar, es necesario seleccionarlo el cual captura la

CI.

La grilla para la consulta es deshabilitada para la

escritura de campo.

2.9.1.12 Módulo: Consulta de Compañías

Figura 2.30

102

Comportamiento

El módulo consulta de compañías tiene la misma función que el

módulo anterior con la diferencia que este consultará

compañías creadas en el sistema los cuales podrán ser

identificados a través criterios de búsqueda como son los

campos RUC, razón social, dirección, teléfono, los cuales

extraerán todas las compañías existentes en la Base de Datos.

Este módulo también permitirá la llamada a la modificación de

compañías; basta con ejecutar la búsqueda con los parámetros

específicos, seleccionar el registro y acto seguido ejecutar el

Evento Modificar. Este podrá extraer y almacenar el RUC para

asociarlo en la Modificación de Compañías. Todas estas tareas

podrán ser canceladas con la ejecución del evento Cancelar.

Dependencias

El módulo consulta de compañías depende principalmente de

su selección en el Menú Principal del Sistema, que es quien

contiene la llamada a su ejecución. Para que este modulo

pueda ser aprovechado al máximo deben existir empresas

creadas las cuales ocurren con un Previo Ingreso de

Compañías.

103

Mensajes de error

Modificar registro sin seleccionarlo

Se activa la validación y se presenta un mensaje de alerta.

Estrategia de Seguridad

Para la selección de un registro que se pretende

modificar, es necesario seleccionarlo el cual captura la

RUC.

La grilla para la consulta es deshabilitada para la

escritura de campos.

2.9.1.13 Módulo: Modificar Usuario

Figura 2.31

104

Comportamiento

El módulo Modificación de Usuarios permite el cambio o

modificación de algún parámetro que este contenga y

posteriormente realizar la actualización.

Su funcionamiento es básicamente presentar datos que

pertenecen a un usuario en particular que desea ser modificado.

Estos datos se los obtiene a través de parámetros del criterio de

búsqueda RUC que permitirá validar si el ingreso del RUC en el

campo es válido o no a través de la ejecución del evento

Buscar.

Luego de haber ingresado los nuevos datos, van a ser

cambiados en la Base de datos a través de la ejecución del

evento Modificar y las operaciones pueden ser canceladas a

través del evento Cancelar.

Dependencias

El módulo de modificación de usuarios depende de la llamada

desde el menú principal y también puede ejecutarse desde el

Módulo Consultar Usuarios que extrae el usuario por modificar a

través de la CI.

105

Mensajes de Error

Modificar sin ingreso de parámetro de búsqueda CI

Se activa la validación y representa mensaje de

alerta.

Grabar con el campo CI, Nombre y apellido vacío.

Se activa la validación y se presenta mensaje de

alerta.

Estrategia de Seguridad

No permitir que el usuario deje en blanco los

campos de Selección.

Campos con validación para que estos no se

guarden en blanco.

El campo CI ejecutara un algoritmo de que valida

cédulas reales y un máximo de 10 números.

106

2.9.1.14Módulo: Modificar Empresa

Comportamiento

El módulo modificación de Compañías permite modificar o

cambiar los datos de una compañía que ha sido previamente

ingresada a través del módulo Ingreso de Compañías. Estos

datos nuevos serán modificados a través de la ejecución del

evento Modificar el cual se encargara de actualizarlos en la

base de Datos. El criterio de búsqueda del registro a modificar

será a través del RUC el cual ejecutará la acción mediante el

evento Buscar el cual validará si el RUC existe o no. Todas

Figura 2.32

107

estas operaciones pueden ser canceladas o anuladas a través

de la ejecución del evento Cancelar.

Dependencias

El módulo Modificación de Empresas depende de la llamada

desde el Menú Principal el cual se ejecutará mientras se elija

esta opción. También puede ser ejecutado en el Módulo de

Consulta de Compañías el cual captura el RUC contenido en el

registro de selección de la consulta y lo utiliza como valor de

criterio de búsqueda de la compañía que se pretende modificar.

Mensajes de Error

1. Modificar sin ingresar parámetro de búsqueda RUC.

Se activa la validación y representa mensaje de alerta.

2. grabar con el campo RUC, Razón Social vacío

Se activa la validación y se presenta mensaje de alerta.

108

Estrategia de Seguridad

No permitir que el usuario deje en blanco los campos de

Selección.

Campos con validación para que estos no se guarden

en blanco.

Validación de campos para que permita solo 13

números.

2.9.1.15 Módulo: Inicialización de clave

Comportamiento

El módulo de Inicializar clave permite realizar le reseteo o

reiniciación de las claves de los usuarios cuyas claves hayan

Figura 2. 33

109

sido olvidadas. Es relativamente sencillo ya que se ingresa el

usuario y se ejecuta el evento Inicializar el cual cambiara el

password actual por la serie de números del 1 al 7.

Automáticamente esta acción graba los cambios del usuario.

Estas operaciones pueden ser canceladas a través del evento

Cancelar.

Dependencias

El módulo inicializar clave depende exclusivamente del Usuario

ya que este dispondrá la ejecución de este módulo y debe ser

llamado a través del Menú Principal que permite su ejecución.

Mensajes de Error

1. Inicializar clave con campo de Usuario vacío

Se activa validación y presenta mensaje de alerta.

2. Ingreso de usuario no existente

Se activa la validación y se presenta mensaje de alerta.

Estrategia de Seguridad

Ninguna

110

2.9.1.16 Módulo: Desbloqueo de Usuario

Comportamiento

El módulo de desbloqueo de usuario permite desbloquear una

clave que ha superado el límite de intentos fallidos en el Login.

Permite consultar si un usuario esta bloqueado a través del

ingreso de Usuario y la ejecución del evento Buscar. Si el

usuario esta bloqueado se presentará el campo de desbloquear

usuario como activo, el cual deberá ser desmarcado y grabar la

operación a través del evento grabar. Cualquiera de estas

operaciones puede ser cancelada a través de la ejecución del

evento Cancelar.

Figura 2.34

111

Dependencias

El módulo de desbloqueo de usuario depende del Login al

Sistema ya que se pondrá a disposición para su ejecución

dependiendo del resultado fallido de este. Deberá ser llamado

desde el Menú principal seleccionando la opción del menú

Administración.

Mensajes de error

1. Buscar un usuario que no existe

Se activa validación y presenta mensaje de alerta

2. grabar con usuario incorrecto

Se activa la validación y presenta mensaje de error

3. grabar con campo de usuario en blanco

Se activa la validación y presenta mensaje de alerta.

4. Grabar sin desbloquear el usuario

Activa la validación y presenta mensaje de error.

112

Estrategia de seguridad

Desactivar bloque de selección si el usuario no esta

bloqueado

No grabar si el usuario no esta desbloqueado

No buscar campo en blanco.

2.9.2 Servicio de datos

2.9.2.1 Diseño de la base de datos.

La base de datos SAW permitirá almacenar información de

Usuarios, empresas, Auditorias sean estas de Services Pack,

Carpetas Compartidas, puertos, discos y demás variables de

auditoria que permitirán ser manejadas a través de un ID par

poder relacionarlas. La estrategia de DB SAW es controlar toda

la información a través de una tabla maestra que contenga

datos de cabecera de Auditoría, es decir que manejará un Id

que será almacenado en todas las tablas existentes, para así

poder concatenar la información cuando esta se extraiga. Todas

las tablas los principales tipos de datos con su clave primaria.

El siguiente diagrama entidad/relación muestra el esquema que

tendrá la base de datos y sus relaciones. Nótese la importancia

113

de la tabla denominada cabAuditoria que se convierte en una

tabla Padre de las resultantes de las Auditorías.

Este esquema denotará las relaciones de las tablas y su

estructura así como la explicación de la funcionalidad.

2.9.2.2 Esquema de Base de Datos.

Modelo Entidad/Relación de DB SAW

El modelo Entidad/Relación de la base SAW está compuesta de

19 tablas:

114

Figura 2.35

115

2.9.2.3 Estructuras de las tablas

Tabla Usuario

Descripción

Esta tabla almacena información de los usuarios como el

nombre, apellido, cedula, dirección, teléfono, mail y

estado del usuario de tipo varchar.

Clave Primaria: idUser

Tabla Rol

RolUser

PK idRolUser

rolUserdescripcion

116

Descripción

La tabla rol se encarga de almacenar el rol del usuario

como el nombre del rol y una descripción

Clave Primaria: idRolUser

Tabla Empresa

Descripción

La tabla empresa se encarga de Almacenar información

de la Empresa como RUC, Razón Social, Dirección,

Teléfono, Representante, mail y el Status.

Clave Primaria: id empresa

117

Tabla AccesoUser

AcccesoUser

PK idAccesoUser

idUseridRolUsernombreUserpasswordUserbloqueoUser

Descripción

La tabla Acceso User almacena los accesos al sistema

por un Usuario con información del rol, usuario, password

y si la clave se encuentra bloqueada.

Clave Primaria: idAccesoUser

Clave foranea: idUser, idRolUser

Relaciones: Usuario-AccesoUser, Rol-AccesoUser

Un usuario puede tener uno o varios accesos.

Tabla CabAud

cabAud

PK idAuditoria

idEmpresaserverdominioauditorfecha

118

Descripción

Esta tabla es la más importante del esquema ya que

guarda la cabecera de auditoría mediante un identificador

el cual permite controlar la auditoría, según se seleccione

y guardará los datos de la conexión como la compañía,

servidor que se auditará, dominio de la red, el auditor que

la ejecuta y la fecha.

Clave Primaria: idAuditoría

Clave foránea: idEmpresa

Relación: Empresa-CabAud

“ Una Compañía puede tener varias Auditorias”

Tabla AudServicePack

Descripción

AudServicePack es una tabla que permite almacenar la

auditoria del Services Pack en un servidor, guarda el

119

nombre del Services Pack, Sistema Operativo, la versión

del Sistema Operativo y el nombre en el Active Directory.

Clave Primaria: idServicePack

Clave Foránea: idAuditoria

Relación: CabAud- AudServicePack

“una auditoría puede tener varias auditorias de Services

Pack”.

Tabla AudCarpetasCompartidas

AudCarpetasCompartidas

PK idCarpetasCompartidas

idAuditorianombreCarpetapathCarpeta

Descripción

La tabla AudCarpetasCompartidas permite almacenar la

auditoría de los recursos compartidos de un Servidor y

almacenará el nombre de la carpeta y la ruta donde se

encuentra.

Clave Primaria: idCarpetasCompartidas

Clave Foránea: idAuditoria

120

Relación: CabAud – AudCartpetasCompartidas

“Una auditoría puede tener varias auditorias de carpetas

compartidas”.

Tabla AudProcess

Descripción

La tabla AudProcess permite almacenar la auditoria de

procesos Levantados en el Servidor. Se guarda el

nombre del proceso, fecha de creación y la dirección

donde se está ejecutando.

Clave Primaria: idProcess

Clave Foránea: idAuditoria

Relaciones: CabAud – AudProcess

“Una auditoría puede tener varias auditorías de

procesos”.

121

Tabla audServices

audServices

PK idservice

idauditorianamestatestartmodedescripcion

Descripción

La tabla audServices permite almacenar la auditoría de

Servicios Críticos en un Server como son, Exchange, Sql

e Isa Server y permite almacenar el nombre del Servicio,

el estado, modo de inicio y la descripción.

Clave Primaria: idService

Clave Foránea: idAuditoria

Relaciones: CabAud – audServices

“una auditoría puede almacenar varias auditorias de

servicios levantados”

122

Tabla AudPuertos

AudPuertos

PK idPuertos

idAuditoriapuertosAbiertosidDPuertos

Descripción

La tabla AudPuertos permite almacenar los puertos

abiertos en un servidor. El campo que se guarda es el

nombre del puerto abierto.

Clave Primaria: idPuertos

Clave Foranea: idAuditoria, idDpuertos

Relaciones: Puerto – AudPuertos; CabAud-AudPuertos.

“Un puerto puede estar en varias auditorias de puertos y

una Auditoría puede tener varias auditorias de puertos”

Tabla Puerto

Puerto

PK idDPuerto

puertoprotocolodescripcion

123

Descripción

La tabla puerto permite almacenar la información de un

puerto. Almacena el nombre del Puerto, el protocolo y la

descripción

Clave Primaria: idDPuerto

Relación: Puerto – CabAud

“Un puerto puede encontrarse en varias Auditorías”.

Tabla AudDiscos

AudDiscos

PK idDiscos

idAuditoriaUnidad_Logicaespacio_totalespacio_libreespacio_ocupadofechaAud

Descripción

La tabla AudDiscos permite almacenar la auditoria de

Discos donde se almacena la unidad lógica, espacio

total, espacio libre, espacio ocupado, fecha.

Clave Primaria: idDiscos

Clave Foránea: idAuditoria

124

Relacion: CabAud – AudDiscos

“Una auditoría puede almacenar varias auditorías de

discos”

Tabla GPO

GPO

PK idGPO

ArchivoComputerUserNodePolicePathFullPoliceNameSupportedonDescripcionregister1value1register2value2register3value3

Descripción

La tabla GPO permite almacenar la información de una

GPO (grupo de políticas en Active Directory). Almacena

el archivo, tipo de nodo, la ruta de la política, nombre de

la política, soporte de la política, descripción de la

política, la ruta de búsqueda y el valor. Pueden existir

hasta 3 rutas de búsqueda con sus respectivos valores.

125

Clave Primaria: idGPO

Relaciones: GPO – AudGPO

“Una gpo puede estar en varias auditorias de GPO”

Tabla AudGPO

Descripción

La tablaAudGPO se encarga de almacenar la auditoría

de las GPO el cual almacena la fecha en que se realiza

la auditoria.

Clave Primaria: idAudGPO

Claves Foráneas: idAuditoria, idGPO

Relaciones: GPO-audGPO; Cabaud-AudGPO

“Una gpo puede estar en varias auditorias “

Una Auditoria puede tener varias Auditorías de GPO”.

126

Tabla audAdminDomain

audAdminDomain

PK idadminDomain

idAuditorianamefecha

Descripción

La tabla audAdminDomain permite almacenar la auditoria

de los Administradores de Dominio. Almacena el nombre

del Administrador de Dominio y fecha.

Clave Primaria: idadminDomain

Clave Foránea: idAuditoria

Relación: CabAud – audAdminDomain

“Una Auditoría puede almacenar varias auditorías de

administradores de Dominio”

Tabla audAdmin

audAdmin

PK idAdmin

idAuditorianamefecha

127

Descripción

La tabla audAdmin se encarga de almacenar las

auditorias de administradores locales donde se almacena

el nombre del administrador local y la fecha de auditoria.

Clave Primaria: idAdmin

Clave Foránea: idAuditoria

Relación: CabAud – audAdmin

“Una auditoría puede realizar varias auditorias de

administradores locales.

Tabla audPassNeverExpire

audPassNeverExpire

PK idClavesNeverExpire

idAuditorianamefecha

Descripción

La tabla audPassNeverExpire se encarga de almacenar

los usuarios cuya clave no caducan. Almacenará el

nombre del Usuario y la fecha de auditoría.

128

Clave Primaria: idClavesNeverExpire

Clave Foránea: idAuditoria

Relación: CabAud – audPassNeverExpire

“Una auditoría puede realizar varias auditorias de claves

que nunca expiran”.

2.9.2.4 Procedimientos Almacenados

El sistema Saw usa Procedimientos almacenados para

presentar reportes de Usuarios, Compañías y Auditorias. A

continuación una breve descripción de cada procedimiento

almacenado que se utilizara en la generación de reportes

Reportes por empresas

pa_c_saw_listarempresaPorEstado: se encarga de listar a las

compañías Activas o Inactivas en el Sistema.

Funcionalidad: Selecciona los campos de la tabla Empresa

cuando el estado de la Empresa en “A” que indica que se

encuentra activa e “I” las inactivas.

129

Reportes por Usuarios

pa_c_saw_listarUsuariosPorEstado: Se encarga de listar a

los usuarios Activos e inactivos en el Sistema.

Funcionalidad: Selecciona los campos de las tablas Usuario y

AccesoUser para obtener de esta última los campos del rol

aquellos usuarios con status “A” de Activos e “I” de Inactivos

exceptuando el administrador.

Reportes de Auditorías

Los reportes de Auditorias se presentan por Empresa, por

Auditor o por Fecha. Alguno de estos procedimientos

almacenados se detalla a continuación:

pa_c_saw_servicepackPorParametro: Este procedimiento

almacenado controla los reportes por empresa y por auditor los

cuales listaran los services Pack Auditados en los Servidores.

Funcionalidad: Selecciona los campos de las tablas Service

Pack y CabAud para extraer lo services pack obtenido en cada

Auditoría y lo muestra según sea la opción seleccionada.

130

pa_c_saw_servicepackPorFecha: Este procedimiento

almacenado se encarga de generar el reporte de los Services

pack por fecha de auditoria.

Funcionalidad: Selecciona los campos de Services pack y de

la cabecera de Auditoría cuya fecha sea igual a la seleccionada.

pa_c_saw_CarpetasCompartidasPorParametro: Este

procedimiento almacenado se encarga de presentar un reporte

de Carpetas compartidas de los servidores auditados por

Empresa o Por auditor

Funcionalidad: Selecciona los campos de la tabla

AudRecursosCompartidos y de la tabla CabAud cuyo campo

sesa igual al seleccionado sea este empresa o auditor.

pa_c_saw_CarpetasCompartidasPorFecha: Este

procedimiento almacenado permite generar un reporte de los

recursos compartidos por fecha de auditoría.

Funcionalidad: Selecciona los campos de la tabla

AudCarpetasCompartidas y de la tabla Cabaud para extraerlos

cuya fecha sea igual a la Seleccionada.

131

pa_c_saw_ServiciosPorParametro: Este procedimiento

almacenado permite generar un reporte de los servicios

levantados sea por los servidores de una Empresa o Auditor

seleccionado.

Funcionalidad: Selecciona los campos de la tabla AudServices

y de la tabla CabAud los cuales se presentarán cuando el

campo empresa o Auditor sea igual al seleccionado.

pa_c_saw_ServiciosPorFecha: Este procedimiento

almacenado permite generar un reporte de los servicios

levantados por fecha de auditoría.

Funcionalidad: Selecciona los campos de la tabla AudServices

y de la tabla CabAud y los presenta si el campo fecha es igual

al seleccionado.

pa_c_saw_GPOPorParametro: Este procedimiento

almacenado se encarga de generar un reporte de las GPO

auditadas en un Servidor de una Empresa o las extraídas por

un auditor específico.

132

Funcionalidad: Selecciona los campos de la tabla GPO y los

de CabAud y se presentan si el campo cia de la tabla AudGpo

es igual a la seleccionada.

pa_c_saw_GPOPorFecha: Este procedimiento almacenado

permite generar un reporte de las GPO auditadas por fecha

específica.

Fucionalidad: Selecciona los campos de la tabla GPO y los de

AudGPO y los presenta si la fecha de auditoría es igual a la

seleccionada.

Existe un reporte por cada opción de Auditoria el cual realiza la

respectiva extracción de la información de las tablas

involucradas. En la etapa de desarrollo se explicará con mayor

detalle el funcionamiento de los Procedimientos almacenados.

A continuación se describe los nombres de los Procedimientos

Almacenados que no figuran en la explicación anterior:

1. pa_c_saw_PuertosPorParametro

2. pa_c_saw_PuertosPorFecha

133

3. pa_c_saw_ProcesosPorParametro

4. pa_c_saw_ProcesosPorFecha

5. pa_c_saw_PassNeverExpirePorPar

6. pa_c_saw_PassNeverExpirePorFecha

7. pa_c_saw_DomainAdminPorParametro

8. pa_c_saw_DOMAINADMINPorFecha

9. pa_c_saw_DiscosPorParametro

10. pa_c_saw_DiscosPorFecha

11. pa_c_saw_detalleAudservipack

12. pa_c_saw_detalleAudPuertos

13. pa_c_saw_detalleAudPassNeverExpire

134

14. pa_c_saw_detalleAudGpo

15. pa_c_saw_detalleAudcarpetasCom

16. pa_c_saw_detalleAudAdminDomain

17. pa_c_saw_detalleAudAdmin

18. pa_c_saw_AdminLocalPorParametro

135

CAPITULO 3

3. FASE DE DESARROLLO

3.1 Objetivos de Desarrollo

Esta fase tiene como objetivo lograr la construcción del Sistema SAW

basándose en las especificaciones funcionales en términos de detalles

técnicos permitiendo a los desarrolladores ser productivos y enfocarse

en la creación de la solución.

3.2 Ambiente de Desarrollo y construcción

Para entender mejor el Ambiente de desarrollo del Sistema SAW

recordaremos el ambiente en niveles físicos:

136

Nótese en la ilustración anterior que el ambiente de desarrollo estará

en un a pequeña red formada por un Servidor y dos equipos portátiles,

los cuales tendrán conexión a Internet.

Sus características se detallan a continuación:

COMPONENTE PORTATIL DESKTOPPROCESADOR Cetrino Duo Celaron 2.8 GhzRAM 512 MB 512 MBDISCO 80GB 80 GB

Los requisitos de Software se detallan a continuación:

Figura 3.1

137

3.2.1 Herramientas de construcción

Visual net 2005 como herramienta par ale desarrollo del

código.

Crystal Report 9 como herramienta para la construcción

de reportes.

3.2.2 Herramienta de Administración de Base de Datos

Microsoft SQL 2000 para administrar la base de datos y

soportar pruebas.

3.2.3 Sistemas operativos

Microsoft Windows 2003 Server para el Servidor

Microsoft Active Directory para la administración de la red

y ejecución de pruebas donde se crearan usuraos con

varios tipos de perfiles.

Microsoft Windows XP Professional para los Equipos

portátiles.

3.2.4 Herramientas de Diseño y Documentación

Utilitarios de Windows como Word, Excel, Visio 2003.

3.2.5 Herramientas de Consulta e investigación

Microsoft Internet Explorer

138

3.3 Control de Fuentes

Para controlar las fuentes se ha optado por realizar una copia con los

cambios actuales al servidor el cual contiene un Directorio donde se

controlan los cambios según el proyecto avanza en su construcción.

El estándar para crear el directorio es el nombre del Sistema y la fecha

actual. Ej Saw_2jul08.

Existen varias herramientas que ayudan a controlar los cambios del

código fuente como podemos citar a Subversión o visual SourceSafe

pero el implementarlo requería tiempo de capacitación y de pruebas

par aprovechar sus bondades.

Semanalmente se realiza copias de respaldo en cada maquina de

trabajo y en una unidad externa.

3.4 Guías y Estándares de Desarrollo.

Para construir el código utilizaremos los siguientes standards de

programación:

139

Nomenclatura para los Objetos

Objeto Prefijo Objeto PrefijoActiveDoc acd Label LblCheckBox chk Line LinComboBox cbo ListBox LstCommandButton Cmd OLEBoundContro

lolb

CommandGroup cmg OLE oleContainer cnt OptionButton optControl ctl OptionGroup opgCustom <user-defined> Page pagEditBox edt PageFrame pgfForm frm ProjectHook prjFormSet frs Separator sepGrid grd Shape ShpColumn grc Spinner spnHeader grh TextBox txtHyperLink hpl Timer TmrImage img tbr tbr

Los prefijos irán precedidos por el nombre del Objeto. Ej:

txtnombreusuario.

Recomendaciones generales

Usar nombres de tipo Pascal Case

Ejemplo: MiClase (primeras letras con mayúscula)

Cualquier abreviatura debe ser totalmente conocida y

aceptada por el equipo de desarrollo.

Usar TAB de tamaño 3

Tabla 27

140

Agrupar la implementación interna de la clase por el tipo de

miembros en el siguiente orden:

1. campos

2. propiedades

3. Constructores y destructores

4. métodos

5. enumeradores, estructuras o clases internas

Evitar declarar múltiples atributos en la misma línea

Tratar de usar comentarios en el interior de los métodos

para explicar aspectos globales del algoritmo.

No utilizar comentarios para explicar código obvio.

No utilizar marco de asteriscos para los comentarios.

Para variables internas no utilizar nombre de un solo

carácter, salvo de aquellos utilizados en la sentencia For.

Utilizar nombres de variables internas de tipo Camel Case.

Ejemplo:

nombreVariable (primera letra en minúscula y la otra en

mayúscula)

141

Para parámetros usar nombres estilo Pascal case

3.5 Proceso de Construcción Diario

El proceso de construcción diario será controlado con reuniones los

fines de Semana para la revisión de los avances dados en el

transcurso de la semana.

Cada día se procederá a respaldar los cambios dados en el desarrollo

de los componentes para evitar dificultades en el control de versiones

antes detalladas.

Los módulos de string de conexión y módulos de datos de usuarios y

auditorias serán desarrollados con primera instancia ya que de ellos

depende el normal proceso de desarrollo.

3.6 Componentes/Objetos

Los componentes del Sistema SAW que debe desarrollarse se

detallan a continuación:

142

Componente Nombre del Objeto DescripciónIngreso al Sistema frmlogin Este objeto se

encarga de controlarel ingreso al Sistemapor el Usuario

Menú Principal frmmenuprincipal Se encarga depresentar lasopcionesadministrativas y deauditoria

Ingreso deUsuario

frmingresarusuario Permite crear unnuevo Usuario yasignar rol

Ingreso deEmpresas

frmingresarempresa Crea una nuevaEmpresa en elsistema

Consultas deUsuarios

frmconsultarusuarios Consulta de Usuariosexistentes en elSistema

Componente Nombre del Objeto DescripciónConsulta deCompañías

frmconsultarEmpresa Consulta lasCompañiasexistentes en elSistema

Modificación deUsuarios

frmmodificarusuarios Modifica los dato deun Usuario delSistema

Modificación deCompañías

frmmodificarempresa Modifica los datosde una CIA delSistema

DesbloquearUsuario

frmdesbloquearusuario Desbloquea la clavede un usuario.

Inicialización deClave

frminicializarclave Inicializa una clavede usuario

Auditoria de Servero PC

frmauditar Audita un Server oPc

Conexión a Server frmconectar Proceso deConexión a unServer o Pc queserá Auditado

143

Auditoria deServices Pack

frmauditar Proceso deextracción deServices Pack delServer o PC

Auditoría deRecursosCompartidos

frmauditar Procese deExtracción de losRecursosCompartidos de unPC o Server

Auditoría deServicios

frmauditar Proceso deextracción deServiciosLevantados en Pc oServer

Auditoría deProcesos

frmauditar Proceso deextracción deProcesoslevantados en la Pco Servidor

Auditoría de Discos frmauditar Extrae informaciónde los discos en unServer o Pc

Componente Nombre del Objeto DescripciónAuditoría dePuertos

frmauditar Extrae informaciónde los puertosabiertos en elServidor o Pc

Auditoria de GPO frmauditar Extrae informaciónde las GPO de unServer o Pc

Auditoria deDomain Admin

frmauditar Extrae informaciónde losadministradores dedominio

Auditoría deLocalAdmin

frmauditar Extrae informaciónde administradoreslocales

Auditoría de Clavesque no expiran

frmauditar Extrae informaciónde los usuarios cuyaclave no caducan

Comparación deAuditorías

frmcomparar Compara 2auditorias por fecha

144

Parametrizarbuenas Practicas

frmparametrizar Configura buenaspracticas en puertos,discos, Servicespack

Generación dereportes

frmmenureporte Genera reportes deusuarios, compañíasy auditorias.

3.7 Descripción de Componentes

A continuación se describen los principales componentes del Sistema

por ser considerados ejes del cumplimiento de los objetivos y por

contener la mayor parte de funciones y procesos que definen la razón

de ser del Sistema en mención.

Ingreso al Sistema (Login)

Conexión a la Servidor o Pc para la Auditoría

Auditoría de Servidor o PC

Comparación de Auditorías

Parametrización de Buenas Prácticas

Generación de Reportes

Ingreso de Usuario

145

3.7.1 Módulos de Conexión a la Base de Datos,Almacenamiento y Encriptación.

Conexión a la Base de Datos

El módulo de Conexión a la Base de Datos es llamado en todos

los componentes de la solución para lograr la extracción,

almacenamiento y actualización de los datos.

Nombre Del Modulo

DB_con_mod

Funcionamiento

Utiliza una función denominada con la que se encarga de

retornar el string de conexión a través de la llamada al archivo

.ini appconfig el cual contiene la cadena de conexión

previamente creada. El string de conexión es el siguiente:

Esta cadena de conexión servirá de parámetro de entrada para

establecer la conexión a través de la llamada a un Objeto de

tipo SqlConecction.

server =192.168.2.13;initial catalog =saw;integrated security = SSPI;prsist security info=false

146

Almacenamiento de valores del Usuario

Existe un módulo que permitirá el almacenamiento y extracción

de datos del Usuario para ser utilizados en Administración.

Nombre del Módulo

Datos_user_mod

Funcionamiento

Este modulo se compone de funciones y procedimientos los

cuales permitirán retornar y almacenar valores del usuario

correspondientes a la cedula, rol y ID. Además variables para

almacenar una validación de rol y un usuario captado en el

sistema.

Almacenamiento de datos de conexión de Auditoría

Este módulo permitirá el almacenamiento y recuperación de

datos de auditoría.

Nombre del Módulo

Datos_Con_mod

147

Funcionamiento

El modulo esta formado por funciones y procedimientos que

permiten el almacenamiento y retorno de datos de la conexión a

un servidor para ejecutar la auditoria. Estos valores

corresponden a usuario de red y su password, dominio, nombre

del servidor o su ip, nombre de la compañía, el auditor.

Encriptación de Clave

Para poder guardar el password dentro de la base de datos y

este contenga un nivel de seguridad, se ha optado por crear un

módulo que permita ejecutar una función de datos cifrados.

Nombre del Módulo

encrip_mod

Funcionamiento

Este módulo contiene una función denominada Encripta y que

retorna un valor tipo String el cual mediante un algoritmo de

transformación de caracteres a dígitos Hexadecimales y

especiales cifra la clave ingresada.

148

3.7.2 Componente Ingreso al Sistema

Diagrama de Bloque

Descripción

Inicialmente el componente permitirá la llamada a un

procedimiento que carga un objeto Splash que será la

presentación del sistema. Acto seguido se permitirá ingresar el

usuario y password. El password será encriptado a través del

modulo encrip_mod cuya función retornará una cadena de

caracteres que corresponde al password. Estos datos deben

ser validados como existentes a través de una función local

denominada comprobarusuario cuando se activa el evento

Click de la forma. Dicha función retornará un valor tipo Boolean

siendo True si el usuario es encontrado.

INGRESO PROCESO SALIDA

Figura 3.2

149

Si el password no es el correcto se activará un contador que

tiene como numero máximo 3 intentos fallidos y es controlado a

través de una sentencia for y superado este limite el password

tomara automáticamente un estado de Bloqueado donde

modifica un campo de la tabla AccesoUser

La selección de roles, se cargará a través del evento Load de la

forma el cual los extraerá de la Base de Datos.

Inmediatamente si los valores son correctos se llamará al objeto

frmmenuprincipal que corresponde al Menú del Sistema.

Datos de Entrada

Txtusuario de tipo texto

Txtpassword de tipo texto

Cmbrol de tipo combo Box

Datos de Salida

Cmbrol tipo combo box almacenado en módulo

Datos_user_mod

150

Consideraciones

Si los datos de usuario son incorrectos se activa la excepción

con un mensaje de alerta. “DATOS INCORRECTOS”.

Tablas involucradas

AccesoUser

RolUser

3.7.3 Componente Conexión a Servidor o Pc

Diagrama de Bloque

Descripción

La ejecución de una Auditoría requiere que exista una conexión

a un servidor o Pc, el cual el objeto frmconectar es instanciada

e inicializada a través de un constructor con el objeto de que

esta permita realizar una nueva auditoria.

INGRESO PROCESO SALIDA

Figura 3.3

151

Se ingresa datos correspondientes al usuario de red y el

password, la ip o nombre del servidor y el dominio. Este ultimo

activa un evento de KeyPress el cual valida cuando se pulse la

tecla enter.

Con los datos ingresados se llama la evento Click al

seleccionar el botón conectar.

El proceso de la conexión ejecuta la llamada a módulos y

funciones que ayudan a validar si el servidor ingresado es o no

un Domain Controller. Para logra esto se uso el modulo

AD_Con_mod el cual tiene una función que almacena los datos

del usuario password y el dominio con retorno de valor tipo

ConectionOptions.

El valor anterior es usado como parámetro en la función

y el nombre del servidor que analiza si este es un Domain

Controller denominada isDomainController

Datos de Entrada

Txtconectarusuario de tipo texto

152

Txtconectarpassword de tipo texto

Txtiponombre de tipo texto

Txtdominio de tipo texto

Datos de Salida

Almacenamiento del nombre del Pc o Server en el Modulo

Datos_con_Mod si este es o no Domain Controller.

Consideraciones

Se existe un error de conexión se activa el control de Excepción

con alerta “OCURRIO UN ERROR DE CONEXIÓN “

Tablas Involucradas

CabAud

153

3.2.4 Componente Auditoría de Server o Pc

Diagrama de Bloque

Descripción

El Componente Auditoría de Server o PC permitirá realizar

auditoría variables de Seguridad de Active Directory y de

Windows. Previamente se extraerá el nombre del Servidor o Pc

conectado con el modulo Datos _Con_mod el cual llama una

función denominada GnameComputer que retorna dicha

información. Esta acción es generada en el evento load de la

clase frmauditar.

INGRESO PROCESO SALIDA

Figura 3.4

154

Las opciones presentadas en el menú llaman a funciones que

se encargan de extraer datos según sea lo seleccionado.

Para explicar lo esencial de cada función cabe indicar que estas

son llamadas a través del menú y presentadas en un objeto de

tipo Listview. Es posible también ejecutar todas las

extracciones a la vez utilizando la opción Todos el cual

ejecutará todas las funciones detalladas en frmauditar

Proceso de extracción de las variables de Seguridad

Todos los procedimientos utilizan variables de tipo

ObjectQuery que es una clase que manejadora de consultas.

Estas consultas son realizadas a las Clases internas de

Windows las cuales se citarán en lo posterior.

Procedimiento extracción de Services Pack

Al invocar este procedimiento se creará una variable de tipo

ObjectQuery que extraerá la información del Services Pack, el

Sistema Operativo y versión de PC o Servidor utilizando la

clase de Windows ads_computer mientras un campo interno

que contiene el nombre del Pc sea igual al almacenado en el

modulo Datos_con_mod . La información obtenida es

155

mostrada en el Listview y es almacenada en el modulo

save_ServicePack_Mod.saveSP que se encargará de insertar

los datos en una tabla de base de datos.

A continuación se presenta el Query con todos los campos

implicados

Procedimiento extracción de Recursos Compartidos

El procedimiento devuelve los datos obtenidos de la extracción

del nombre del recurso compartido y la ruta de la clase interna

Win32_Share.Se especifica la ruta de extracción a travez de un

objeto de tipo ManagementScope y la llamada al módulo de

almacenamiento de nombre del Servidor. La información

obtenida se almacenará en el módulo Save_FileSharing_Mod

que se encarga de insertar los datos en una tabla de la base de

datos.

Dim query As New ObjectQuery( _"SELECT

DS_operatingSystemServicePack,DS_operatingSystem,DS_operatingSystemVersion,DS_distinguishedNameFROM ads_computer where DS_name ='" &Datos_Con_mod.GNameComputer() & "'")

156

Procedimiento extracción de Servicios

El procedimiento devuelve datos obtenidos de la extracción de

los servicios del Isa Server, SqlServer y Exchange Server si se

encontraran levantados.

La clase de Windows que realiza tal acción se denomina

Win32_Service invocado a través de un objeto de tipo

ObjectQuery más un objeto que almacene la ruta de tipo

ManagementScope y el modulo que almacena el nombre del

Servidor.

La información obtenida se almacenara en el modulo

save_audService_Mod que se encarga de insertar en una

tabla de la base de datos.

Dim scope As New ManagementScope("\\" &Datos_Con_mod.Gser() & "\root\CIMV2”)

Dim query As New ObjectQuery( _"SELECT name,path FROM

Win32_Share")

157

Procedimiento extracción de Procesos

El procedimiento se encarga de extraer todos los procesos

levantados en el Servidor o Pc auditado presentado el nombre

del proceso, fecha de creación y ruta de ejecución. La clase que

permite extraer tal información es Win32_process. Se crea un

objeto de tipo ObjectQuery para extracción de la información

mencionada más un objeto que especifica la ruta de extracción

de tipo ManagementScope. Esta información es almacenada

en el módulo save_process_Mod que se encarga de insertar

en una tabla en la base de datos.

Dim query As New ObjectQuery( _"SELECT * FROM Win32_Service")

Dim scope As New ManagementScope("\\" &Datos_Con_mod.Gser() & "\root\CIMV2”)

Dim scope As New ManagementScope("\\" &Datos_Con_mod.Gser() & "\root\CIMV2")

Dim query As New ObjectQuery( _"SELECT * FROM Win32_Process")

158

Procedimiento extracción de GPO

El procedimiento de las GPO permite extraer información de la

GPO concernientes al nombre de la Pc, la ruta de la política y el

nombre de esta. Para poder extraer esta información se crea un

objeto de tipo RegisterKey el cual extraerá la información de

registro de una maquina la cual debe ser comparada con los

datos obtenidos en un Query a la Base de Datos.

Los datos obtenidos se almacenarán en el modulo

Save_GPO_Mod.vb el cual inserta los datos en una tabla de

base de datos.

Procedimiento extracción De Domain Admin

El procedimiento se encarga de extraer los usuarios

administradores de dominio y la fecha de creación. La clase

interna de Windows que permite esta extracción es la ds_user.

Para lograr este propósito se crea un objeto de tipo

ObjectQuery y un objeto de tipo ManagementScope que

almacenar la ruta de extracción y el módulo que permite obtener

el nombre del Servidor.

159

Los datos obtenidos se almacenarán en un módulo denominado

save_audAdminDomain_Mod.vb que inserta los datos en una

tabla de la base de datos.

Procedimiento extracción de Usuarios cuyas claves nocaducan

El procedimiento permite extraer los usuarios y fechas de

creación de usuarios cuyas claves no caducan. Esta

información es obtenida gracias a la clase interna de Windows

ads_user con un objeto tipo ObjectQuery y un objeto tipo

ManagementScope que permite almacenar la ruta de extracion

más el modulo que permita obtener elnombre del servidor.

Los datos son lamacenados en un modulo denominado

save_PassNeverExpire_Mod.vb que inserta datos en una

tabla de la base.

Dim scope As New ManagementScope("\\" &Datos_Con_mod.GDCP() & "\root\directory\LDAP"

Dim query As New ObjectQuery( _"SELECT ds_name,

ds_memberOF,DS_whenCreated FROM ds_user")

160

Datos de Entrada

Llamada a la función del modulo Datos _Con_mod que retorna

el nombre del Servidor.

Selección de opción dentro de la clase frmauditar

Datos de Salida

Datos almacenados en los módulos creados para la extracción

Consideraciones

Ninguna

Tablas Involucradas

AudServicePack

audProcess

audPassNeverExpire

Dim scope As New ManagementScope("\\" &Datos_Con_mod.GDCP() & "\root\directory\LDAP"

Dim query As New ObjectQuery("Selectds_name,DS_WhenCreated from ads_user whereds_userAccountControl=66048")

161

AudGPO

AudCarpetasCompartidas

cabAud

audServices

audAdminDomain

audAdmin

3.2.5 Componente Comparación de Auditorías

Diagrama de Bloque

Descripción

El componente de Comparación de Auditorias se encarga de

extraer todas las auditorías realizadas a un servidor de una

compañía y comparar 2 de ellas en el tiempo, generando un

INGRESO PROCESO SALIDA

Figura 3.5

162

reporte con los resultados. Para obtener la CIA seleccionada

desde el Menú principal se invoca al módulo Datos_Con_mod

cuya función retorna el nombre de la compañía.

Para extraer las auditorías y presentarlas en un objeto de tipo

gridView se crean 2 objetos tipo SqlDataadapter para el string

y la conexión cuyos resultados son almacenados en un objeto

de tipo Dataset .

Se selecciona una auditoría dando clic en 2 registros e

inmediatamente se guarda el campo idAuditoria de la 1ra

columna de la tabla en el módulo Datos_Con_mod Cuya

función permite almacenar el Id de Auditoría.

Al llamar al Evento click del botón Comparar se ejecuta el

reporte generado con un StoreProcedure que enlaza las tablas

y realiza un reporte con los datos obtenidos.

Generación de Reporte

La generación de reporte se realiza a través de la llamada al

evento del Click del botón comparar el cual declara variables de

tipo string para almacenar las variables de compañías y id de

163

auditorias seleccionadas junto al servidor. Adicional se crea una

instancia de un objeto tipo Visor de frmvisor donde se llama a

la construcción del Reporte.

Datos de Entrada

Lblcía tipo label que captura el nombre de la compañía de la

selección.

Cmbseleccionarserver tipo combo box para selecciónar

empresa.

Datos de Salida

Idaud, idaud2 que al almacenan el id de auditoría obtenido con

el clic en el DataGridView. Estos valores servirán de referencia

para generar el reporte.

Consideraciones

Si la compañía no tiene ninguna auditoría realizada se activa un

condicionante if donde se cuestiona si el contador del lazo for

ha sido 0 entonces se presentará un mensaje de alerta “No

existen Auditorías realizadas”.

164

Tablas

Cabaud: Almacena la cabecera de Auditoría

3.2.6 Componentes Parametrización

Diagramas de Bloque

Descripción

El componente parametrización permitirá grabar datos

correspondientes al Services packs, discos y puertos para

poder evaluar si de acuerdo a estos se cumplen o no las

INGRESO PROCESO SALIDA

Figura 3.6

165

buenas prácticas. Cabe indicar que los datos parametrizables

son estipulados por el auditor según su criterio de revisión.

Para su ejecución, permitirá en primera instancia ingresar datos

de rango de puertos, porcentaje de disco y el Services packs el

que será cargado desde un archivo .xml donde contiene los

datos actuales de los Services packs esto lo hace invocando el

evento btnCargarArchivo_Click. Luego este archivo debe

actualizarse en la base, proceso que se invoca a través del

evento click de del botón btnactualizar que actualiza en

la base del sistema a traves de la llamada a una funcion

denominada CargarInfoServicePack().

Parametrizar disco involucra validar que el porcentaje sea del 1

al 100 a través del evento lostfocus del campo

txtespaciolibre.

Parametrizar puertos involucra validar que el rango sea del 1 al

65535 y esto se puede lograr a través del evento Lostfocus de

los campos de entrada txtfin y txtini.

El componente parametrizar permite grabar datos por defecto y

grabar datos parametrizados.

166

La llamada al evento clic del botón btndefault permite grabar

20% para analizar el espacio en disco y 1 al 1024 para analizar

los puertos.

La llamada la evento btnguardar_Click permitirá grabar a

base de dastos los campos parametrizados bajo una conexión

llamada a través del módulo DB_con_mod.con que ha sido

definida en los modulos anteriores.

Una inserción de datos a la tabla correspondiente a

Parametrizar.

Datos de Entrada

Txtespaciolibre de tipo texto para ingresar el porcentaje de

disco.

server =192.168.2.13;initial catalog =saw;integrated security = SSPI;prsistsecurity info= false

sel = "insert dbo.parametros(razonsocial,espaciolibre,puertoini," & _

"puertofin) values(@razonSocial,@porcentajedisco,@puertoinicial,@puertofinal)"

167

Txtini para ingresar el inicio de rango de puertos a descubrir.

Txtfin para ingresar el fin de rango de puertos a descubrir.

Datos de Salida

Ninguno

Consideraciones

Si se graba parametrizaciones con campos vacíos toma los

parámetros por defecto.

Tabla involucrada

Parámetros

3.2.7 Componente Generación de Reportes

Diagrama de Bloque

INGRESO PROCESO SALIDA

Figura 3.7

168

Descripción

Este componente permitirá generar reportes de Usuarios,

Empresas y auditorías.

Se creará un menú que mostrará todos los reportes de los

elementos mencionados anteriormente de los cuales se llamará

a un objeto instanciado de frmvisor que es el encargado de

llamar a los reportes de usuarios y empresas sean estos activos

e inactivos.

Para generar los reportes de auditorías llama al menú

frmdatosreporte el cual contendrá las especificaciones de

tipos de empresas y usuarios auditores y la fecha de auditoría,

esto lo logrará llamando a funciones para llenar datos del

auditor o de la empresa y la fecha en una lista junto con el dato

de identificador de reporte almacenado en el módulo

Datos_Con_mod.

El menú frmdatosreporte contiene un botón que llama al

reporte y que se visualiza a través del evento Clic del

Botón btnverReporte.

169

BtnVerReporte llama a los reportes creados con la herramienta

Cristal Report los cuales necesitan objeto instanciado de tipo

frmvisor para poder mostrarlos en pantalla. Los reportes

ejecutan Stores procedures los cuales extraen datos necesarios

según el filtro del Query creado en el procedimiento

Detallamos todos los stores procedures que utiliza en la

ejecución de este componente:

1. pa_c_saw_PuertosPorParametro

2. pa_c_saw_PuertosPorFecha

3. pa_c_saw_ProcesosPorParametro

4. pa_c_saw_ProcesosPorFecha

5. pa_c_saw_PassNeverExpirePorPar

6. pa_c_saw_PassNeverExpirePorFecha

7. pa_c_saw_DomainAdminPorParametro

8. pa_c_saw_DOMAINADMINPorFecha

9. pa_c_saw_DiscosPorParametro

10. pa_c_saw_DiscosPorFecha

11. pa_c_saw_detalleAudservipack

12. pa_c_saw_detalleAudPuertos

13. pa_c_saw_detalleAudPassNeverExpire

14. pa_c_saw_detalleAudGpo

170

15. pa_c_saw_detalleAudcarpetasCom

16. pa_c_saw_detalleAudAdminDomain

17. pa_c_saw_detalleAudAdmin

18. pa_c_saw_AdminLocalPorParametro

19. pa_c_saw_AdminLocalPorFecha

19. pa_c_saw_AdminLocalPorFecha

20. pa_c_saw_servicepackPorParametro

21. pa_c_saw_servicepackPorFecha

22.pa_c_saw_CarpetasCompartidasPorParametro

23. pa_c_saw_CarpetasCompartidasPorFecha

24, pa_c_saw_ServiciosPorParametro

25. pa_c_saw_ServiciosPorFecha

26. pa_c_saw_GPOPorParametro

27. pa_c_saw_GPOPorFecha

Datos de Entrada

cmbDR de tipo combobox que permite seleccionar el auditor, o

empresa o fecha que se haya seleccionado en el menú.

Datos de Salida

Visor de tipo frmvisor que mostrará los reportes según la opción

seleccionada.

171

Consideraciones

Si se ejecuta la generación de reporte sin la selección de

campos se presentará alerta “Seleccionar Datos”

Tablas Involucradas

Empresa

AccesoUser

CabAud

audServicesPacks

audCarpetasCompartidas

audprocesos

audServices

audpuertos

audgpo

audDomainAdmin

audPassNeverExpire

audAdmin

auddiscos.

172

3.2.8 Componente de Ingreso de Usuario

Diagrama de Bloque

Descripción

El componente permite ingresar los datos del usuario de la

herramienta y asignarle un rol.

Se ingresa los datos correspondientes al nombre, apellido, CI,

dirección, teléfono, status los cuales son grabados a la base de

datos a través del evento btnAP_Click el cual a través llama a

la conexión a la base de datos DB_con_mod.con().

INGRESO PROCESO SALIDA

Figura 3.8

173

Luego de que los datos son grabados con éxito deben asignarle

un rol el cual se ejecuta a través de frmPerfilusuario.show la

que permite asignar datos de usuario, password y rol para

finalmente grabar los datos en la base de datos llamada a

traves de la conexión DB_con_mod.con().

Datos de Entrada

Txtnombreingresousuario

Txtapellidoingresousuario

Txtciusuario

Txtdireccioningresousuario

Txttelefonoingresoussuario

Txtmailinresousuario

Cmbstatususuario

Txtusuarioperfil

Txtpasswordperfil

Txtconfirmarpassword

cmbperfilusuario

Datos de Salida

MessageBox

174

Consideraciones

Si el la cédula del usuario existe se presenta mensaje de alerta.

Si los campos están vacíos presenta mensaje de alerta.

Si es una cédula incorrecta, mensaje de alerta.

Si confirmación de password es incorrecta, mensaje de alerta.

Tablas Involucradas

Usuario, RolUser

175

CAPITULO 4

4. FASE DE ESTABILIZACIÓN

4.1 Objetivos

El desarrollo del Sistema SAW implica la planificación de un plan de

pruebas que se ejecute mientras se realiza su construcción lo cual

implica que cumplan los siguientes objetivos:

Identificar las actividades requeridas para preparar y conducir

las pruebas

Identificar los controles de configuración y métricas

Identificar métricas y reportes de estado

Identificar responsabilidades para las tareas incluidas en el plan

Identificar las herramientas de prueba y el ambiente requerido

para conducirlas

176

Con esta planificación se asegura que el plan ha considerado

cuidadosamente la situación y la solución y ha creado una estrategia

de pruebas adecuada.

4.2 Características y funcionalidad a probar

Las características que serán probadas para determinar si el software

desarrollado cumple con los requerimientos establecidos en el diseño

son los siguientes:

Especificación

Usabilidad

Rendimiento

Resistencia

Robustez

Seguridad

Con estas características se pretende lograr lo siguiente:

Especificación: Con una prueba de especificación se pretende probar

que la aplicación cumple con los requerimientos documentados

realizados en el diseño.

177

Usabilidad: Con las pruebas de usabilidad se pretende analizar si la

Interfaz grafica de Usuario GUI es apta para el uso de los usuarios y

brinda características como: intuitiva, amigable y correcto

funcionamiento.

Rendimiento: Con las pruebas de rendimiento se pretende obtener el

tiempo de respuesta del sistema, espacio ocupado en Disco y

memoria para evaluar si son los óptimos.

Resistencia: Con las pruebas de resistencia se pretende probar la

capacidad de soporte de la aplicación en cuanto a conexiones.

Robustez: Con la prueba de robustez se pretende probar la capacidad

de soportar entradas erróneas.

Seguridad: Se pretende probar la calidad de los niveles de permisos

de usuarios, operaciones de acceso al sistema y acceso a datos.

Las pruebas que se implementaran para evaluar el producto son las

siguientes

178

Característica Tipo de pruebaespecificación FuncionalUsabilidad Testeo de usuariosRendimiento Rendimiento, carga o estrésResistencia Rendimiento carga o estrésRobustez Unitaria e integradaSeguridad Unitaria e integrada

4.3 Resultados esperados

La ejecución de pruebas permitirá evaluar el producto a través

de la aplicación de casos de prueba, lo cual debe demostrarse

el cumplimiento de las especificaciones detalladas en fases

anteriores.

A través de la aplicación del Testeo de Usabilidad se obtendrá

una perspectiva más clara de lo que necesita el usuario y sus

reacciones ante lo que ve. Los desarrolladores estaremos

consientes de los errores existentes para que sean pulidos.

La ejecución de la prueba de carga o rendimiento entregará al

desarrollador valores cuantitativos del desempeño de la

Herramienta en condiciones de alto procesamiento de datos.

Tabla 29

179

La prueba unitaria e integrada permitirá evaluar la herramienta

con una perspectiva individual y colectiva. El desarrollador

podrá analizar al detalle el comportamiento de una función de

componente para luego analizar su comportamiento colectivo.

4.4 Procedimiento de las Pruebas

4.4.1 Característica de evaluación: Usabilidad

Las pruebas de Usabilidad se realizaran con el único fin de

evaluar el diseño. Se escogerá a un usuario para que realice la

prueba tomando en cuenta que este debe ser totalmente

independiente de los desarrolladores. Se prepara un ambiente

de pruebas donde se instalará al sistema para la ejecución de

las mismas.

Antes de ejecutar la prueba se deberá seguir los siguientes

pasos para lograr una prueba exitosa

Preparación.

Asegurarse de que el sistema esta listo para ser

probado.

180

Identificar una serie de tareas que el usuario debería ser

capaz de cumplir.

Fijar fecha y hora para la ejecución

Elaborar una lista de posibles participantes de las

prueba.

Presentación de las pruebas

Lograr un buen ambiente con los usuarios elegidos

Establecer el contexto

Sugerir a los usuarios que expresen sus opiniones

libremente.

Desarrollo de la prueba

No ayudar al usuario

Tomar nota de todo lo que se pueda

Entable dialogo con los usuarios.

Verificar la lista inicialmente propuesta con la obtenida

Plan de Acción

Trasladar comentarios y modificaciones

Considerar la posibilidad de sugerencias

181

4.4.2 Lista de Acciones que el Usuario debe ser capaz deCumplir

Ingresar al Sistema

Auditar Un equipo

Reconocer Opciones

Generar Reportes

Cambiar Servidor

Limpiar pantallas

Cambiarse de Pantallas

Salir de la aplicación

Reconocer Acciones

El usuario esta abierto a establecer sus opiniones en temas de

Apariencia

Rapidez

Uso

Opinión general del Sistema

182

4.4.3 Requerimientos de Recursos para las pruebas

Recursos de Hardware

El ambiente de las pruebas debe estar previsto de un equipo

con características de servidor para que puedan lograrse los

objetivos de auditoria de equipos. Se utilizará un servidor con

Windows 2003 server y con capacidad para ejecutar maquinas

virtuales.

Requerimientos de personal para las pruebas

Para la ejecución de las pruebas el desarrollador debe asistir al

usuario en cualquier momento de ejecución de la prueba por

estar totalmente capacitado para responder preguntas

originadas por los usuarios.

Por se un software netamente de Auditoría se buscará usuarios

afines a esta rama.

183

Requerimientos de herramientas para las pruebas

Para la ejecución de las pruebas se requerirá de un software de

maquinas virtuales Microsoft Virtual Server que permiten

simular una red con servidores y Domain Controller para poder

realizar Auditorías dentro de esta red ficticia y probar todas las

bondades que el software brinda.

El los requerimientos integrados generan el siguiente ambiente

de pruebas.

4.4.4 Diagrama del Ambiente de pruebas

Figura 4.1

184

4.4.5 Característica de evaluación: Rendimiento yResistencia

4.4.5.1 Procedimiento de la prueba

La evaluación de esta característica la realizará el

desarrollador el cual someterá al sistema a un número

establecido de conexiones a determinado equipo para

poder analizar su comportamiento.

Se realizará una secuencia ascendente de conexiones

para la auditoría para determinar el rendimiento y tiempo

de respuesta de establecer la conexión. Además se

analizará el procesamiento y memoria utilizada durante la

ejecución.

4.4.5.2 Requerimientos de Hardware

Esta prueba se ejecutará en el ambiente de desarrollo

establecido con anterioridad contando con tres maquinas

para el desarrollo.

185

4.4.5.3 Requerimientos del Personal

La ejecución de esta prueba la realizará el desarrollador

por ser una prueba que no implica involucrar a usuarios.

4.4.5.4 Requerimientos de herramientas

La integración de estos requerimientos genera el

siguiente ambiente:

4.4.6 Característica de evaluación: Robustez y seguridad

La ejecución de estas pruebas implica la realización de casos

de Prueba en el cual se analizan los principales módulos para

evaluar su comportamiento son:

Figura 4.2

186

Ingreso al sistema.

Conexión al Servidor

Ingreso de Usuarios

Ingreso de Compañías

Cambiar Clave

4.4.6.1 Casos de Prueba

Caso de prueba: Ingreso al sistema

Entradas: usuario mcalero password usuario

Condiciones de ejecución: en la tabla AccesoUser

existe el registro cuyos campos (usuario, password,

intentos) contienen los datos (mcalero, mcalero, 0) pero

no (mcalero, usuario, 0).

Resultado Esperado: no dejar entrar y cambia el

registro a (mcalero,mcalero, 1).

Objetivo del caso de prueba: Comprobar que no deja

entrar a un usuario existente con clave equivocada.

Caso de prueba: Ingreso al sistema

Entradas: Usuario “campovacio” password “campo

vacío”.

187

Condiciones de ejecución: en la tabla AccesoUser com

campos (usuario, password, intento) no existe un registro

con datos (“ “, “ “, 0).

Resultado esperado: No dejar ingresar y presentar el

mensaje “Ingresar Datos de Autenticación”.

Objetivo del caso de prueba: Comprobar que no se

permite el ingreso con campos vacíos.

Caso de Prueba: Ingreso al Sistema

Entrada: Usuario mcalero password password

Condiciones de ejecución: en la tabla AccesoUser

existe el registro cuyos campos (usuario, password,

intentos) contienen los datos (mcalero, mcalero, 2) pero

no (mcalero, password, 2).

Resultado Esperado: no dejar entrar y cambia el

registro a (mcalero,mcalero, 3) presentando el mensaje

“clave bloqueada comuníquese con el administrador”.

Objetivo del caso de prueba: Comprobar que el usuario

se bloquea al ingresar un password incorrecto al tercer

intento.

188

Caso de prueba: Ingreso al sistema

Entradas: usuario mcalero password mcalero rol

reporteador.

Condiciones de ejecución: en la tabla AccesoUser

existe el registro cuyos campos (usuario, password, rol)

contienen los datos (mcalero, mcalero, auditor) pero no (

mcalero, mcalero, reproteador).

Resultado Esperado: no dejar entrar y presentar el

mensaje “rol incorrecto” y limpiar campos.

Objetivo del caso de prueba: Comprobar que no deja

entrar a un usuario existente con un rol incorrecto.

Caso de Prueba: Conexión al Servidor o Pc

Entradas: Usuario de red: jvalarezo password de red

password ip o nombre del Server mirage dominio

titan.com.

Condiciones de ejecución: en la tabla cabaud existe el

registro cuyos campos (usuario, password,

iponombre,dominio) contienen los datos (jvalarezo,

password1,mirage,titan.com ) pero no ( jvalarezo,

password, mirage,titan.com).

189

Resultado Esperado: no dejar conectar y presentar el

mensaje “password incorrecto”.

Objetivo del caso de prueba: no dejar conectar con un

usuario de red con password incorrecto.

Caso de Prueba: Conexión al Servidor o Pc

Entradas: Usuario de red: usuario password de red

password ip o nombre del Server mirage dominio

titan.com.

Condiciones de ejecución: en la tabla cabaud existe el

registro cuyos campos (usuario, password,

iponombre,dominio) contienen los datos (jvalarezo,

password1,mirage,titan.com ) pero no ( usuario,

password, mirage,titan.com)

Resultado Esperado: no dejar conectar y presentar el

mensaje “usuario incorrecto”.

Objetivo del caso de prueba: no dejar conectar con un

usuario de red incorrecto.

190

Caso de Prueba: Conexión al Servidor o Pc

Entradas: Usuario de red: jvalarezo password de red

password1 ip o nombre del Server maquina1 dominio

titan.com

Condiciones de ejecución: en la tabla cabaud existe el

registro cuyos campos (usuario, password,

iponombre,dominio) contienen los datos (jvalarezo,

password1,mirage, cuzco o toshiba,titan.com ) pero no (

jvalarezo, password1, maquina1,titan.com)

Resultado Esperado: no dejar conectar y presentar el

mensaje “no existe la ip/servidor”.

Objetivo del caso de prueba: no dejar conectar con

nombre de maquina incorrecta.

Caso de Prueba: Conexión al Servidor o Pc

Entradas: Usuario de red: jvalarezo password de red

password1 ip o nombre del Server cuzco dominio

red.com

Condiciones de ejecución: en la tabla cabaud existe el

registro cuyos campos (usuario, password,

iponombre,dominio) contienen los datos (jvalarezo,

191

password1,mirage, cuzco o toshiba,titan.com ) pero no (

jvalarezo, password1, cuzco,red.com).

Resultado Esperado: no dejar conectar y presentar el

mensaje “Dominio incorrecto”.

Objetivo del caso de prueba: no dejar conectar a un

dominio inexistente.

Caso de Prueba: Conexión al Servidor o Pc

Entradas: Usuario de red: campo vacío password de

red campo vacío ip o nombre del Server vacío dominio

campo vacío.

Condiciones de ejecución: en la tabla cabaud existe el

registro cuyos campos (usuario, password,

iponombre,dominio) no contienen datos (“”, “”, “”,””)

Resultado Esperado: no dejar conectar y presentar el

mensaje “Ingresar Datos”

Objetivo del caso de prueba: no dejar conectar sin

datos de conexión.

192

Caso de Prueba: Ingreso de Usuario

Entradas: nombre Pedro apellido Méndez CI

3333333333 Dirección Alborada email

[email protected] teléfono 086837080 status activo

Condiciones de ejecución: En la clase ingresar usuario

existe una función denominada valiCI que valida cada

digito ingresado con un algoritmo para cedulas validas

del SRI.

Resultados Esperados: no dejar ingresar más

caracteres mientras encuentre uno inválido.

Objetivo del caso de prueba: no permitir el ingreso de

cedulas ficticias.

Caso de Prueba: Ingreso de Usuario

Entradas: nombre campo Vacio apellido Méndez CI

0920569076 Dirección Alborada email

[email protected] teléfono 086837080 status activo

Condiciones de ejecución: En la tabla de usuario se

pretenderá grabar los datos (“”,

mendez,0920569076,alborada,[email protected],a

193

ctivo) Resultados esperados: no dejar grabar datos en

la base y presentar el mensaje “Ingresar usuario”

Objetivo del caso de prueba: no grabar campos vacíos

en la base de datos

Décimo segundo caso de prueba: Ingreso de Usuario

Entrada: CI 0920569076

Condiciones de Ejecución: en la tabal usuario existe un

registro cuya cedula es 0920569076 .

Resultados esperados: Que no grabe y presente un

mensaje “Cedula ya existe”.

Objetivo de casos de prueba: No grabar 2 usuarios con

la misma cedula.

Caso de Prueba: Ingreso de Empresa

Entradas: RUC campo vacio, razón social campo

vacío, dirección campo vacío, teléfono campo vacio

representante campo vacio status campo vacío

Condiciones de ejecución: en la tabla empresa se

pretenderá grabar los datos (“”, “”, “”, “”, “”, “”).

194

Resultados esperados: No dejar grabar y presentar

mensaje “Ingresar datos”.

Objetivo del caso de prueba: no grabar campos vacios

en la base de datos.

Caso de Prueba: Ingreso de Empresa

Entradas: RUC 5559assw, razón social Boutique Jen,

dirección olmedo y Eloy Alfaro teléfono 2518450

representante Jenny Rodriguez status A

Condiciones de ejecución: en la tabla empresa se

pretenderá grabar los datos (5559assw, Boutique Jen,

Olmedo y Eloy Alfaro, 2518450, Jenny Rodríguez, A).

Resultados esperados: bloquear el keypress para las

letras.

Objetivo del caso de prueba: no grabar datos que sean

letras.

Caso de prueba: Cambiar clave

Entradas: Clave anterior clave1

195

Condiciones de ejecución: en la tabla accesoUser

existe un registro (usuario, password, intentos) con datos

(mcalero, mcalero, 0) pero no (mcalero, clave1, 0).

Resultados esperados: no dejara cambiar el password

y presentar “Clave incorrecta”.

Objetivo de caso de prueba: no permitir cambiar clave

sin antes validar que el ingreso de la clave anterior sea la

correcta.

Caso de prueba: Cambiar clave

Entradas: Clave anterior mcalero nueva clave clavenew

confirmación claveold.

Condiciones de ejecución: en la tabla accesoUser

existe un registro (usuario, password, intentos) con datos

(mcalero, mcalero, 0) donde la confirmación claveold es

diferente de clavenew.

Resultados esperados: no dejara cambiar el password

y presentar “Confirmación incorrecta”.

Objetivo de caso de prueba: no permitir cambiar clave

sin antes validar que la de clave nueva sea igual que la

confirmación.

196

4.5 REPORTE DE PRUEBAS

4.5.1 Ejecución de casos de pruebas para evaluar la robustez y

seguridad

Caso de prueba: Ingreso al sistema

Objetivo del caso de prueba: Comprobar que no se permite el

Ingreso con campos vacíos.

RESULTADO: No satisfactorio

El campo se encuentra validado pero se debe hacer una revisión del

mensaje que se visualiza, pues no es acorde.

Se sugiere revisar la clase frmlogin.form para la corrección.

197

Caso De Prueba: Ingreso Al Sistema

Objetivo del caso de prueba: Comprobar que el usuario se bloquea

al ingresar un password incorrecto al tercer intento.

RESULTADOS: Satisfactorio

198

Caso De Prueba: Ingreso Al Sistema

Objetivo del caso de prueba: Comprobar que no deja entrar a un

usuario existente con un rol incorrecto.

Resultados: Satisfactorio

199

Caso de prueba: Conexión al servidor o PC

Objetivo del caso de prueba: no dejar conectar con un usuario de

red con password incorrecto.

RESULTADO: No satisfactorio

Se sugiere cambiar el mensaje que se visualiza en pantalla para una

mejor comprensión.

Se requiere revisar la forma frmauditar.form para corregir los errores.

Caso de prueba: Conexión al servidor o Pc

Objetivo del caso de prueba: no dejar conectar con un usuario de

red incorrecto

RESULTADOS: No satisfactorio

200

Se sugiere cambiar el mensaje que se visualiza en pantalla para una

mejor comprensión.

Se requiere revisar la forma frmauditar.form para corregir los errores.

Caso de prueba: Conexión al Servidor

Objetivo del caso de prueba: no dejar conectar con nombre de

maquina incorrecta.

RESULTADOS: NO SATISFACTORIO

201

Se sugiere revisar el código de la forma frmconectar para establecer la

solución del Warning ya que al parecer se debe corregir las

excepciones.

202

Caso de Prueba: Conexión al Servidor o Pc

Objetivo del caso de prueba: no dejar conectar con nombre de

maquina incorrecta.

RESULTADOS: No satisfactorio

203

Se sugiere revisar el código de la forma frmconectar para establecer la

solución del Warning ya que al parecer se debe corregir las

excepciones.

Caso de Prueba: Conexión al Servidor o Pc

Objetivo del caso de prueba: no dejar conectar sin datos de

conexión.

RESULTADOS: Satisfactorio

204

Caso de prueba: Ingreso de Usuario

Objetivo del caso de prueba: no permitir el ingreso de cedulas

ficticias.

RESULTADOS: Satisfactorio

Caso de prueba: Ingreso de Usuario

Objetivo del caso de prueba: no grabar campos vacíos en la base de

datos.

RESULTADOS: Satisfactorio

205

Caso de prueba: Ingreso de Usuario

Objetivo de casos de prueba: No grabar 2 usuarios con la misma

cédula

RESULTADO: Satisfactorio

206

Caso de Prueba: Ingreso de Empresa

Objetivo del caso de prueba: no grabar campos vacíos en la base de

datos.

RESULTADOS: No satisfactorio

Se sugiere cambiar el mensaje ya que no hace referencia del evento

suscitado.

Se requiere revisar la forma frmingresarempresa.form para corregir

este inconveniente.

207

Caso de Prueba: Ingreso de Empresa

Objetivo del caso de prueba: no grabar datos que sean letras.

RESULTADOS: satisfactorio

4.5.2 Reportes de Pruebas de Rendimiento y Resistencia

Características de la prueba

Se procederá a ejecutar la prueba con el siguiente caso:

Se auditará el equipo de la red el cual se encuentra en el dominio

Titan.com para poder extraer extracciones de variables de

seguridades.

La siguiente prueba medirá el rendimiento del Software en base al

tiempo de conexión con maquinas con las siguientes características:

208

Maquina Procesador Memoriacuzco Celeron 2.80GHZ 1.5 GBmirage Pentium 4 1.3ghz 512

Toshiba-user Pentium 31.1GHZ

512

Para establecer una comparación de tiempos se realizará las

siguientes conexiones:

Cuzco Mirage

Cuzco Toshiba

Mirage Cuzco

MirageToshiba

ToshibaCuzco

ToshibaMirage

Resultados Obtenidos

Servidor Testeado: Cuzco

Memoria Ocupada por el Sistema: 40,320 KB

Conexión Tiempo derespuesta

Cuzco- Mirage 13.07 segCuzco-Toshiba 7.44 seg

209

Servidor Testeado: Mirage

Memoria ocupada por el Sistema: 46 MG

Conexión Tiempo derespuesta

Mirage-Cuzco 28.91segMirage-Toshiba 29.60 seg

Prueba de resistencia de Conexión

Para realizar esta prueba se realizará varias conexiones simultáneas a

un servidor para ser auditado, el cual se medirá el de respuesta en

función de la carga sometida.

Maquina Auditada

Toshiba

Conexión 1 maquina:

Cuzco: 7.44seg tiempo de respuesta

Migrage: 29.60 seg tiempo de respuesta

Conexión de 2 maquinas:

7.93 seg de tiempo de respuestas

Interpretación de resultados:

Como era de esperarse los equipos que poseen mejores

características tendrán un mejor rendimiento al momento de probar el

210

tiempo de respuesta de una aplicación. En nuestro caso es visible que

el Servidor Cuzco es mucho más eficiente con la herramienta que

Mirage.

Otro punto que debemos evaluar es que el sistema soporta tareas

simultáneas con un tiempo de respuesta aceptable de 7 seg a pesar

de que la prueba se la realizó con una Mirage conectada por red

inalámbrica.

Sugerencias

Se sugiere que se utilice equipos con una buena capacidad de

memoria en su implementación para poder explotar las bondades de la

herramienta a cabalidad. Debemos pensar también que esta estará a

disposición de cualquier ambiente empresarial los cuales pueden tener

potentes servidores con miles de procesos y servicios ejecutándose,

lo que representa un reto para la herramienta obtener los mejores

tiempos de respuesta sin pensar en cantidades.

4.4.3 REPORTE DE PRUEBAS De Evaluación De La Usabilidad

La ejecución de esta prueba implicó entrevistas con usuarios ajenos al

sistema pero con bases de computación para que pudieran operar el

211

sistema. Se eligió a dos auditores los cuales se les indicó el objetivo

general de la prueba y los para que sirve la herramienta. Los

resultados obtenidos fueron los siguientes:

Lista de Acciones que el Usuario debe ser capaz de Cumplir

Auditar Un equipo

Reconocer Opciones

Generar Reportes

Cambiar Servidor

Limpiar pantallas

Cambiarse de Pantallas

Salir de la aplicación

Reconocer Acciones

El usuario esta abierto a establecer sus opiniones en temas de

Apariencia

Rapidez

Uso

212

Opinión general del Sistema

CARACTERISTICA SATISFACTORIO NO

SATISFACTORIO

Ingresar al Sistema X

Auditar Un equipo X

Reconocer Opciones x

Generar Reportes x

Cambiar Servidor x

Limpiar pantallas x

Cambiarse de Pantallas x

Salir de la aplicación x

Reconocer Acciones X

Opiniones generadas acerca de:

Apariencia: El usuario tuvo una buena impresión de la apariencia de la

aplicación, indico que lo que más le llamó la atención fueron los iconos

utilizados por ser diferentes a los comunes.

Rapidez: El usuario noto una leve lentitud en la ejecución del sistema

el cual le gustaría que los datos se obtuvieran en menos de 5

segundos.

Tabla 30

213

Uso: El usuario indicó que el uso de la herramienta es término medio

ya que al iniciar la sesión esperó ver alguna señal que le indique que

debe seleccionar una compañía para empezar a Auditar.

En términos generales el usuario califico a la herramienta como

aceptable las y que amerita una segunda versión ya que le gustaría

observar que la herramienta pueda brindar más servicios que los

actuales.

214

CAPITULO 5

5. CONCLUSIONES Y RECOMENDACIONES

El desarrollo del sistema de Auditoría de Seguridades Windows “SAW” nos

ha permitido obtener importantes conocimientos de las Seguridades de la

plataforma Windows como son sus configuraciones y sus necesidades de

actualización, algo que para la mayoría de Usuarios de Windows es conocido

pero muy poco practicado.

Por ser este un tema de mucha importancia y de marcado interés para los

auditores y desarrolladores se les invita a que revisen este proyecto como

apoyo a sus investigaciones y consultas por contener un grupo de opciones

y manejo de conceptos que puede aportar a el buen desempeño en sus

profesiones y a la vez fomentar futuras investigaciones que aporten al

215

mejoramiento de la herramienta, pues este campo es muy amplio que genera

muchas interrogantes y SAW cubre las primordiales.

5.1 Conclusiones

El sistema Saw ofrece una gran ventaja al auditor en la reducción del

trabajo de campo, lo que es útil en grandes corporaciones que

necesitan periodos largos de Auditoría. Por tal motivo obtenemos las

siguientes conclusiones:

Windows maneja sus seguridades en base a la actualización de

temas como el Services Pack, el cual permite asegurar que el

sistema operativo tiene las últimas actualizaciones de Windows

siendo esta una buena práctica de Seguridades.

Windows se vuelve vulnerable gracias al mal manejo de

recursos compartidos. La identificación de estos recursos puede

reducir inconvenientes, como por ejemplo virus y perdida de

información. Este es un aspecto administrado por los auditores

y expertos en seguridades de una corporación.

Los puertos abiertos en una red es un canal para ataques y

proliferación de virus lo cual es importante mantener la mayor

216

cantidad de ellos cerrados. Este aspecto cumple con otra buena

práctica de las Seguridades.

Cuando un servidor es encendido se levantan múltiples

procesos y servicios, los cuales generan alta o baja

disponibilidad de recursos. Es importante conocer todos los

servicios y su función para determinar si es factible o no su

ejecución. Esta buena práctica mejorará la disponibilidad de un

Equipo.

El Active Directory en la red juega un papel muy importante ya

que administra los recursos que se pueden compartir en un

servidor, directorios e impresoras. Através de las GPO se

puede controlar que políticas se aplican en un dominio y grupo

de Usuarios.

Los administradores de Dominio pueden manipular a través de

sus privilegios los recursos de la red sin restricciones, lo cual

debe ser manejado con mucha atención.

Los Usuarios cuyas claves no se encuentran incluidas en las

políticas de actualización de claves deben ser administrados

con precaución por sus propietarios.

217

La configuración de Windows puede ser manipulada a través de

sus clases internas y archivos de configuración appconfig.

La disponibilidad y tiempo de respuesta del Sistema SAW

puede ser mejorada si su instalación es realizada en un equipo

con excelentes características de procesamiento y memoria.

Administrar el porcentaje libre de un disco duro contribuye a la

buena administración de recursos en un servidor fomentando

las prácticas de depuración y revisión periódica.

La metodología MSF es la mejor guía en la elaboración de

proyectos por su especificación y por ser aplicada por Microsoft.

5.2 Recomendaciones

Desarrollar el sistema SAW requirió de investigación, análisis,

desarrollo e implementación de herramientas que contribuyeron a

obtener el producto final. Por esta razón es importante realizar las

siguientes recomendaciones:

Se recomienda aplicar el método de Planificación de Proyectos,

Microsoft Solutions Framework “MSF” por la facilidad de

manejo de plantillas donde se detalla todo lo que abarca la

218

etapa de Visión, análisis, diseño lógico y físico, pruebas e

implementación y fomenta el trabajo en equipo.

Implementar el uso de maquinas virtuales, ya que es una

buena práctica para ejecutar pruebas para eliminar necesidades

de espacio y recursos físicos adicionales. Se aconseja tener

para este fin equipos potentes con excelentes característica que

soporten su implementación.

Implementar el uso de software que controlen el

versionamiento ya que en proyectos grandes y con varios

desarrolladores es necesario que todos administren

actualizaciones de fuentes de manera concurrente. Investigar el

uso de Microsoft SourceSafe que es una herramienta de

versionamiento. Si prefiere software free puede optar por

Tortoise Subversión para Windows el cual también ofrece el

versionamiento con la característica de fusionar los cambios

realizados transformando esta en una nueva versión.

219

GLOSARIO DE TERMINOS

Active Directory : Herramienta de que se encuentra disponible a partir de

Windows 2000 Server cuya función es almacenar y controlar objetos de un

dominio como usuarios, recursos compartidos, recursos de impresión.

GPOs: Son los objetos de políticas de grupo. Son objetos que incluyen como

atributos cada una de las políticas que puede establecerse en Windows para

equipos y usuarios

GUI: Interfaz grafica de Usuario

MSF : “Microsoft Solution Framework” es una herramienta utilizada por

Microsoft que proporciona un sistema de modelos, principios y pautas para la

elaboración de proyectos informáticos.

SAW : “Sistema de Auditoría Windows”. Corresponde al nombre del Sistema

desarrollado en el presente proyecto.

220

Services Packs: Es una agrupación de actualizaciones, reparaciones, y

ampliaciones para una aplicación o Sistema Operativo, contenido en un

paquete ejecutable.

Router: Es un dispositivo de Hardware que permite la interconexión de red.

Puede ser utilizado en una empresa; para la conexión de una empresa con el

Internet o es utilizado también por los Proveedores del Servicio de Internet.

221

ANEXOS

ANEXO 1

PROYECTO SISTEMA DE DIAGNOSTICO DE SEGURIDADES EN S.O. WINDOWS

Inicio Finalización

ETAPA DE VISIONADO

1 Dedinicion del problema 15-Jan-08 25-Jan-08 JV; WQ; JCH

1,1Enfoque del Problema

1,2Estudio de antecedentes

1,3Entrevistas e investigaciones sobre el tema

2 Definicion de objetivos generales y especificos 25-Jan-08 31-Jan-08 JV; WQ; JCH

3 efinicion de alcances 2-Feb-08 5-Feb-08 JV; WQ; JCH

4 Definir metas y Vision 5-Feb-08 6-Feb-2008 JV; WQ; JCH

5 Estructura del proyecto

5,1 Roles de trabajo al grupo 7-Feb-08 7-Feb-08 JV; WQ; JCH

5.1.1 Asignacion de roles de trabajo según experiencias y conocimientos

5.1.2 Establecer lista de mienbros

5.1.3 Detallar responsabilidades

5,2 Definicion de estandares 8-Feb-08 8-Feb-08

5.2.1 Investigar estandares recomendados

5.2.2 Definir estandar a usar

5,3 Definicion de recursos 9-Feb-08 10-Feb-2008 WQ JCH JV

5.3.1 Definir recursos de Hardware

5.3.2 Definir recursos de Software

6 Definir limitaciones de HW SW Y RRHH 10-Feb-08 10-Feb-2008

7 Analisis de Riesgos 11-Feb-08 12-Feb-2008 JV; WQ; JCH

7,2 Categorizar los riesgos

7,3 Estimar la probabilidad del riesgo

7,4 Especificar el impacto del riesgo

7,5 Elaborar pasos para establecer una contingencia y mitigacion

8 Cierre de la fase de Vision-Alcance con documento final 12-Feb-08 15-Feb-08 JCH

ETAPA DE PLANIFICACION

9 Levantamiento de informacion con respecto a las seguridades en windows 18-Feb-08 28-Feb-08 JV; WQ; JCH

9,1Seguridades en windows

9,2 Mejores Practicas de Windows

9,3Investigación de Casos Practicos9,4 Revisión de SW en el mercado

10Levantamiento de informacion con respecto a las seguridades en Active

directory2-Mar-08 15-Mar-08

JV; WQ; JCH

10,1 Entrevista con Auditor de Sistemas

10,2 Mejores Prácticas

10,4 Investigación de Casos Practicos

10,5 Investigación de Script para recuperar información

10,6 Revisión de Diferentes Protocolos que interactúan

11 Realizar el respectivo analisis de los datos obtenidos 15-Feb-08 30-Mar-08 JV; WQ; JCH

11,1 Extraer puntos clave

11,2 Unificar informacion clave

Actividades

Fecha

Responsable

SISTEMA DE DIAGNOSTICO DE

SEGURIDADES EN S.O. WINDOWS

Desarrollar un sistema de auditoria que emita

un diagnóstico producto de la extracción de

información concerniente a seguridad de un S

O Windows instalado y que permita la

aplicación de mejores prácticas para la

administración de la seguridad.

Proyecto Objetivo

11,3 Generar una secuencia de pasos a seguir

12 Diseño conceptual

12,1 Elaboracion de los principales casos de uso 2-Apr-08 4-Mar-08 JV; WQ; JCH

12,2 Identificar actores

12,3 Identificar casos de uso

12,4 Relacionar actores con casos de uso

12,5 Elaborar la plantilla de casos de uso especificando la funcionalidad

12,6 Elaboracion de Diagrama de casos de uso

13 Refinar los requerimientos para obtener el concepto de solucion 4-Apr-08 8-Apr-08 JV; WQ; JCH

13,1 Añadir o quitar funcionalidades si es necesario

14 Estimacion de costos del producto 8-Apr-08 10-Apr-08 JV; WQ; JCH

15 Diseño Logico

15,1 Identificar Objetos (considerando el modelo de Casos de Uso) 12-Apr-08 18-Apr-08 JV; WQ; JCH

15,2 Identificar Atributos(considerando el modelo de csos de uso)

15,3 Identificar servicios

15,4 Identificar relaciones (dependencia, asociacion y generalizacion)

16 Documentar las salidas del diseño logico de objetos 18-Apr-08 21-Apr-08 JCH

16,1 Representacion en Diagramas de Actividad

16,2

17 Realizar un modelo logico de datos 22-Apr-08 25-Apr-08 JV; WQ; JCH

17,1Transformar diseños conceptuales en entidades y relaciones (como

interactuan los datos)

18 Diseño fisico 26-Apr-08 2-May-08 JV; WQ; JCH

18,2 Interfaz preliminar de usuario

18,3 Realizar un diagrama de entidad relacion de la solucion

19 Cierre de la fase de Planificacion con lo entegables 2-May-08 12-May-08

FASE DE DESARROLLO

20 Especificación de Standares de Desarrollo 13-may-0813 14/05/2008 JCH

21 Iniciar el ciclo de desarrollo empezando por los principales componentes

de la solucion 15-May-08 15-Jul-08 JV; WQ; JCH

21,1 Programacion aplicando estandares definidos

22,2 Respaldar informacion 15-Jul-08 15-Jul-08

22Creacion de archivos ejecutables

16-Jul-08 16-Jul-08JV; WQ; JCH

22.1 respaldar informacion

23Cierre de la fase desarrollo con la entrega de un documento con las

especificaciones de esta fase 17-Jul-08 19-Jul-08

JV; WQ; JCH

23,1 Entregad fuente y archivos ejecutables

23,2 GUI funcional

FASE DE ESTABILIZACION

24Crear un plan de prueba para validar el producto en aspectos principales

20-Jul-08 22-Jul-08JV; WQ; JCH

24,1 Especificar tipos de pruebas

24,2 Pruebas de testeo de Usuarios

24,3 Pruebas de rendimiento y carga

24,4 Pruebas funcionales y seguridad

25 Ejecutar las pruebas planificadas 23-Jul-08 24-Jul-08 JV; WQ; JCH

26 Resusltados de los errores 24-Jul-08 24-Jul-08 JCH

27 Se cierra la fase de estabilizacion con un documento con los detalles de 18-May-08 18-May-08

27,1 Resultado de pruebas JV; WQ; JCH

27,2 Correcciones de codigo ,GUI

FASE DE RECOMENDACIONES Y CONCLUSIONES

SISTEMA DE DIAGNOSTICO DE

SEGURIDADES EN S.O. WINDOWS

Desarrollar un sistema de auditoria que emita

un diagnóstico producto de la extracción de

información concerniente a seguridad de un S

O Windows instalado y que permita la

aplicación de mejores prácticas para la

administración de la seguridad.

28,1 Se especifican las conclusiones y recomendaciones para el proyecto JV; WQ; JCH

29 Manuales de usuario y tecnico 20-Jul-08 27-Jul-08 JV; WQ; JCH

30 Preparacion de documento final con los procesos y procedimientos,

versiones y codigo para aprobacion final 24-Jul-08 28-Jul-08 JV; WQ; JCH

31Cierre de la fase de Conclusiones y recomendaciones con un

documentacion final 26-Jul-08 28-Jul-08

JCH

SISTEMA DE DIAGNOSTICO DE

SEGURIDADES EN S.O. WINDOWS

Desarrollar un sistema de auditoria que emita

un diagnóstico producto de la extracción de

información concerniente a seguridad de un S

O Windows instalado y que permita la

aplicación de mejores prácticas para la

administración de la seguridad.

ANEXO 2

FASE VISIÓN Y ALCANCE.- Matriz de Evaluación de Riesgos (Simple)

# Condición Consecuencia

1 Falta de cumplimento del tiempo estimado para el desarrollo del software No se entregaria a tiempo. Peticion de prorroga

2 Incumplimiento de alcances Software no aprobado

3 Cambio en los requerimientos Atraso en el cronograma

4 Actividades postergadas Actividades dependientes tambien se postergan

5 Poco entendimiento de los requerimientos actividades con resultados equivocados

6 Actividades implicitas no detalladas Cronograma de tiempo irreal

7 Falta de analisis para la solucion Software resultante con errores

8 Falta de comunicacion entre los miembros del equipo Generacion de inconsistencias

9 Incumplimiento de reuniones Avances lentos

10 Modificacion de alcances entrega de software retrasada

11 Calamidades presentadas a los miembros del equipo Atrasos en el desarrollo del proyecto

12 Perdida de informacion Nueva definicIon de tiempo para la entrega de producto

13 Problemas para preparar el ambiente de pruebas Pruebas limitadas

14 Gastos adicionales inesperados Costos irreales

15 Hardware no disponible Desarrollo retrasado

16 Falta de conocimiento de la herramienta para desarrollar bondades de la herramienta no explotadas

17 Usuario final insatisfecho Peticion de cambio

18 Cambios inesperados Peticion de tiempo

19 Cambios no controlados versiones dudosas

20 incumplimiento de roles de equipo Descordinacion

21 Sobredimensionar el proyecto Incumplimiento de alcances

Riesgo

(1-100%) (1-10)

Probabilidad Impacto Exposición Mitigación

50 9 450 Establecer holguras al cronograma del proyecto

30 10 300 Estudio de pros y contras para cada propuesta de alcances

60 9 540 Comunicación con el usuario durante todo el proyecto

50 8 400 Utilizacion de tiempo para investigaciones paralelas

40 9 360 supervisar a los usuarios los procesos involucrados en el software

30 8 240 Aplicar tecnica de lluvia de ideas en el analisis

40 9 360 Considerar los posibles metodos de solucion y escoger el mas optimo

45 8 360 Crear lista de contactos con datos esceciales

60 7 420 Establecer dias adicionales para cubrir las reuniones postergadas

30 9 270 Considerar lo mas importante en la solucion como prioridad

35 6 210 El equipo conoce todas las actividades de cada fase

25 8 200 Respaldo en unidades externas y pc personales de cada miembro

50 6 300 Ambiente alterno

60 6 360 reserva economica porcentual

45 5 225 Equipar una desktop con maquinas virtuales

70 8 560 Establecer horas adicionales a la practica

60 10 600 Comunicación con el usuario final durante el proyecto

60 9 540 Indicar al usuario las posibles consecuencias de un cambio

30 7 210 Utilizacion de programas de versionamiento

25 7 175 Entregar documento con detalles de las funciones y responsabilidades

38 6 228 Establecer alcances razonables

Contingencia Disparador Contacto

Suprimir tareas secundarias Fechas empiezan a desplazarse WQ,JV,JCH

Añadir tareas adicionales Obviar tareas especificadas en Vision/Alcance WQ,JV,JCH

Considerar solo tareas necesarias El usuario transmite nuevas necesidades WQ,JV,JCH

Continuar con tareas subsiguientes Tarea no concluye a tiempo WQ,JV,JCH

Investigacion externa Se extienden las entrevistas con usuario WQ,JV,JCH

Utilizar holguras para completar investigacion Suposiciones y generalizaciones de una actividad WQ,JV,JCH

Escoger alternativa mas rapida de resolver Conformarse con la primera alternativa WQ,JV,JCH

Distribucion del documento detallado Tareas incompletas, duplicidad WQ,JV,JCH

Tomar una parte de las horas laborables Atrasos en avances WQ,JV,JCH

Elaborar lo primordial Nuevos requerimientos WQ,JV,JCH

Dividirse las tareas del miembro ausente Ausencias largas, fuera de contacto WQ,JV,JCH

Digitar texto impreso Inexistencia de copias de archivos WQ,JV,JCH

Probar en un ambiente real o en ambiente de desarrollo Requisitos no cumplidos WQ,JV,JCH

Recortar ganancias Adquisicion no contemplada WQ,JV,JCH

Utilizacion de maquinas de entorno laboral pidiendo autorizacion Equipos adicionales en uso WQ,JV,JCH

Designar desarrollo a personal mas especializado Demoras en programacion WQ,JV,JCH

Presentar un plan con las posibles mejoras Cuestionamientos y peticion de cambios WQ,JV,JCH

Establecer mediante acuerdo escrito los detalles de cambios Aparicion de nuevos requeirmientos WQ,JV,JCH

Utilizacion de respaldo diario de versiones Perdidas de codigo WQ,JV,JCH

Supervision de trabajo para el personal con inconvenientes Falta de acoplamiento en los entregables WQ,JV,JCH

Justificar por que no aplica la caracteristica propuesta Considerar actividades fuera de alcance WQ,JV,JCH

Área Solicitante:

Compañía o Área Corporativa:Vicepresidencia de

Sistemas y Proceso Líder de Proyecto: VPSP-FT-004

Fecha:

Asignación

Asigne una X a los

problemas, temas por

revisar o preocupaciones.

Asigne una R a los riesgos

FASE VISIÓN Y ALCANCE.- Matriz de Evaluación de Riesgos: Riesgos Posibles - (Usar para

Identificación de Riesgos)

Clasificación de la

información:

Confidencial/Uso Interno

Riesgos posibles

Liste los posibles riesgos identificados por medio

de: lluvia de ideas, entrevistas, y/o riesgos

conocidos

Acción / Disposición para los problemas, temas

por revisar o preocupacionesDefinir las acciones apropiadas para cada ítem

asignado con una X en la columna previa. Acciones

potenciales incluye: consolidar, escalar, referir,

replantear, tratar como fuera de alcance, o tratar

como riesgo y cambiar la asignación en la columna

previa como R

Área Solicitante:

Compañía o Área Corporativa:Vicepresidencia de Sistemas y

Proceso Líder de Proyecto: VPSP-FT-004

Fecha:

Riesgos Posibles Número de

Identificación

Clasificación / Categoria Condiciones Consecuencias

Coloque todos los ítems

asignados con una "R" de

la hoja previa "Riesgos

Posibles"

Identifique a cada

riesgo con una

númeración exclusivo

• Personal- Cliente

- Usuario final

- Patrocinador

- Impulsor (stakeholders)

- Personal

- Organización

- Herramientas

- Políticas

- Moral

• Proceso- Misión y Visión

- Toma de decisiones

- Características del Proyecto

- Presupuesto, Costos y

Cronogramas

- Requerimientos

- Diseños

- Construcción

- Pruebas

• Tecnología- Seguridad

- Desarrollo y Ambiente de

Pruebas

- Herramientas

- Implementación

- Soporte

- Ambiente Operacional

- Diosponibilidad

• Ambiente- Legal

- Regulaciones

- Competencia

- Economía

- Tecnología

- Negocios

Identificar la causa del

riesgo

Definir los resultados potenciales del riesgo.

Podría haber múltiples consecuencias para cada

condición y varias consecuencias podrian ser

condiciones

FASE VISIÓN Y ALCANCE.- Matriz de Evaluación de Riesgos: Identificación de Riesgos - (Usar para el Análisis y

Priorización de Riesgos)

Clasificación de la información:

Confidencial/Uso Interno

Área Solicitante:

Compañía o Área Corporativa:

Líder de Proyecto: VPSP-FT-004

Fecha:

Número

Identificación

Prioridad/

Orden

Probabilidad (numérico) Impacto (numérico) Exposición (numérico) Afectados (texto)

Probabilidad de ocurrencia

de la condición de riesgo.

1% - 30% Bajo, 31% - 70%

Medio, and 71% - 100%

Alto

Efecto de la

consecuencia del

Riesgo, 1 - 3 Bajo; 4 - 7

Medio, 8 - 10 Alto, y 100

Catástrofe

Calculado multiplicando Probabilidad

del Riesgo por el Impacto, usado

básicamente para ordenar y priorizar

los Riesgos

Identificar quien será afectado por el

Riesgo (ej. Cliente, Patrocinadores,

usuarios, etc.)

Clasificación de la información:

Confidencial/Uso Interno

FASE VISIÓN Y ALCANCE.- Matriz de Evaluación de Riesgos: Análisis y Priorización de Riesgos - (Usar para Planeación de

Riesgos)

Vicepresidencia de Sistemas y

Proceso

Área Solicitante:

Compañía o Área Corporativa:

Líder de Proyecto: VPSP-FT-004

Fecha:

Número

Identificación

Prioridad/

Orden

Plan de Mitigación Plan de Contingencia Disparador Responsable Entregables Actividades/

Tareas

Dependencias Plazos de tiempo Vencimiento Recursos requeridos

Identificar que se podría hacer para

reducir la probabilidad de ocurrencia

del riesgo.

Identificar que se podría hacer para

reducir el impacto de la consecuencia

del Riesgo

Identificar el criterio

que determinaría el

inicio de los planes

de contingencia

Identificar responsables

para cada Plan de Riesgo

Identificar los

entregables que se

generarían para cada

Plan de Riesgo

Identificar las

tareas y

actividades

asociadas que

generarían los

entregables para

cada Plan de

Riesgos

Identificar las

tareas/actividades que

dependan una de otra

en cada Plan de Riesgo

Identificar inicio y

plazos de fechas

para cada Plan de

Riesgos

Identificar

fechas de

vencimiento

para cada

entregable de

los Planes de

Riesgos

Identificar las

herramientas, horas

hombre, equipos,

facilidades, hardware,

software y otros

recursos necesarios

para cada entregable

de los Planes de

Riesgos (ingrese para

cada ítem)

Clasificación de la información:

Confidencial/Uso Interno

Vicepresidencia de Sistemas y

Proceso

FASE VISIÓN Y ALCANCE.- Matriz de Evaluación de Riesgos: Planeación de Riesgos - (Usar para Costeo de Riesgos)

Área Solicitante:

Compañía o Área Corporativa:

Líder de Proyecto: VPSP-FT-004

Fecha:

Número

Identificación

Prioridad/

Orden

Recursos requeridos Costo Unitario

del Recurso

Costo Total del

Recurso

Costo Total del

Plan de Riesgo

Márgen Precio Precio esperado de la

Competencia

Precio

esperado por el

Cliente

Precio

propuesto

Identificar las

herramientas, horas

hombre, equipos,

facilidades, hardware,

software y otros

recursos necesarios

para cada entregable de

los Planes de Riesgos

(ingrese para cada

ítem)

El costo unitario

actual o el

estimado para

cada recurso

requerido

Calcular el costo

total por cada

recurso

requerido.

Multiplicar cada

recurso

requerido por el

costo unitario

del recurso

Calcular el costo

estimado total

para implementar

cada Plan de

Riesgo. Juntar

los costos totales

de los recursos

por cada Plan de

Riesgo

Identificar el

retorno

deseado de la

inversión para

cada Plan de

Riesgo,

expresado

como

porcentaje

Calcular el precio

con que el cliente

tomaría la

responsabilidad de

implementar el

Plan de Riesgo.

Multiplicando el

porcentaje del

márgen por el

Costo Total de

cada Plan de

Riesgo

Identificar que

cargarían los

competidores al cliente

si toma la

responsabilidad de

implementar el Plan de

Riesgo

Estimar que

consideraría el

cliente como

precio aceptable

para cada Plan

de Riesgo

Identificar el

precio final a

proponer para

cada Plan de

Riesgo.

Balanceado entre

el Precio, el

Precio esperado

de la competencia

y el Precio

esperado por el

Cliente.

Clasificación de la información:

Confidencial/Uso Interno

Vicepresidencia de Sistemas y

Proceso

FASE VISIÓN Y ALCANCE.- Matriz de Evaluación de Riesgos: Costeo de Riesgos

222

BIBLIOGRAFIA

223

BIBLIOGRAFIA

http://msdn.microsoft.com/es-es/default.aspx MSDN de Microsoft

http://technet.microsoft.com/es-es/default.aspx Microsoft TechNet

http://www.programmersheaven.com/tags/Visual+Basic/ Ayuda para

Programación en .Net

http://www.tek-tips.com/threadminder.cfm?pid=796 Ayuda para Programación

en Visual. Net

http://www.codeproject.com/ Ejemplos de código en Visual.Net

http://www.iana.org/assignments/port-numbers Referencia de Descripción de

Puertos

http://www.experts-exchange.com/Databases/Crystal_Reports/Q_21085368.html

Referencias de Crystal Report.

http://www.isaca.org/Template.cfm?Section=IT_Audit_Basics&Template=/Conte

ntManagement/ContentDisplay.cfm&ContentID=11234 ISACA ORG.

http://www.forosdelweb.com/f29/datagrid-vb-net-248490/ Ayuda para

programación en .Net

Nielsen Paul, SQL Server 2000 Bible

Stephens Rod, Visual Basic 2005 Programmer’s Reference, WRox

Balena Francesco, Programación Avanzada con Microsoft Visual Basic Net, Mc

GrawHill

INDICE GENERAL

AGRADECIMIENTO II

DEDICATORIA III

TRIBUNAL DE GRADUACIÓN IV

DECLARACIÓN EXPRESA V

RESUMEN VI

INDICE GENERAL VII

MANUAL TECNICO

Pag.

1. Principales Componentes de SAW 2

1.1 Modulo de Auditoría de Sistemas 3

1.1.1 Procedimiento de usuarios que la clave no caduca 3

1.1.2 Procedimiento para extraer el nombre del grupode Administradores de un Dominio. 5

1.1.3 Procedimiento que extrae todos los usuarios que sonAdministradores locales en el equipo auditado 6

1.1.4 Procedimiento que extrae el Services packque el equipo tiene instalado. 7

1.1.5 Procedimiento de extracción todas lascarpetas del sistema 9

1.1.6 Procedimiento de extracción de todos los usuariosque se encuentran en el Dominio. 10

1.1.7 Extracción de los administradores de unServer utilizamos el siguiente código. 11

1.1.8 Extracción de usuarios que son administradoresdel dominio. 12

1.1.9 Procedimiento de extracción de la informaciónde los procesos. 14

1.1.10 Procedimiento que detecta si existe laaplicación ISA Server en el equipo instalada: 15

1.1.11 Procedimiento para la extracción de losservicios en el equipo auditado: 18

1.1.12 Procedimiento para la extracción de lasPolíticas de un equipo 19

1.2 Módulo de Comparación de Auditorías 20

1.3 Módulo de Parametrización 21

1.4 Generación de Reportes 23

MANUAL DE USUARIO

1. Iniciar Sesión 352. Cambiar clave de Acceso 373. Ingreso de Usuario 384. Perfiles de Usuario 404.1 Roles y permisos de los Usuarios 445. Consultar Usuarios 456. Modificar Usuario 467. Inicializar Clave 488. Desbloquear Usuario 509. Ingreso de Empresa 5310. Menú Principal 5411. Opción Auditar 5612. Auditoria 57

12.1 Auditoría de Puertos 5912.2 Auditoría de Services Packs 6012.3 Auditoría de Discos 6112.4 Auditoría de Recursos Compartidos 6212.5 Auditoría de Procesos 6312.6 Auditoría de Servicios 6412.7 Auditoría de Todos 6512.8 Auditoría de GPO 6612.9 Auditoría de Usuarios 6712.10 Auditoría Claves que nunca caducan 6813. Opción Comparar 6914. Opción Parametrizar 7215. Opción Reportes 76

1

MANUAL TECNICO

2

MANUAL TECNICO DEL SISTEMA DE DIAGNOSTICO DE SEGURIDADESWINDOWS “SAW”

1. Principales Componentes del Sistema SAW

Los principales componentes de SAW (Sistema de Auditoria Windows)

son:

AUDITAR

COMPARAR

PARAMETRIZAR

REPORTES

En el módulo de Auditar vamos a encontrar la principal funcionalidad de la

aplicación ya que se encarga de la extracción de datos para realizar la

Auditoría.

En el módulo de Comparar podemos escoger dos auditorias realizadas y

se emitirá un reporte con los valores obtenidos en cada uno dando la

facilidad al Auditor de sacar conclusiones.

3

En el módulo de Parametrizar podemos colocar valores que los vamos a

utilizar para realizar la auditoria como el espacio que debe existir en cada

drive lógico de cada servidor, así también como el rango que se va a

realizar en la auditoria de puertos, esta configuración se la realiza por

compañía.

Y por último se tiene un conjunto de reportes que me permiten ver la

información que se encuentra almacenada en la base de datos.

1.1 Módulo de Auditoría de Sistemas

1.1.1 Procedimiento de usuarios que la clave nunca caduca.

Este procedimiento extrae de un controlador de dominio la

información de todos los usuarios que han sido configurados para

que su clave nunca expire.

4

1.1.2 Procedimiento para extraer el nombre del grupo deAdministradores de un Dominio.

A continuación tenemos una función que extrae el nombre del

grupo de Administradores en el server auditado:

Sub clavesQueNuncaCaducan()LViewPasswordnotExpire.Items.Clear()LViewPasswordnotExpire.Columns.Clear()TabPage9.Focus()LViewPasswordnotExpire.Columns.Add("Password NuncaExpira", 155, HorizontalAlignment.Center)LViewPasswordnotExpire.Columns.Add("Fecha deCreación", 155, HorizontalAlignment.Left)Dim FechaCreacion As StringDim indiceSubItem As Integer = 0Dim con As ConnectionOptions

If Datos_Con_mod.GisDC = 1 OrDatos_Con_mod.GisDC <> 1 Then

con = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &Datos_Con_mod.GDCP() & "\root\directory\LDAP",con)

scope.Connect()Dim i As Integer = 0Dim query As New ObjectQuery("Selectds_name,DS_WhenCreated from ads_user whereds_userAccountControl=66048")

Dim searcher As NewManagementObjectSearcher(scope, query)For Each queryObj As ManagementObject In

searcher.Get()FechaCreacion =f_Fecha(queryObj("DS_whenCreated").ToString)LViewPasswordnotExpire.Items.Add(queryObj("DS_name").ToString)LViewPasswordnotExpire.Items(i).SubItems.Add(FechaCreacion)save_PassNeverExpire_Mod.savePNE(queryObj("DS_name").ToString, FechaCreacion)

i = i + 1Next

End IfEnd Sub

5

Public Function getGrupoAdministrador() As StringDim con As ConnectionOptionscon = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &Datos_Con_mod.GNameComputer() & "\root\CIMV2", con)scope.Connect()Dim admin, plantilla, adm As Stringadm = NothingDim str As Integerplantilla = "S-1-5-32-544"Dim query As New ObjectQuery( _"SELECT Sid,name FROM Win32_Group where localAccount = TRUE")Dim searcher As New ManagementObjectSearcher(scope, query)For Each queryObj As ManagementObject In searcher.Get()

admin = queryObj("SID").ToStringstr = InStr(admin, plantilla)If str <> 0 Then

adm = queryObj("name").ToStringEnd If

NextReturn adm

End Function

6

1.1.3 Procedimiento que extrae todos los usuarios que sonAdministradores locales en el equipo auditado

Public Sub GetNameDate(ByVal user As String, ByVal grupo As String)

If _ban = True ThenindiceSubItem = 0LViewAdministradores.Columns.Add("Administradores", 155,HorizontalAlignment.Center)LViewAdministradores.Columns.Add("Fecha de Creación", 155,HorizontalAlignment.Left)LViewAdministradores.Columns.Add("Pertenece al Grupo",155, HorizontalAlignment.Left)_ban = False

End IfTry

Dim FechaCreacion As String = ""Dim con As ConnectionOptionscon =AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(),Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &Datos_Con_mod.GDCP() & "\root\directory\LDAP", con)scope.Connect()Dim query As New ObjectQuery( _

"SELECT ds_name, DS_whenCreated,DS_sAMAccountNameFROM ds_user")

Dim searcher As New ManagementObjectSearcher(scope,query)

'Dim stringFind1 As String = "CN=Domain Admins"'Dim strpos1 As IntegerFor Each queryObj As ManagementObject In searcher.Get()

'MessageBox.Show(UCase(queryObj("DS_sAMAccountName")))If UCase(queryObj("DS_sAMAccountName")) = UCase(user)Or user = "ADMINISTRADOR" Then

FechaCreacion =f_Fecha(queryObj("DS_whenCreated").ToString)

LViewAdministradores.Items.Add(queryObj("DS_name").ToString)

LViewAdministradores.Items(indiceSubItem).SubItems.Add(FechaCreacion)

If grupo IsNot "" Then

LViewAdministradores.Items(indiceSubItem).SubItems.Add(grupo)

End If

save_audadmin_Mod.saveAdmin(queryObj("DS_name").ToString, FechaCreacion)

indiceSubItem += 1user = ""

End IfNext

Catch ex As ExceptionMessageBox.Show(ex.ToString)

End TryEnd Sub

7

1.1.4 Procedimiento que extrae el Services pack que elequipo tiene instalado.

A continuación se detalla la secuencia del código del Services pack

citado anteriormente:

Private Sub servicePack()Dim _ban As BooleanDim _cum As StringDim con As ConnectionOptionsTry

If Datos_Con_mod.GisDC = 1 Thencon = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &Datos_Con_mod.GNameComputer & "\root\directory\LDAP", con)

scope.Connect()Dim query As New ObjectQuery( _"SELECT

DS_operatingSystemServicePack,DS_operatingSystem,DS_operatingSystemVersion,DS_distinguishedName FROM ads_computer where DS_name ='" &Datos_Con_mod.GNameComputer() & "'")

Dim searcher As New ManagementObjectSearcher(scope, query)

For Each queryObj As ManagementObject In searcher.Get()If queryObj("DS_operatingSystemServicePack") Is

Nothing ThenlblSP.Text = "NO EXISTE NINGUN SERVICE PACK"

ElselblSP.Text =

queryObj("DS_operatingSystemServicePack").ToStringLblSO.Text = queryObj("DS_operatingSystem").ToString

LblSOV.Text =queryObj("DS_operatingSystemVersion").ToString

lblDN.Text = queryObj("DS_distinguishedName").ToString_ban =

save_ServicePack_Mod.GServicePack(Trim(LblSO.Text), Trim(lblSP.Text))If _ban = True Then

_cum = "TRUE"Else

_cum = "FALSE"End If

8

save_ServicePack_Mod.saveSP(queryObj("DS_operatingSystemServicePack").ToString, _

queryObj("DS_operatingSystem").ToString,queryObj("DS_operatingSystemVersion").ToString, _

queryObj("DS_distinguishedName").ToString, _cum)End If

NextElse

con = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())

Dim scope1 As New ManagementScope("\\" &Datos_Con_mod.GDCP() & "\root\directory\LDAP",con)

scope1.Connect()Dim query As New ObjectQuery( _

"SELECTDS_operatingSystemServicePack,DS_operatingSystem,DS_operatingSystemVersion,DS_distinguishedName FROM ads_computer where DS_name ='" &Datos_Con_mod.GNameComputer & "'")

Dim searcher As New ManagementObjectSearcher(scope1, query)For Each queryObj As ManagementObject In searcher.Get()

If queryObj("DS_operatingSystemServicePack") Is NothingThen

lblSP.Text = "NO EXISTE NINGUN SERVICE PACK"Else

lblSP.Text =queryObj("DS_operatingSystemServicePack").ToString

LblSO.Text =queryObj("DS_operatingSystem").ToString

LblSOV.Text =queryObj("DS_operatingSystemVersion").ToString

lblDN.Text =queryObj("DS_distinguishedName").ToString

_ban =save_ServicePack_Mod.GServicePack(Trim(LblSO.Text),Trim(lblSP.Text))

If _ban = True Then_cum = "TRUE"

Else_cum = "FALSE"

End If

save_ServicePack_Mod.saveSP(queryObj("DS_operatingSystemServicePack").ToString, _

queryObj("DS_operatingSystem").ToString,queryObj("DS_operatingSystemVersion").ToString, _

queryObj("DS_distinguishedName").ToString, _cum)End If

Next

End If'_7

lblSPC.Visible = TrueCatch ex As Exception

MessageBox.Show(ex.ToString)End Try

End Sub

9

1.1.5 Procedimiento de extracción todas las carpetas delsistema

Adicional extrae la ruta de la carpeta en el equipo auditado:

Private Sub fileSharing()LViewRecursoCompartido.Items.Clear()LViewRecursoCompartido.Columns.Clear()LViewRecursoCompartido.Columns.Add("Carpeta Compartida",155, HorizontalAlignment.Center)LViewRecursoCompartido.Columns.Add("Ruta", 255,HorizontalAlignment.Left)Try

Dim con As ConnectionOptionscon = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &Datos_Con_mod.GNameComputer() & "\root\CIMV2", con)scope.Connect()Dim i As Int16 = 0Dim query As New ObjectQuery( _"SELECT name,path FROM Win32_Share")Dim searcher As New ManagementObjectSearcher(scope,

query)For Each queryObj As ManagementObject In searcher.Get()

LViewRecursoCompartido.Items.Add(queryObj("name").ToString)

LViewRecursoCompartido.Items(i).SubItems.Add(queryObj("path").ToString)

Save_FileSharing_Mod.saveFS(queryObj("name").ToString,queryObj("path").ToString)i = i + 1

NextCatch ex As Exception

MessageBox.Show(ex.ToString)End Try

End Sub

10

1.1.6 Procedimiento de extracción de todos los usuarios quese encuentran en el Dominio.

Private Sub alluser()LViewallusers.Items.Clear()LViewallusers.Columns.Clear()

LViewallusers.Columns.Add("Usuario", 155,HorizontalAlignment.Center)LViewallusers.Columns.Add("User", 155,

HorizontalAlignment.Left)LViewallusers.Columns.Add("Fecha de Creación", 155,

HorizontalAlignment.Left)LViewallusers.Columns.Add("Grupos al que pertenece", 155,HorizontalAlignment.Left)Dim FechaCreacion, _strGT As StringDim indiceSubItem As Int16 = 0Dim i, i1 As IntegerDim con As ConnectionOptionsTry

con = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())

Dim scope As New ManagementScope("\\" &Datos_Con_mod.GDCP & "\root\directory\LDAP", con)

scope.Connect()Dim query As New ObjectQuery( _

"SELECT ds_name,DS_sAMAccountName,ds_memberOF,DS_WhenCreated FROM ds_user")

Dim searcher As New ManagementObjectSearcher(scope,query)

For Each queryObj As ManagementObject In searcher.Get()If queryObj("DS_MemberOf") Is Nothing Then

'MessageBox.Show("NO EXISTE NINGUNMIEMBRO PARA EL USUARIO: " & queryObj("DS_name").ToString)

ElseDim arrDS_MemberOf As String()arrDS_MemberOf = queryObj("DS_MemberOf")i = 0_strGT = ""

i = arrDS_MemberOf.LengthFor i1 = 0 To i - 1

_strGT = _strGT & arrDS_MemberOf(i1) & ","NextFechaCreacion =

f_Fecha(queryObj("DS_whenCreated").ToString)

LViewallusers.Items.Add(queryObj("DS_name").ToString)LViewallusers.Items(indiceSubItem).SubItems.Add(queryObj("DS_sAMAccountName"). ToString)

11

1.1.7 Extracción de los administradores de un Serverutilizamos el siguiente código.

LViewallusers.Items(indiceSubItem).SubItems.Add(FechaCreacion)

LViewallusers.Items(indiceSubItem).SubItems.Add(GMiembrosGrupo(_strGT))

indiceSubItem = indiceSubItem + 1End If

NextCatch ex As Exception

MessageBox.Show(ex.ToString)End Try

End Sub

Private Sub admin()LViewAdministradores.Items.Clear()LViewAdministradores.Columns.Clear()If Datos_Con_mod.GisDC = 1 Or Datos_Con_mod.GisDC <> 1

ThenLViewAdministradores.Columns.Add("Administradores",

155, HorizontalAlignment.Center)LViewAdministradores.Columns.Add("Fecha de Creación",

155, HorizontalAlignment.Left)Dim FechaCreacion As StringDim indiceSubItem As Int16 = 0Try

Dim con As ConnectionOptionscon = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(),Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &

Datos_Con_mod.GNameComputer &"\root\directory\LDAP", con)scope.Connect()Dim query As New ObjectQuery( _"SELECT ds_name, ds_memberOF,DS_WhenCreated FROM

ds_user")Dim searcher As New

ManagementObjectSearcher(scope, query)Dim stringFind1 As StringstringFind1 = getGrupoAdministrador()Dim strpos1 As Integer

12

1.1.8 Extracción de usuarios que son administradores del dominio.

For Each queryObj As ManagementObject Insearcher.Get()

If queryObj("DS_MemberOf") Is Nothing ThenElse

Dim arrDS_MemberOf As String()arrDS_MemberOf = queryObj("DS_MemberOf")

For Each arrValues As String InarrDS_MemberOf

strpos1 = InStr(arrValues,stringFind1)

If strpos1 <> 0 ThenFechaCreacion =

f_Fecha(queryObj("DS_whenCreated").ToString)

LViewAdministradores.Items.Add(queryObj("DS_name").ToString)

ViewAdministradores.Items(indiceSubItem). SubItems. Add(FechaCreacion)save_audadmin_Mod.saveAdmin(queryObj("DS_name").ToString, FechaCreacion)indiceSubItem = indiceSubItem + 1End If

NextEnd If

NextCatch ex As Exception

MessageBox.Show(ex.ToString)End Try

End IfEnd Sub

Private Sub domainAdmin()LViewAdministradoresDominio.Items.Clear()LViewAdministradoresDominio.Columns.Clear()If Datos_Con_mod.GisDC = 1 Or Datos_Con_mod.GisDC <> 1

ThenLViewAdministradoresDominio.Columns.Add("DomainAdmin", 155, HorizontalAlignment.Center)LViewAdministradoresDominio.Columns.Add("Fecha deCreación", 155, HorizontalAlignment.Left)Dim FechaCreacion As StringDim indiceSubItem As Int16 = 0

13

TryDim con As ConnectionOptions

con = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &

Datos_Con_mod.GDCP() & "\root\directory\LDAP", con)scope.Connect()Dim query As New ObjectQuery( _

"SELECT ds_name, ds_memberOF,DS_whenCreatedFROM ds_user")

Dim searcher As New ManagementObjectSearcher(scope,query)

Dim stringFind1 As String = "CN=Domain Admins"Dim strpos1 As Integer

For Each queryObj As ManagementObject Insearcher.Get()

If queryObj("DS_MemberOf") Is Nothing ThenElse

Dim arrDS_MemberOf As String()arrDS_MemberOf = queryObj("DS_MemberOf")

For Each arrValues As String InarrDS_MemberOf

strpos1 = InStr(arrValues, stringFind1)If strpos1 <> 0 Then

FechaCreacion =f_Fecha(queryObj("DS_whenCreated").ToString)

LViewAdministradoresDominio .Items.Add(queryObj("DS_name").ToString)

LViewAdministradoresDominio.Items(indiceSubItem).SubItems.Add (FechaCreacion)

save_audAdminDomain_Mod.saveAdminDomain(queryObj("DS_name"). ToString,FechaCreacion)

indiceSubItem = indiceSubItem + 1End If

NextEnd If

NextCatch ex As Exception

MessageBox.Show(ex.ToString)End Try

End IfEnd Sub

14

1.1.9 Procedimiento de extracción de la información de losprocesos.

Private Sub procesos()lvprocesos.Items.Clear()lvprocesos.Columns.Clear()lvprocesos.Columns.Add("Procesos", 155, HorizontalAlignment.Center)lvprocesos.Columns.Add("Fecha de Creación", 155,HorizontalAlignment.Left)lvprocesos.Columns.Add("Ruta del Ejecutable", 400,HorizontalAlignment.Left)Dim i As Int16 = 0Dim ruta As StringTryDim con As ConnectionOptionscon = AD_Con_mod.conAD(Datos_Con_mod.Guse(), Datos_Con_mod.Gpas(),Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" & Datos_Con_mod.GNameComputer()& "\root\CIMV2", con)scope.Connect()

Dim query As New ObjectQuery( _"SELECT * FROM Win32_Process")Dim searcher As New ManagementObjectSearcher(scope,

query)

For Each queryObj As ManagementObject In searcher.Get()ruta = queryObj("ExecutablePath")If ruta <> "" Then

lvprocesos.Items.Add(queryObj("Caption").ToString)

lvprocesos.Items(i).SubItems.Add(f_Fecha(queryObj("CreationDate")))lvprocesos.Items(i).SubItems.Add(ruta)If queryObj("CreationDate") <> Nothing Then

save_process_Mod.saveProcess(queryObj("Caption").ToString,f_Fecha(queryObj("CreationDate")), ruta)

i = i + 1End If

End IfNext

Catch ex As ExceptionMessageBox.Show(ex.ToString)

End TryEnd Sub

15

1.1.10 Procedimiento que detecta si existe la aplicación ISA Serveren el equipo instalada:

Trycon = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &Datos_Con_mod.GNameComputer() & "\root\CIMV2", con)scope.Connect()Dim query As New ObjectQuery( _"SELECT * FROM Win32_Service")Dim searcher As New ManagementObjectSearcher(scope,

query)For Each queryObj As ManagementObject In searcher.Get()

NameService = queryObj("Name").ToStringstrpos = InStr(NameService, cadExchange)If strpos <> 0 Then

LVServices.Items.Add(queryObj("Name").ToString)

LVServices.Items(i).SubItems.Add(queryObj("state").ToString)

LVServices.Items(i).SubItems.Add(queryObj("startmode").ToString)

If queryObj("description") = des ThenLVServices.Items(i).SubItems.Add("")desc = ""

Else

LVServices.Items(i).SubItems.Add(queryObj("description").ToString)desc = queryObj("description").ToString

End Ifi = i + 1ban = 1

End IfNext

If ban = 0 ThenMessageBox.Show("No se encuentra instalada el serviciode Exchange Server", "Atencion Servicio",MessageBoxButtons.OK)LVServices.Items.Add("Microsoft Exchange Information

Store")LVServices.Items.Add("Microsoft Exchange Management")LVServices.Items.Add("Microsoft Exchange Routing

Engine")LVServices.Items.Add("Microsoft Exchange

System Attendat")LVServices.Items.Add("Simple Mail Transfer Protocol")

End If

16

El código detallado anteriormente sirve también para el Exchange

y si existe instalado SQL Server.

TryDim con As ConnectionOptions

con =AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())

Dim scope As New ManagementScope("\\" &Datos_Con_mod.GNameComputer() & "\root\CIMV2", con)scope.Connect()Dim query As New ObjectQuery( _"SELECT * FROM Win32_Service")

Dim searcher As NewManagementObjectSearcher(scope, query)

For Each queryObj As ManagementObject Insearcher.Get()

NameService = queryObj("Name").ToStringstrpos = InStr(NameService, cadISA)If strpos <> 0 Then

LVServices.Items.Add(queryObj("Name").ToString)

LVServices.Items(i).SubItems.Add(queryObj("state").ToString)

LVServices.Items(i).SubItems.Add(queryObj("startmode").ToString)

If queryObj("description") = des ThenLVServices.Items(i).SubItems.Add("")desc = ""

Else

LVServices.Items(i).SubItems.Add(queryObj("description").ToString)

desc = queryObj("description").ToStringEnd Ifi = i + 1ban = 1

End IfNext

If ban = 0 ThenMessageBox.Show("No se encuentra instalada

el servicio de ISA Server", "Atencion Servicio",MessageBoxButtons.OK)

LVServices.Items.Add("Microsoft ISA ServerControl")LVServices.Items.Add("Microsoft ISA Server Job

Schedule")LVServices.Items.Add("Microsoft ISA Server

Storage")End If

17

El código anteriormente detallado también lo utilizamos para la

base de datos:

Dim con As ConnectionOptionscon = AD_Con_mod.conAD(Datos_Con_mod.Guse(),

Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &

Datos_Con_mod.GNameComputer() & "\root\CIMV2", con)scope.Connect()Dim query As New ObjectQuery( _"SELECT * FROM Win32_Service")

Dim searcher As NewManagementObjectSearcher(scope, query)

For Each queryObj As ManagementObject Insearcher.Get()

NameService = queryObj("Name").ToStringstrpos = InStr(NameService, cadDB)strpos1 = InStr(NameService, cadDB1)strpos2 = InStr(NameService, cadIIS)strpos3 = InStr(NameService, cadDBA)

If strpos <> 0 Or strpos1 <> 0 Or strpos2 <> 0 Or strpos3Then

LVServices.Items.Add(queryObj("Name").ToString)

LVServices.Items(i).SubItems.Add(queryObj("state").ToString)

LVServices.Items(i).SubItems.Add(queryObj("startmode").ToString)

If queryObj("description") = des ThenLVServices.Items(i).SubItems.Add("")desc = ""

ElseLVServices.Items(i).SubItems.Add(queryObj("description").ToString)

desc = queryObj("description").ToStringEnd If

i = i + 1ban = 1

End IfNext

If ban = 0 ThenMessageBox.Show("No se encuentra instalada elservicio de SQL Server", "Atencion Servicio",MessageBoxButtons.OK)LVServices.Items.Add("SQLSERVERAGENT")LVServices.Items.Add("MSSQLSERVER")

End If

18

1.1.11 Procedimiento para la extracción de los servicios en elequipo auditado:

Trycon = AD_Con_mod.conAD(Datos_Con_mod.Guse(),Datos_Con_mod.Gpas(), Datos_Con_mod.Gdo1())Dim scope As New ManagementScope("\\" &Datos_Con_mod.GNameComputer() & "\root\CIMV2", con)scope.Connect()Dim des As Object = NothingDim desc As StringDim query As New ObjectQuery( _"SELECT * FROM Win32_Service")Dim searcher As New ManagementObjectSearcher(scope,

query)For Each queryObj As ManagementObject In

searcher.Get()If queryObj("state").ToString <> "" Then

LVServices.Items.Add(queryObj("Name").ToString)

LVServices.Items(i).SubItems.Add(queryObj("state").ToString)

LVServices.Items(i).SubItems.Add(queryObj("startmode").ToString)If queryObj("description") = des Then

LVServices.Items(i).SubItems.Add("")desc = ""

ElseLVServices.Items(i). SubItems.Add(queryObj("description"). ToString)desc = queryObj("description").ToString

End Ifsave_audService_Mod.saveServices(queryObj("Name").ToString, queryObj("state").ToString, _

queryObj("startmode").ToString, desc)i = i + 1

End IfNext

Catch ex As ExceptionMessageBox.Show(ex.ToString)

End Try

19

1.1.12Procedimiento para la extracción de las políticas de unequipo

Dim Value As Object = NothingDim key As RegistryKeyDim i As Integer = 0Dim banc, intTotalReg, intRegActual As IntegerDim strcon As String = DB_con_mod.con()Dim con As New SqlConnection(strcon)Dim query As Stringquery = "SelectidGPO,computerUserNode,PolicyPath,FullPolicyName,register1,value1 from dbo.GPO"Dim da As New SqlDataAdapter(query, con)Dim ds As New DataTableda.Fill(ds)intTotalReg = ds.Rows.Count - 1Dim dr As DataRow = ds.Rows(intTotalReg)

'key =RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine,"cuzco")If intTotalReg > 0 Then

While intRegActual <= intTotalRegdr = ds.Rows(intRegActual)banc = 0If dr("computerUserNode").ToString =

"MACHINE" Thenkey =RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, Datos_Con_mod. GNameComputer)banc = ReadRegistry1(Registry.LocalMachine,

dr("register1").ToString,dr("value1").ToString, Value)

Elsekey =RegistryKey.OpenRemoteBaseKey(RegistryHive.CurrentUser, Datos_Con_mod.GNameComputer)banc = ReadRegistry1(Registry.CurrentUser,

dr("register1").ToString,dr("value1").ToString, Value)

End IfIf banc = 1 Then

LViewGPO.Items.Add(dr("computerUserNode"))

LViewGPO.Items(i).SubItems.Add(dr("PolicyPath"))

LViewGPO.Items(i).SubItems.Add(dr("FullPolicyName"))Save_GPO_Mod.saveGPO(dr("idGPO"))i += 1

End IfintRegActual += 1

End WhileEnd If

20

1.2 Módulo de Comparación de Auditoría

En el módulo de comparar hemos utilizado procedimientos almacenados

para la extracción de la información, una vez que hemos realizado este

paso procedemos a llamarla desde un reporte de Cristal Report el mismo

que a su vez llama a sub reportes. Al final vamos visualizar que en un

mismo reporte se vean dos auditorias.

Para lograr esto se adjunta en el siguiente código dos funciones

principales que nos han ayudado a lograr el objetivo.

Private Sub dgvfechauno_Click(ByVal sender As Object, ByVal e AsSystem.EventArgs) Handles dgvfechauno.Click

Dim c As IntegerDim idaud As Integerdgvfechauno.DefaultCellStyle.SelectionBackColor =

Color.LightGrayc = dgvfechauno.CurrentRow.Indexidaud = CInt(dgvfechauno.Rows(c).Cells(0).Value.ToString)

Datos_Con_mod.saveidaud(idaud)

End Sub

Private Sub dgvfechados_Click(ByVal sender As Object, ByVal e AsSystem.EventArgs) Handles dgvfechados.Click

Dim c As IntegerDim idaud2 As Integerdgvfechados.DefaultCellStyle.SelectionBackColor =

Color.LightGrayc = dgvfechados.CurrentRow.Indexidaud2 = CInt(dgvfechados.Rows(c).Cells(0).Value.ToString)

Datos_Con_mod.sidaudfechados(idaud2)End Sub

21

1.3 Módulo de Parametrización

Para el módulo Parametrizar tenemos los siguientes procedimientos:

En este procedimiento almacenamos los datos que se utilizaran en el

proceso de auditoria.

Dim strcon As Stringstrcon = DB_con_mod.conDim sqlcon As System.Data.SqlClient.SqlConnectionsqlcon = New SqlConnection(strcon)Dim sel As String

sel = "insert dbo.parametros(razonsocial,espaciolibre,puertoini," & _"puertofin) values(@razonSocial,@porcentajedisco,@puertoinicial,@puertofinal)"Dim cb As New SqlCommand(sel, sqlcon)

cb.Parameters.Add(New SqlParameter("@razonSocial",SqlDbType.VarChar, 255))cb.Parameters("@razonSocial").Value = lblempresa.Textcb.Parameters.Add(New SqlParameter("@porcentajedisco",

SqlDbType.VarChar, 50))cb.Parameters("@porcentajedisco").Value =txtespaciolibre.Textcb.Parameters.Add(New SqlParameter("@puertoinicial",SqlDbType.Int, 4))cb.Parameters("@puertoinicial").Value = txtini.Textcb.Parameters.Add(New SqlParameter("@puertofinal",SqlDbType.Int, 4))cb.Parameters("@puertofinal").Value = txtfin.TextDim da As New SqlDataAdapter(sel, sqlcon)cb.Connection.Open()cb.ExecuteNonQuery()cb.Connection.Close()MsgBox("Datos grabados exitosamente", MsgBoxStyle.OkOnly)

22

En el siguiente bloque de código nos permite actualizar los valores de los

Services pack de un producto.

Dim xmldoc As New XmlDocumentTry

If lblArchivo.Text.Trim = String.Empty ThenMessageBox.Show("Debe cargar el archivo...",

Me.Text, MessageBoxButtons.OK)Exit Sub

End IfIf MessageBox.Show("¿Esta seguro de Actualizar los

parametros de Services Pack?", Me.Text, MessageBoxButtons.YesNo) =Windows.Forms.DialogResult.Yes Then

Cursor = Cursors.WaitCursorDim _cnn As New SqlClient.SqlConnection(DB_con_mod.con)_cnn.Open()Dim _cmd As New SqlCommand("pa_p_saw_ActualizarSP", _cnn)_cmd.CommandType = CommandType.StoredProcedurexmldoc.Load(lblArchivo.Text)Dim parametros As XmlNodeList = xmldoc.GetElementsByTagName("Parametros") Dim lista As XmlNodeList =(DirectCast(parametros(0),XmlElement).GetElementsByTagName("Parametro"))

For Each nodo As XmlElement In listaDim sistemaOperativo As XmlNodeList =nodo.GetElementsByTagName("sistemaOperativo")Dim ServicePack As XmlNodeList =nodo.GetElementsByTagName("ServicePack")_cmd.Parameters.Clear()

_cmd.Parameters.AddWithValue("@nombreSO",sistemaOperativo(0).InnerText.Trim)_cmd.Parameters.AddWithValue("@ultimosp",ServicePack(0).InnerText.Trim)_cmd.ExecuteNonQuery()Next

_cmd.Dispose()_cnn.Close()_cnn.Dispose()Cursor = Cursors.Default

MessageBox.Show("Parametros de Service Pack Actualizadocon exito...")

Me.lblArchivo.Text = ""CargarInfoServicePack()

23

Lo actualizado se lo visualiza en la forma con el siguiente procedimiento:

1.4 Modulo de Generación de Reportes

Para el módulo de Reportes se ha divido en tres grandes partes:

Por Compañía

Por Auditor

Por Fecha

Estos tres se utilizan en todas la información que se extrae de la

auditoria, también se realizó reportes para las tablas de Auditores como

de la Empresas que donde se realizaría las auditorias.

TryDim _ds As New DataSetDim _cnn As New SqlClient.SqlConnection(DB_con_mod.con)_cnn.Open()

Dim _da As New SqlClient.SqlDataAdapter("selectnombreSO SistemaOperativo,ultimoSP ServicePack fromparservicepack", _cnn)

_da.Fill(_ds)Me.dgvServicesPack.AutoGenerateColumns = FalseMe.dgvServicesPack.DataSource = _ds.Tables(0).DefaultView_cnn.Close()_cnn.Dispose()_da.Dispose()

Catch ex As ExceptionCursor = Cursors.DefaultMessageBox.Show(ex.Message, Me.Text)

End Try

24

Para realizar los reportes se creó una forma especial que hace de

soporte, esta es la encargada de una vez dado los nombres de los

reportes los enlazará con el procedimiento almacenado respectivo,

guardará los valores que este necesite. Realizará un llamado al reporte y

le dará los datos, luego lo visualizará en una forma que contiene un visor

de cristal.

Se ha tratado de realizar los reportes para que estos presenten varias

formas de visualizar la información como por ejemplo ver determinada

información por una compañía respectiva, un auditor, o quizá por una

fecha determinada. Pero también existe la opción de presentar toda la

información por lo que se implementó un checkbox que al activarlo se

presentará la información:

A continuación tenemos la primera parte de los reportes:

25

Public Sub llenaEmpresa()lblDR.Text = lblDR.Text & " " & "Compañía"chbAll.Text = "Todo"chbAll.Visible = Trueban = CChar("1")Dim strcon As StringDim con As Integer = 0strcon = DB_con_mod.conDim sql As New SqlConnection(strcon)Dim query As Stringquery = "select razonsocial from empresa"Dim da As New SqlDataAdapter(query, sql)Dim ds As New DataSetda.Fill(ds)For i As Integer = 0 To ds.Tables(0).Rows.Count - 1

cmbDR.Items.Add(ds.Tables(0).Rows(i)("razonsocial").ToString)

If cmbDR.Items.Item(i).ToString =Datos_Con_mod.Gco Then

con = iEnd If

NextcmbDR.SelectedIndex = consql.Dispose()da.Dispose()ds.Dispose()

End Sub

26

El siguiente bloque de código permite enlistar los auditores

El siguiente bloque de código nos permitirá enlistar las fechas de auditoria

Public Sub llenaAuditor()lblDR.Text = lblDR.Text & " " & "Auditor"chbAll.Text = "Todo"chbAll.Visible = Trueban = CChar("2")Dim strcon As StringDim con As Integer = 0strcon = DB_con_mod.conDim sql As New SqlConnection(strcon)Dim query As Stringquery = "select nombreuser from accesoUser"Dim da As New SqlDataAdapter(query, sql)Dim ds As New DataSetda.Fill(ds)For i As Integer = 0 To ds.Tables(0).Rows.Count - 1

cmbDR.Items.Add(ds.Tables(0).Rows(i)("nombreUSer").ToString)If cmbDR.Items.Item(i).ToString = Datos_Con_mod.GAudito

Thencon = i

End IfNextcmbDR.SelectedIndex = consql.Dispose()da.Dispose()ds.Dispose()

End Sub

Public Sub fechaSP()Dim rep As Integer = Datos_Con_mod.gidrep()chbAll.Text = "Todo"chbAll.Visible = Trueban = CChar("3")Dim strcon As Stringstrcon = DB_con_mod.conDim sql As SqlConnectionsql = New SqlConnection(strcon)Dim query As String = ""Select Case rep

27

Select Case repCase 3

query = "select distinctconvert(char(11),a.fecha,105)fecha from cabaud a innerjoin audservicepack b " & _"on a.idauditoria = b.idauditoria order by fecha"

Case 6query = "select distinctconvert(char(11),a.fecha,105)fecha from cabaud a innerjoin audcarpetascompartidas b " & _"on a.idauditoria = b.idauditoria order by fecha"

Case 9query = "select distinctconvert(char(11),a.fecha,105)fecha from cabaud a innerjoin audprocess b " & _"on a.idauditoria = b.idauditoria order by fecha"

Case 12query = "select distinctconvert(char(11),a.fecha,105)fecha from cabaud a innerjoin audservicepack b " & _"on a.idauditoria = b.idauditoria order by fecha"

Case 15query = "select distinctconvert(char(11),a.fecha,105)fecha from cabaud a innerjoin auddiscos b " & _"on a.idauditoria = b.idauditoria order by fecha"

Case 18query = "select distinct

convert(char(11),b.fecha,105)fecha " & _"from puertos a inner join cabaud b" & _" on a.idauditoria = b.idauditoria order by

fecha"

28

Para la visualización de los reportes se lo va a dividir en tres partes elcódigo:

Case 21query = "select distinct

convert(char(11),b.fecha,105)fecha " & _"from audgpo a inner join cabaud b " & _"on a.idAuditoria = b.idauditoria order by

fecha"Case 24

query = "select distinctconvert(char(11),b.fecha,105)fecha from audadminDomain ainner join cabaud b " & _"on a.idauditoria = b.idauditoria order by fecha"

Case 27query = "select distinctconvert(char(11),b.fecha,105)fecha fromaudPassNeverExpire a inner join cabaud b " & _"on a.idauditoria = b.idauditoria order by fecha"

Case 30query = "select distinctconvert(char(11),b.fecha,105)fecha from audAdmin a innerjoin cabaud b " & _"on a.idauditoria = b.idauditoria order by fecha"

End SelectDim da As New SqlDataAdapter(query, sql)Dim ds As New DataSetda.Fill(ds)For i As Integer = 0 To ds.Tables(0).Rows.Count - 1

cmbDR.Items.Add(ds.Tables(0).Rows(i)("fecha").ToString)NextcmbDR.SelectedIndex = 0sql.Dispose()da.Dispose()ds.Dispose()

End Sub

Private Sub btnVerReporte_Click(ByVal sender As Object, ByVale As System.EventArgs) Handles btnVerReporte.Click

Dim rep As Integer = Datos_Con_mod.gidrep()Dim cad As Stringcad = ""Try

Dim visor As New FrmVisorDim reporteador As New frmReporte'MessageBox.Show(cmbDR.SelectedItem.ToString)cad = cmbDR.SelectedItem.ToString

29

Select Case repCase 3, 6, 9, 12, 15, 18, 21, 24, 27, 30

Select Case repCase 3

visor.fileReport ="rptListarAuditoriaServicePackPorFecha.rpt"

Case 6visor.fileReport ="rptListarAuditoriaCarpetasCompartidasPorFecha.rpt"

Case 9visor.fileReport ="rptListarAuditoriaProcesosPorFecha.rpt"

Case 12visor.fileReport ="rptListarAuditoriaServiciosPorFecha.rpt"

Case 15visor.fileReport ="rptListarAuditoriaDiscosPorFecha.rpt"

Case 18visor.fileReport ="rptListarAuditoriaPuertosPorFecha.rpt"

Case 21visor.fileReport ="rptListarAuditoriaGPOPorFecha.rpt"

Case 24visor.fileReport ="rptListarAuditoriaADPorFecha.rpt"

Case 27visor.fileReport ="rptListarAuditoriaUNEPorFecha.rpt"

Case 30visor.fileReport ="rptListarAuditoriaALPorFecha.rpt"

End Selectvisor.matriz(0) = "@condicionName;" & cad

If chbAll.CheckState =CheckState.Checked Then

visor.matriz(1) = "@code;" & CChar("1")Else

visor.matriz(1) = "@code;" & CChar("2")End Ifvisor.Text = "Listar por fechas"visor.Show()

30

En la segunda parte podemos escoger el reporte de acuerdo a lacategoría de las opciones de auditoría que tiene la aplicación

Case 1, 4, 7, 10, 13, 16, 19, 22, 25, 28Select Case rep

Case 1visor.fileReport ="rptListarAuditoriaServicePackPorCia.rpt"Case 4visor.fileReport ="rptListarAuditoriaCarpetasCompartidasPorCia.rpt"Case 7visor.fileReport ="rptListarAuditoriaProcesosPorCia.rpt"

Case 10visor.fileReport ="rptListarAuditoriaServiciosPorCia.rpt"Case 13visor.fileReport ="rptListarAuditoriaDiscosPorCia.rpt"Case 16visor.fileReport ="rptListarAuditoriaPuertosPorCia.rpt"Case 19visor.fileReport ="rptListarAuditoriaGPOPorCia.rpt"Case 22visor.fileReport ="rptListarAuditoriaADPorCia.rpt"Case 25visor.fileReport =

"rptListarAuditoriaUNEPorCia.rpt"

31

Case 28visor.fileReport ="rptListarAuditoriaALPorCia.rpt"

End Selectvisor.matriz(0)

= "@condicionName;" & cadIf chbAll.CheckState =

CheckState.Checked Thenvisor.matriz(1) = "@code;" &

CChar("3")Else

visor.matriz(1) = "@code;" &CChar("1")

End Ifvisor.Text = "Listar por Empresas"visor.Show()

32

Y la última parte del código tenemos, el listado de todos los reportes porfechas que tiene la aplicación

Case 2, 5, 8, 11, 14, 17, 20, 23, 26, 29

Select Case rep

Case 2visor.fileReport =

"rptListarAuditoriaServicePackPorCia.rpt"Case 5

visor.fileReport ="rptListarAuditoriaCarpetasCompartidasPorCia.rpt"Case 8

visor.fileReport ="rptListarAuditoriaProcesosPorCia.rpt"Case 11

visor.fileReport ="rptListarAuditoriaServiciosPorCia.rpt"Case 14

visor.fileReport ="rptListarAuditoriaDiscosPorCia.rpt"Case 17

visor.fileReport ="rptListarAuditoriaPuertosPorCia.rpt"

33

Case 20visor.fileReport =

"rptListarAuditoriaGPOPorCia.rpt"Case 23

visor.fileReport ="rptListarAuditoriaADPorCia.rpt"Case 26

visor.fileReport ="rptListarAuditoriaUNEPorCia.rpt"Case 29

visor.fileReport ="rptListarAuditoriaALPorCia.rpt"

End Selectvisor.matriz(0)

= "@condicionName;" & cadIf chbAll.CheckState =CheckState.Checked Then

visor.matriz(1) = "@code;" &CChar("3")Else

visor.matriz(1) = "@code;" &CChar("2")

End Ifvisor.Text = "Listar por Auditor"visor.Show()

End Select

Me.Close()Catch ex As Exception

MessageBox.Show(ex.ToString)End Try

End Sub

34

MANUAL DE USUARIO

35

SISTEMA DE DIAGNOSTICO DE SEGURIDADES

WINDOWS “SAW”

1. INICIAR SESION

Al iniciar la aplicación aparecerá la pantalla con el logotipo principal.

Luego de varios segundos aparecerá automáticamente la pantalla de “login” en

donde se deberá ingresar el usuario y password; si el programa está recién

instalado los datos serán los siguientes:

36

Usuario: admin.

Password: admin.

Rol: admin.

Si ya se posee un usuario se deberá colocar con el respectivo rol asignado.

NOTA: Es recomendable que se cambie la clave una vez instalado el producto

por seguridad.

37

2. CAMBIAR CLAVE DE ACCESO

En el caso que se decida cambiar la clave presionará el botón “cambiar clave”

Una vez ubicado en la pantalla “Cambio de clave” se colocará la clave, se dará

click en el botón “visto” y una vez que se haya validado se activarán las casillas

en las que se procederá a colocar la nueva clave.

38

3. INGRESO DE USUARIO

Una vez ingresado con el usuario “admin” se mostrará la pantalla siguiente en

donde se deberán crear los usuarios con sus respectivos permisos o roles que

utilizarán la aplicación.

Para ingresar a la pantalla de “Ingreso de usuario” se deberá escoger en el

menú “Administración”, la opción “Usuario” seguido de la opción “Ingreso”, tal

como se muestra en la figura:

39

Al dar clic en ingreso se mostrará la siguiente pantalla:

En donde se registrarán los datos del usuario.

El campo “CI” sólo aceptará cédulas verídicas; es decir, que se validarán según

el dígito verificador.

40

Una vez ingresados los datos del usuario se procederá a asignar un perfil

predeterminado.

4. PERFILES DE USUARIO

Entre los perfiles se encuentran los siguientes:

ADMIN: Tendrá acceso a todas las opciones de la aplicación.

AUDITOR: Tendrá acceso a todas las opciones excepto las de administración.

41

REPORTEADOR: Sólo podrá realizar reportes.

42

Rol:Admin.

43

Rol: Auditor

44

Rol: Reporteador

NOTA: Los objetos marcados son los que no se mostrarán como activos en la

aplicación de acuerdo al rol especificado.

45

4.1ROLES Y PERMISOS DE LOS USUARIOS

ROL

ACCESOOPCIONES

ADMIN AUDITOR REPORTEADOR

Administración √ Χ Χ

Auditar √ √ Χ

Comparar √ √ √

Parametrizar √ √ Χ

Reportes √ √ √

46

5. CONSULTA DE USUARIOS

Para ingresar a la pantalla de “Consulta de usuario” se deberá escoger en el

menú “Administración”, la opción “Usuario” seguido de la opción “Consulta”, tal

como se muestra en la figura

En donde se podrán realizar consultas por cualquiera de los cuatro campos

habilitados, en caso de que se desease modificar el campo consultado se debe

presionar el botón “MODIFICAR”

47

6. MODIFICAR USUARIO

Para ingresar a la pantalla de “Modificar usuario” se deberá escoger en el menú

“Administración”, la opción “Usuario” seguido de la opción “Modificación”, tal

como se muestra en la figura

48

En donde en criterio de búsqueda para poder realizar una modificación será el

ingreso de una cédula que ya haya sido ingresada, luego de presionar

Aparecerán todos los campos correspondientes al usuario donde podrán ser

modificados, los cambios serán guardado al presionar el botón “GRABAR”

49

7. INICIALIZAR CLAVE

Esta opción nos servirá en caso de que el usuario no recuerde su clave.

Para ingresar a la pantalla de “Inicializar clave” se deberá escoger en el menú

“Administración”, la opción “Usuario” seguido de la opción “Inicializar clave”, tal

como se muestra en la figura

50

Se deberá colocar el usuario y seguido presionar el botón “INICIALIZAR”

y automáticamente la clave del usuario será: “1234567”, la que deberá ser

cambiada al momento de ingresar a la aplicación.

51

8. DESBLOQUEO DE USUARIOS

Un usuario se bloqueará si al tratar de ingresar a la aplicación coloca una

contraseña NO valida por tres ocasiones seguidas; si ese fuere el caso y el

usuario se bloquease se deberá informar al administrador de la aplicación que lo

desbloquee.

El desbloqueo de usuarios se realizará de la siguiente manera:

52

Para desbloquear un usuario se deberá escoger en el menú “Administración”, la

opción “Desbloqueo de usuario”, tal como se muestra en la figura.

En la que se mostrará la pantalla siguiente, en donde se colocará el usuario que

se encuentra bloqueado y presionar el botón

53

Si el usuario de verdad se encontrase bloqueado aparecerá en la parte inferior

“USUARIO BLOQUEADO”, en caso contrario presentará mensaje “el usuario no

está bloqueado”

Para concluir se quitará el vista de la casilla mencionada y dará clic en “Grabar”

54

9. INGRESO DE EMPRESA

Para ingresar a la pantalla de “Ingreso de empresa” se deberá escoger en el

menú “Administración”, la opción “Empresa” seguido de la opción “Ingreso”, tal

como se muestra en la figura.

En donde se registrarán los datos del usuario, en la cuál se validará:

El campo “RUC” sólo aceptará ruc verídicos; es decir, que se validarán según el

dígito verificador.

55

La consulta y la modificación de empresas es similar a la de usuario.

10. MENU PRINCIPAL

Una vez ingresados al “menú principal” se escogerá la empresa de la cual

pertenecen las máquinas a auditar; NO aparecerán las diferentes opciones de la

aplicación hasta escoger una empresa.

56

Una vez escogida la empresa nos encontraremos con cuatro opciones que

estarán activadas de acuerdo al perfil con el que ingresó; estas son: Auditar,

Comparar, Parametrizar y Reportes.

57

11. OPCION AUDITAR

Una vez escogida la opción Auditar aparecerá la pantalla de conexión.

En la pantalla de Conexión se deberán ingresar los siguientes datos:

Usuario: Que deberán ser un usuario existente en el dominio y que posea los

privilegios de administrador del equipo el cual se va a auditar.

Password: El password correspondiente al usuario indicado.

IP/Nombre: La IP o Nombre del equipo que se va a auditar.

Dominio: El dominio COMPLETO al que pertenece la máquina.

Luego de colocar todos los datos se presionará el botón “CONECTAR” para ir a

la pantalla de selección de datos que se deseen auditar.

58

12. AUDITORIA

Esta es la pantalla principal en donde se observarán y se grabarán los datos

auditados

En la parte superior dentro el frame “General” aparecerá el nombre del host o

nombre de la pc a auditar.

La pantalla está dividida en dos partes: la sección de “Windows” y la sección de

“Active Directory”.

59

En la sección de Windows se podrá auditar lo indicado en pantalla, en la que en

cada uno saldrán datos que se detallarán a continuación:

60

12.1 AUDITORIA DE PUERTOS

Al seleccionar esta opción se desplegará la pantalla siguiente:

61

En la que aparecerán datos como el host o nombre de la máquina, y el

rango de puertos que ya fueron parametrizados con anterioridad; estos

datos no podrán ser modificados en esta pantalla.

Al verificar los datos se procederá con la auditoría presionando el botón

“PROCESAR”.

Esta va hacer un barrido por cada uno de los puertos parametrizados y

mostrará los resultados de los puertos que estén abiertos y la descripción

de dichos puertos.

12.2 AUDITORIA DE SERVICES PACKS

62

12.3 AUDITORIA DE DISCOS

Al seleccionar esta opción

Se desplegará la pantalla siguiente:

63

En la que automáticamente presentará los drives lógicos encontrados en

la máquina(incluyendo cualquier dispositivo externo conectado tal como

pen drives, discos duros externos, etc.), presentando la opción de

escoger y revisar cada uno de los drives y tener la visión mediante el

gráfico del porcentaje de disco usado y libre.

Adicionalmente se mostrará un mensaje en cual nos indicará si el espacio

libre es el óptimo o no tomando en consideración la parametrización

hecha por máquina, de la misma manera como en puertos el porcentaje

no puede ser modificado en esta pantalla sino en la pantalla de

parametrización.

64

Cada vez que se ingresa en esta pantalla automáticamente se guardarán

como auditados en la base.

12.4 AUDITORIA DE RECURSOS COMPARTIDOS

Al seleccionar esta opción

Se desplegará la pantalla siguiente:

65

En la que se presentarán todas las carpetas compartidas del equipo

auditado.

12.5 AUDITORIA DE PROCESOS

Al seleccionar esta opción.

Se desplegará la pantalla siguiente:

66

En la que se presentarán todos los procesos activos del equipo auditado

junto a la ruta de donde se están ejecutando cada uno de ellos.

12.6 AUDITORIA DE SERVICIOS

Al seleccionar esta opción

67

Se desplegará la pantalla siguiente:

En la que se observará todos los servicios que posee la máquina.

12.7 AUDITORIA DE TODOS

Al seleccionar esta opción.

68

Se podrá realizar la auditoría a todas las opciones disponibles en la

aplicación con excepción de los puertos ya que le da la facultad al auditor

de que verifique si hay demasiados puertos el poderlo realizar en otro

momento si así lo desease.

12.8 AUDITORIA GPO

Al seleccionar la opción de GPO

Se desplegarán todas las políticas activas que posea la máquina.

69

12.9 AUDITORIA USUARIOS

Al seleccionar la opción USUARIOS

Se desplegarán todos los usuarios dependiendo de la elección que se

realice:

70

12.10 AUDITORIA CLAVES QUE NUNCA CADUCAN

Al seleccionar esta opción

Se mostrarán los usuarios del dominio cuya clave nunca caduca.

71

13. OPCION COMPARAR

Una vez escogida la opción Comparar

En la que se presentarán las auditorías ejecutadas, se escogerán en los dos

paneles las auditorias que se deseen comparar.

También se podrán escoger las auditorias realizadas por equipo

Una vez seleccionadas las auditorias se presionará el botón “COMPARAR

72

Se reflejarán los resultados de ambas auditorias, agrupadas por el mismo

género del que fueron sustraídas, tal como se muestra en la figura; y de esta

manera obtener una visión de los cambios aplicados y el progreso de los

mismos.

73

74

En caso de nunca haberse realizado una auditoría por la empresa seleccionada

aparecerá el mensaje:

14. OPCION PARAMETRIZAR

Una vez escogida la opción de Parametrizar

Se desplegará la pantalla siguiente:

75

En la que se presentará la empresa la cual se desean realizar las

parametrizaciones; estas constan de:

DISCO: Se colocará el porcentaje libre de disco que se considere óptimo para el

correcto funcionamiento del equipo y éste se reflejará en el reporte de auditor.

76

SERVICES PACKS: Se presentarán los services packs que deben ser revisados

de acuerdo al sistema operativo utilizado; estos deberán ser actualizados

presionando “Cargar archivo” mediante un archivo XML que será entregado

cada vez que se haya alguna actualización, una vez cargado el archivo se

procederá a presionar “Actualizar”

77

PUERTOS: Se ingresarán los puertos que deseen ser auditados por esa

empresa, tanto el puerto inicial como el final.

Si no se tiene conocimiento de qué parámetros deben ser configurados se

presionará en “Establecer por defecto” en el que colocarán los datos indicados

en la pantalla.

78

Todos estos datos serán considerados para deducir lo correcto o incorrecto del

equipo en las auditorías.

15. OPCION REPORTES

Los reportes se podrán generar por tres grupos: empresa, usuario y auditoría.

79

Tanto en EMPRESA como en USUARIO se podrán obtener reportes de los que

se encontrasen: inactivos, activos y todos.

En el reporte se encontrarán todos los datos concernientes tanto como para

usuarios como para empresas.

80

En cambio al realizar reportes por AUDITORIAS se podrán seleccionar entre:

reportes por empresa, por auditor o por fecha.

81

En estos reportes se revisará el historial y los cambios realizados en el tiempo

según se escoja una opción.