sistema de auditoria de seguridad windows...
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
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
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
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:
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.
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
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
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
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.
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:
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
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.
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.