Manual Troubleshooting

Descripción completa

Views 517 Downloads 14 File size 6MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Troubleshooting

2

Sexto ciclo 2008-II

ÍNDICE Presentación 3 Red de contenidos 4 Unidad 1: Estrategias para la solución de problemas, redes y Directorio Activo SEMANA 1 SEMANA 2 SEMANA 3 SEMANA 4

: : : :

Introducción y estrategias para la solución de problemas Solución de problemas de red Directorio Activo: Backup y Disaster Recovery Directorio Activo: Backup y Disaster Recovery -

Implementación SEMANA 5 : Optimizando la base de datos del Directorio Activo Unidad 2: Servidor de archivos y correos Exchange SEMANA 6 : Servidor de archivos: NTFS y Administración de cuotas de

5 11 32 44 91 99

disco : Microsoft Exchange Server: Arquitectura : Microsoft Exchange Server: Planificación y recuperación

107 116

de desastres, proceso de restauración. Unidad 3: Bases de Datos SEMANA 9 : SQL Server 2005: Instalación SEMANA 10 : Seguridad en SQL Server 2005 SEMANA 11 : Relaciones y estructuras de almacenamiento de la base

123 137 144

de datos Oracle Unidad 4: Aplicativos, servidores y seguridad SEMANA 12 : Servidor Asterisk: Arquitectura SEMANA 13 : Servidor Asterisk: Implementación SEMANA 14 : Seguridad: Respuestas y mejores prácticas ante

169 176 187

SEMANA 7 SEMANA 8

incidentes de seguridad

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

3

PRESENTACIÓN

Troubleshooting pertenece a la línea de administración de sistemas, el cual es un curso de espacialidad dictado sólo en la carrera de Redes y Comunicaciones. Permite al estudiante desarrollar sus cualidades para la resolución de problemas presentados en las TICs. El manual para el curso ha sido diseñado bajo la modalidad de unidades de aprendizaje, las que se desarrollan durante semanas determinadas. En cada una de ellas, hallará los logros, que debe alcanzar al final de la unidad; el tema tratado, el cual será ampliamente desarrollado; y los contenidos, que debe desarrollar, es decir, los subtemas. Por último, encontrará un resumen con la información más relevante y links a págianas web que le permitirán reforzar lo aprendido en la clase. El curso se desarrolla brindándole al alumno una teoría general, casos prácticos e implementaciones, cuyos temas tratan sobre las buenas prácticas en la resolución de problemas en determinados campos de las TICs, muchos de los cuales se relacionan entre sí. El curso da inicio con una introducción general sobre troubleshooting, posteriormente se aborda la teoría necesaria para dar soporte a la implementación de casos prácticos sobre networking, Active Directory, Servidores de archivos y de correo, seguidamente casos sobre problemas en bases de datos Oracle y SQL, servidores de telefonpia Asterisk y finalmente casos sobre problemas de seguridad de redes.

CIBERTEC

CARRERAS PROFESIONALES

4

RED DE CONTENIDOS

Troubleshooting Troubleshooting

Estrategias para la solución de problemas, redes y Directorio

Introducción y estrategias para la solución de

Servidor de Archivos y correos Exhange

Solución de problem as de red

Servidor de archivos: NTFS y Administración de cuotas de disco

Bases de Datos

Directorio Activo: Backup y Disaster

Microsoft Exchange Server; Arquitectur

SQL Server 2005: Instalación

Directorio Activo: Backup y Disaster RecoveryImplementación

Optimizando la base de datos del Directorio Activo

Microsoft Exchange Server: Planificación y recuperación de desastres, proceso de

Seguridad en SQL Server 2005

Servidor Asterisk: Asquitectura CARRERAS PROFESIONALES CIBERTEC

Aplicativos , servidores y

Servidor Asterisk: Implementa ción

Relaciones y estructuras de almacenamiento de la base de datos

Seguridad: Respuestas y mejores prácticas ante incidentes de

TROUBLESHOOTING

5

unidad de aprendizaje

1

semana

1

ESTRATEGIAS

PARA LA SOLUCIÓN DE PROBLEMAS, REDES Y DIRECTORIO ACTIVO LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno establecerá los criterios y estrategias que se deben emplear para analizar un problema real en redes de datos y problemas comunes relacionados con el Directorio Activo de Microsoft.

TEMARIO •

Introducción al Troubleshooting.



Solución de problemas de red.



Directorio Activo: Backup y Disaster Recovery.



Optimizando la base de datos del Directorio Activo

ACTIVIDADES PROPUESTAS • Desarrollar un caso de Troubleshooting. • Verificar el estado de conexión de la red a través de comandos de Windows. • Identificar qué puertos utilizan los servicios principales de Windows. • Realizar un backup del Directorio Activo de Microsoft. • Realizar una restauración exitosa del Directorio Activo en caso de desastres.

CIBERTEC

CARRERAS PROFESIONALES

6

1. INTRODUCCIÓN AL TROUBLESHOOTING 1.1 INTRODUCCIÓN Solución de problemas (Troubleshooting), es una forma de resolución de problemas. Se trata de la búsqueda sistemática de la fuente de un problema para que pueda ser resuelto. Solución de problemas a menudo es un proceso de eliminar las posibles causas de un problema. Solución de problemas se utiliza en muchos campos como la administración de sistemas y la electrónica. En general la solución de problemas es la identificación o diagnóstico de "problemas" en un sistema. El problema es inicialmente descrito como síntomas de mal funcionamiento y la resolución de problemas es el proceso de determinación de las causas de estos síntomas. Un sistema puede ser descrito en términos de su intención o el comportamiento esperado. Eventos o aportaciones al sistema se espera que generen resultados específicos o productos. (Por ejemplo, al querer ingresar a una de las páginas de la intranet, el cual me permita visualizar un listado grande de datos de interés). Cualquier inesperado cambio, en particular el comportamiento indeseable es un síntoma y la solución de problemas es el proceso de aislamiento de su causa o causas específicas. Con frecuencia el síntoma es un fracaso para observar ningún resultado. (No se pudo abrir la página deseada, por ejemplo). Solución de problemas también puede adoptar la forma de una lista de comprobación sistemática (checklist), el procedimiento de solución de problemas, diagrama o tabla que se hizo antes de que esto ocurra. El desarrollo de procedimientos para solución de problemas con antelación suficiente permite pensamiento acerca de las medidas a adoptar en la resolución de problemas y la organización de la solución de problemas en el proceso de resolución de problemas más eficiente.

1.2 MÉTODOS Y TÉCNICAS PARA LA RESOLUCIÓN DE PROBLEMAS El primer paso en Troubleshooting es determinar el ámbito del problema. En otras palabras, si el problema es aislado o existe a lo largo de toda la red. Las dos situaciones pueden ser enteramente diferentes, pero la metodología de resolución de incidentes es la misma. Una vez que se determine el alcance del problema, se podrá fijar su prioridad. Más de un problema puede presentarse simultáneamente; por lo tanto, se debe dar la prioridad al incidente más urgente. Por ejemplo, si ningún usuario en un edificio tiene acceso a la red, es una prioridad más alta que un usuario que no pueda extraer información de la base de datos. Después de que se fijan las prioridades, se recoge la información específica sobre el problema particular. Se debe ser específico sobre la situación para poder resolverla. Se debe recopilar tanta información como sea posible sobre lo siguiente:  Descripción del problema.  Cuando y con qué frecuencia ocurre. CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

7

 Los mensajes de error relacionados.  La última vez que el dispositivo (o el sistema operativo, uso, etc.) funcionó apropiadamente.  Actualizaciones recientes o cambios en la configuración.  Archivos recientes descargados desde Internet.  Ultimas Instalaciones de Aplicaciones.  Últimos Update de aplicaciones. En este punto, se necesita establecer causas posibles. Crear una lista de causas probables, comenzando desde abajo con la más obvia hasta el más inverosímil. Después de esto, comenzar a aislar el problema probando cada una de las causas en la orden en el que se las formuló. Al probar, realizar un cambio a la vez y prubar los resultados. Si eso no resuelve la situación, realizar otro cambio y pruebar nuevamente los resultados. Si se cambia más de un elemento a la vez y el problema se soluciona, no se sabrá con exactitud qué era lo que lo producía. Consecuentemente, la próxima vez que ocurra el problema, no se sabrá qué solución fue la adecuada, teniendo que realizar todo el proceso para resolverlo. Además, si se hacen cambios múltiples y el problema empeora no se tendrá ninguna idea si la condición empeorada fue por el cambio realizado o por una cuestión de una progresión normal. “Cuando se está aislando un problema, realizar solamente un cambio a la vez, probar el cambio, y documentar los resultados”. Cuando se localiza un problema de la red, ¿cómo se determina si la fuente del problema es hardware o software o están relacionadas? La solución puede ser a veces fácil. Si un ventilador en el servidor para de trabajar, se puede saber que es un evento del hardware. Sin embargo, ¿qué pasa con los problemas tales como funcionamiento lento de la red o los usuarios no tienen acceso fiable a internet? En relación con las mejoras, no hay garantía que irá cualquier mejora tal y como es previsto. Crear un plan de reserva en caso de que vaya cualquier cosa mal. Al substituir el hardware, mantener el viejo equipo en el almacén por un período de tiempo hasta que se esté seguro que los nuevos cambios funcionan en el nuevo equipo correctamente. Si se está actualizando el software, asegurar de que la actualización se pueda revertir en caso de que ocurran las complicaciones. Y por muy insignificante que parezca el cambio no olvidar RESPALDAR. “Guardar la documentación que viene con nuevos hardware y software. En un cierto punto, es probable que se necesitará leerla”

1.3 PENSAMIENTO ABIERTO, SABER PENSAR ¿Por qué algunas personas poseen mayor facilidad para resolver un problema y salir con éxito de una situación dificil?

CIBERTEC

CARRERAS PROFESIONALES

8

La respuesta más frecuente ha sido resignarse ante el hecho de que esas personas nacen dotadas de una estructura genética que favorece el desarrollo de ciertas habilidades, es decir, se nace inteligente y esto facilita el éxito. Sobre esta afirmación inicial se han llevado a cabo numerosos estudios cuyas conclusiones son: La presencia desde el nacimiento de ciertas habilidades (inteligencia, capacidad de observación, persistencia etc.) favorece la adaptación y resolución exitosa del individuo a las situaciones conflictivas que se le presenten a lo largo de su vida. Esto no significa que estas habilidades no puedan aprenderse, sino que por el contrario, el conocimiento de las técnicas, y estrategias adecuadas y la práctica constante de las mismas pueden hacer que se desarrollen incluso más eficazmente estas habilidades. En el curso que a continuación iniciamos, se proporcionará al alumno el conocimiento de las técnicas y estrategias que facilitan la resolución de problemas, quedando en su mano el convertirse, a través de la práctica constante, en un experto en solución de problemas. SABER PENSAR En el mundo cotidiano, el primer punto y en ocasiones el más difícil antes de resolver un problema, es el reconocimiento de que ese problema existe Esto implica que las personas no sólo necesitan ayuda para resolver los problemas sino también para reconocerlos. Porque en ocasiones, los problemas se “inventan” de manera tal que formar a las personas para que resuelvan problemas es muy complejo, ya que dependerá del criterio que tome cada individuo para afrontar un problema. Ejemplo: dos personas confrontan un problema y cada uno tomará los criterios necesarios para resolverlo, por lo tanto llegaremos a dos soluciones diferentes, ninguna solución es mejor que la otra, ambas llegan al mismo resultado. En el mundo cotidiano, resulta más difícil identificar el problema que resolverlo Recurriendo a un ejemplo: un administrador de plataforma puedes detectar a simple vista que los backup se realizan con fallas, pero sin lograr descubrir por qué. Un alumno puede observar que sus calificaciones son más bajas en una asignatura pero sin reconocer qué puede hacer para mejorarlas. Encontrar lo que genera la dificultad es lo que permitirá reconocer el problema. En el mundo cotidiano, la resolución de problemas no presenta de forma clara el tipo de información necesaria que se requiere para abordarlos, ni tampoco estará claro el sitio en el cual deba buscarse la información En efecto, la vida real es compleja y hallar la información puede ser a menudo un problema en sí mismo. En el mundo cotidiano, los problemas no tienen una única solución... e incluso los criterios que definirían cuál de todas es la mejor solución, no siempre están claros. En la mayor parte de los problemas que aparecen en la vida no existen respuestas unívocamente correctas, y aún en el caso en que esto fuera así, solo sería posible apreciarlo en retrospectiva.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

9

En el mundo cotidiano, los problemas dependen al menos tanto de conocimiento oficial como del extraoficial La capacidad de adquirir el conocimiento extraoficial no es sino una manifestación de la capacidad para adquirir cualquier otra forma de conocimiento.

En el mundo cotidiano, los problemas suelen resolverse en grupo Generalmente, las problemáticas de la vida implican para su solución la intervención de varias personas, los grupos de trabajo son la norma más habitual en la mayoría de los ámbitos. En el mundo cotidiano, los problemas suelen ser complicados, confusos y persistentes La solución de un problema no siempre es una solución definitiva, los problemas reales son problemas que pueden tener diversas dimensiones en incluso modificarse de acuerdo a la perspectiva. Por ejemplo, los directivos de una empresa pueden apreciar como deben enfrentar una doble problemática: encontrar soluciones y además, convencer a otros de la eficacia de dicha solución.

CIBERTEC

CARRERAS PROFESIONALES

10

Resumen



Troubleshooting es la búsqueda sistemática de la fuente de un problema para que pueda ser resuelto.



La solución de problemas también puede adoptar la forma de una lista de comprobación sistemática (checklist), el procedimiento de solución de problemas, diagrama o tabla que se hizo antes de que esto ocurra.



La presencia desde el nacimiento de ciertas habilidades (inteligencia, capacidad de observación, persistencia etc.) no significa que estas habilidades no puedan aprenderse, sino que por el contrario, el conocimiento de las técnicas, y estrategias adecuadas y la práctica constante de las mismas pueden hacer que se desarrollen incluso más eficazmente estas habilidades.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas.  http://www.matematicasypoesia.com.es/GlosarioCal/rgcalidad04.htm Aquí hallará una plantilla aplicada para las reuniones de grupo.



http://www.scribd.com/doc/3050467/Identificacion-de-Problemas-Arbol-deProblemas En esta página se aplica una técnica conocida como Árbol de Problemas.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

11

unidad de aprendizaje

1

semana

2

ESTRATEGIAS

PARA LA SOLUCIÓN DE PROBLEMAS, REDES Y DIRECTORIO ACTIVO LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno establecerá los criterios y estrategias que se deben emplear para analizar un problema real en redes de datos y problemas comunes relacionados con el Directorio Activo de Microsoft.

TEMARIO •

Introducción al Troubleshooting.



Solución de problemas de red.



Directorio Activo: Backup y Disaster Recovery - Teoría.



Directorio Activo: Backup y Disaster Recovery – Laboratorio



Optimizando la base de datos del Directorio Activo

ACTIVIDADES PROPUESTAS • Desarrollar un caso de Troubleshooting. • Verificar el estado de conexión de la red a través de comandos de Windows. • Identificar qué puertos utilizan los servicios principales de Windows. • Realizar un backup del Directorio Activo de Microsoft. • Realizar una restauración exitosa del Directorio Activo en caso de desastres.

CIBERTEC

CARRERAS PROFESIONALES

12

1. SOLUCIÓN DE PROBLEMAS DE RED 1.1 INTRODUCCIÓN La dependencia de los recursos de la red ha crecido enormemente durante los últimos 10 años. Actualmente la gran mayoría de compañías dependen de la disponibilidad de su red, por consiguiente las compañías actuales son menos tolerantes a fallas de red. Debido a ello el troubleshooting de red es un elemento crucial en toda organización. No sólo se ha aumentado la dependencia de la red, la industria también está evolucionando cada vez más hacia entornos más complejos, a través de muchos medios, múltiples protocolos y a menudo a la interconexión de redes desconocidas. Estas redes desconocidas pueden definirse como un lugar de tránsito perteneciente a un proveedor de servicios de Internet (ISP) o de telecomunicaciones que interconectan redes privadas. La convergencia de voz y video en redes de datos también ha añadido complejidad e importancia a la fiabilidad de la red. Entornos de red más complejos significa que el potencial para la conectividad y los problemas de rendimiento entre redes es alto, y la fuente de los problemas es a menudo difícil de alcanzar.

1.2 MODELO DE SOLUCIÓN DE PROBLEMAS DE RED Los fracasos en redes se caracterizan por ciertos síntomas. Estos síntomas pueden ser generales (como los clientes al acceder a servidores puntuales) o más específicos (rutas no existentes en una tabla de rutas). Cada síntoma puede atribuírse a uno o más problemas o a causas específicas mediane el uso de herramientas y técnicas de solución de problemas. Después de ser identificados, cada uno de los problemas pueden ser remediados aplicando una solución que consistirá en una serie de acciones. Siempre debe de tenerse en cuenta el contexto específico en el que se está solucionando el problema, es decir, determinar la forma de detectar el problema en el entorno en el que se está dando. Cuando se está realizando Troubleshooting en un ambiente de red, un enfoque sistémico da mejores resultados. Se debe definir los síntomas específicos, identificar todos los potenciales problemas que puedan estar causando estos síntomas, y eliminar sistemáticamente cada problema potencial (del más crítico al menos crítico) hasta que los síntomas desaparezcan. La siguiente figura muestra el flujo del proceso para un modelo general de solución de problemas. Este proceso no es rígido para solucionar problemas de red, éste puede ser la base desde la cual podemos construir un proceso de solución de problemas para un caso particular.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

13

Diagrama de flujo de un Modelo General para solucionar problemas de red

CIBERTEC

CARRERAS PROFESIONALES

14

Los siguientes pasos detallan los procesos de la solución de problemas mostrados en la diagrama de flujo. Paso 1: Cuando se analiza un problema de red, se hace una clara descripción del problema. Se debe definir el problema en términos de un grupo de síntomas y potenciales causas. Para propiamente analizar el problema, se identifican los síntomas generales y entonces se buscan las causas que pueden resultar en estos síntomas. Por ejemplo, un servidor puede no responder a las solicitudes de servicio de sus clientes (un síntoma). Las posibles causas pueden incluir la desconfiguración del servidor, daños en la interfase de red, o pérdidas de rutas en el router que lo enlaza a los clientes. Paso 2: Se reúnen los datos y hechos que se necesitan para ayudar a aislar las posibles causas. Preguntar a los usuarios afectados, administradores de red, jefes, y a todas las personas posibles. Recolectar la información de fuentes como de los sistemas de administración de la red, analizadores de protocolos, comandos de diagnóstico de routers, u otro software que nos pueda brindar más información sobre el problema y su entorno. Paso 3: Se consideran los posibles problemas basados en los datos reunidos. Usando los datos recopilados podemos eliminar algunas de las causas potenciales de nuestra lista. Dependiendo de los datos, podemos, por ejemplo: ser capaces de eliminar al hardware como una causa, enfocándose así en una solución a un problema de software. Cualquier acción que disminuya el número de causas potenciales ayudan a poder crear un eficiente plan de acción. Paso 4: Se crea un plan de acción basado en los causas potenciales que aún no han sido descartadas. Se empieza con la más probable causa del problema e idear un plan en el cual sólo una variable es manipulada. Cambiando sólo una variable a la vez permite reproducir una solución dada a un específico problema. Si se altera más de una variable simultáneamente, capaz se podrá resolver el problema, pero identificar el cambio específico que eliminó el síntoma se hace más dificultoso y no ayudará a resolver el mismo problema si este ocurre más adelante. Paso 5: Se implementa el plan de acción, se realiza cada paso cuidadosamente mientras se verifica si el síntoma desaparece. Paso 6: Siempre que se cambie una variable, se debe asegurar la recopilación de los resultados. Generalmente, se podrá usar el mismo método de recopilación del Paso 2 (que es, trabajar con las personas claves afectadas y a la vez utilizando nuestras herramientas de diagnóstico). Paso 7: Se analizan los resultados para analizar si el problema ha sido resuelto. Si esto es así, entonces el problema está resuelsto por completo. Paso 8: Si el problema no ha sido resuelto, se debe crear un plan de acción basado en la próxima más probable causa del problema de nuestra lista. Retornar

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

15

al paso 4, cambiar una variable a la vez, y repetir el proceso hasta que el problema esté resuelto. Paso 9: Se asegura de que el problema no se vuelva a repetir. Para ello se podrán realizar varias acciones, como por ejemplo si el problema se debió a una desconfiguración, documentar la configuración como parte del proceso de instalación o implementación del servidor o servicio, otra opción podría ser normar que se realice una revisión diaria de los servicios, y una de los puntos de esta revisión es confirmar que la configuración o implementación de la solución se mantenga.

1.3 ANTICIPÁNDOSE A UNA FALLA DE RED Es fácil sobreponerse a una falla de red si estamos preparados antes de que esta suceda. Posiblemente el requerimiento más importante en cualquier ambiente de red es tener disponible la actual y real información de la red todo el tiempo accesible al personal de soporte de redes o administradores de red. Sólo con una completa información pueden decidir inteligentemente en caso de realizar cambios en la red y sólo con una completa información podemos resolver los problemas más rápido y fácil. Durante el proceso de solucionar problemas de red es más crítico asegurar que esta documentación esté actualizada. Para determinar si estamos preparados para un fallo de red, responderemos las siguientes preguntas: •

¿Se tiene un exacto mapa físico y lógico de nuestra red? ¿La organización o departamento tiene un diagrama de red actualizado que muestre la localización física de todos los dispositivos en la red y cómo están conectados, tanto como un mapa lógico de las direcciones de red, números de red, subredes, etc?



¿Se tiene una lista de todos los protocolos de red implementados? ¿Para cada uno de los protocolos implementados, se tiene una lista de los números de red, subredes, zonas, áreas y cuál es su relación entre ellos?



¿Se conoce cuáles protocolos están siendo ruteados? ¿Para cada protocolo ruteado, se tiene la correcta y actualizada configuración del router?



¿Se tiene algún protocolo que está siendo filtrado? ¿Hay algunos filtros configurados en algún bridge, y tenemos una copia de esa configuración?



¿Se conoce todos los puntos de contacto a redes externas, incluyendo cualquier conexión a Internet? Para cada conexión a una red externa, ¿se conoce qué protocolo o protocolos están siendo usados?

CIBERTEC

CARRERAS PROFESIONALES

16



¿Se tiene establecida una línea base para nuestra red? ¿La organización tiene documentado el comportamiento normal de la red y su rendimiento en diferentes momentos del día de tal manera que se pueda comparar el actual problema con una línea base?

Si responde afirmativamente a todas estas preguntas, se tendrá la capacidad de sobreponerse a una falla más fácil y rápidamente que si no se estuviera preparado.

1.4 UTILITARIOS DE RED EN WINDOWS IPConfig IPConfig es una utilidad de línea de comandos que proporciona la configuración TCP-IP de un equipo. Cuando se utiliza con la opción /all, produce un informe detallado de la configuración de todas las interfaces de red presentes en el equipo, incluyendo los puertos serie configurados en el sistema (RAS). Las opciones /release [adaptador] y /renew [adaptador] liberan y renuevan respectivamente la dirección IP del adaptador especificado. Si no se especifica adaptador, el comando afectará a todas las direcciones de adaptadores enlazados a TCP/IP. Ping Ping es una herramienta que ayuda a verificar la conectividad del equipo a nivel IP. Cuando se detectan errores en la conexión TCP/IP, puede utilizarse el comando ping para enviar a un nombre DNS destino o a una dirección IP una petición ICMP de eco. Se recomienda realizar un ping inicial a la dirección IP del host destino. Si este resulta con éxito, puede intentarse un ping al nombre simbólico. Si este último falla, el problema no estará en la conectividad de red, sino en la resolución de nombres. El comando presenta las siguientes opciones: - -t: Solicita eco al host hasta ser interrumpido. - -a: Resuelve direcciones a nombres de host. - -n cantidad: Cantidad de solicitudes de eco a enviar. – -l tamaño: Tamaño del búfer de envíos en bytes. - -f: No fragmentar el paquete. - -i TTL: Tiempo de vida (TDV). - -v TOS: Tipo de servicio. - -r cantidad: Registrar la ruta para esta cantidad de saltos. - -s cantidad: Registrar horarios para esta cantidad de saltos.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

17

- -j lista de hosts: Ruta origen variable en la lista de host. - -k lista de hosts: Ruta origen estricta en la lista de host. - -w tiempo: Tiempo de espera de respuesta en milisegundos. Por omisión, ping solo espera 750ms por cada respuesta antes de que expire su temporizador.

ARP El comando ARP resulta útil para visualizar la caché de resolución de direcciones. Muestra y modifica las tablas de traducción de direcciones IP a direcciones físicas usadas por el protocolo de resolución de direcciones ARP. Sus formatos de uso son: ARP -s dir_IP dir_eth [dir_if] ARP -d dir_IP [dir_if] ARP -a [dir_IP] [-N dir_if] El comando presenta las siguientes opciones: - -a: Muestra las entradas actuales de ARP preguntando por los datos del protocolo. Si se especifica dir_IP, se muestran las direcciones IP y Física sólo para el equipo especificado. Cuando ARP se utiliza en más de una interfaz de red, entonces se muestran entradas para cada tabla ARP. - -g: Lo mismo que -a. - dir_IP: Especifica una dirección internet. - -N dir_if: Muestra las entradas de ARP para las interfaces de red especificadas por dir_if. - -d: Elimina el host especificado por dir_IP. - -s: Agrega el host y asocia la dirección internet dir_IP con la dirección física dir_eth. La dirección física se especifica con 6 bytes en hexadecimal separados por guiones. La entrada es permanente. - dir_eth: Especifica una dirección física. - dir_if: Si está presente, especifica la Dirección internet de la interfaz con la tabla de traducción de direcciones a modificar. Si no se especifica, se utiliza la primera interfaz aplicable.

Tracert Tracert (trace route) es una utilidad que permite visualizar trazas. Utiliza el campo TTL del paquete IP en mensajes de petición de eco y de error (tiempo excedido) ICMP para determinar la ruta desde un host a otro a través de una red, para lo

CIBERTEC

CARRERAS PROFESIONALES

18

cual muestra una lista de las interfaces de routers por las que pasan dichos mensajes. Debe tenerse en cuenta que algunos routers eliminan de forma transparente paquetes con TTL expirado. Estos routers no aparecerán en la traza de Tracert. Su uso viene determinado por los siguientes formatos: tracert [-d] [-h máximo_de_saltos] [-j lista_de_hosts] tracert [-w tiempo_de_espera] nombre_de_destino Opciones: - -d: No convierte direcciones en nombres de hosts. - -h máximo_de_saltos: Máxima cantidad de saltos en la búsqueda del objetivo. - -j lista-de-host: Encaminamiento relajado de origen a lo largo de la lista de hosts. - -w tiempo_de_espera: Cantidad de milisegundos de espera por respuesta entre intentos.

Route El comando Route se utiliza para visualizar y modificar la tabla de rutas. Route print muestra una lista con las rutas actuales conocidas por IP para el host. Route add se utiliza para añadir rutas a la tabla, y route delete se utiliza para borrar rutas de la tabla. Nótese que las rutas añadidas a la tabla no se harán persistentes a menos que se especifique el modificador –p, por lo que solo permanecerán en dicha tabla hasta el siguiente reinicio de la máquina. Para que dos hosts intercambien datagramas IP, ambos deberán tener una ruta al otro, o utilizar un gateway por omisión que conozca una ruta. Normalmente, los routers intercambian información entre ellos utilizando un protocolo como RIP (Routing Information Protocol) u OSPF (Open Shortest Path First). Puesto que NT no ha proporcionado tradicionalmente una implementación para estos protocolos, si se deseaba utilizar un equipo como router, debía configurarse manualmente su tabla de rutas. El comando route presenta los siguientes formatos: route [-f] [-p] [comando [destino]] [MASK máscara de red] [puerta de acceso] [METRIC métrica] [IF interfaz] - -f: Borra las tablas de enrutamiento de todas las entradas de la puerta de acceso. Si se usa éste junto con uno de los comandos, las tablas se borran antes de ejecutar el comando. - -p: Cuando se usa con el comando ADD, hace una ruta persistente en el inicio del sistema. De forma predeterminada, las rutas no se conservan cuando se reinicia el sistema. Cuando se usa con el comando PRINT, muestra la lista de rutas persistentes registradas. Se omite para todos los otros comandos, que siempre afectan las rutas persistentes apropiadas. Esta opción no está disponible en Windows 95.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

19

- Comando: Puede ser uno de los siguientes: PRINT : Imprime una ruta ADD Metric if : Agregar una ruta DELETE : Elimina una ruta CHANGE Metric if : Modifica una ruta existente - MASK : Especifica que el siguiente parámetro es el valor "máscara de red". - METRIC : Especifica la métrica, es decir, el costo para el destino. - if : Especifica la dirección IP de la interfaz sobre la que es accesible el destino. - máscara de red: Especifica un valor de máscara de subred para esta entrada de ruta. Si no se especifica, el valor predeterminado es 255.255.255.255. - destino: Especifica el host. - puerta de acceso: Especifica la puerta de acceso. - Interfaz: El número de interfaz para la ruta especificada. Todos los nombres simbólicos usados para el destino se buscan en el archivo de la base de datos de la red NETWORKS. Los nombres simbólicos para la puerta de acceso se buscan en el archivo de la base de datos de nombres de hosts HOSTS. Si el comando es PRINT o DELETE. El destino o la puerta de acceso pueden ser un comodín (el comodín se especifica como una estrella "*") o bien se puede omitir el argumento de la puerta de acceso. Si Dest contiene un carácter * o ?, se le considera como un modelo de núcleo y sólo se imprimen las rutas de destino coincidentes. El carácter "*" coincide con cualquier cadena y "?" coincide con cualquier carácter. Ejemplos: 157.*.1, 157.*, 127.*, *224*. Si no se da IF, intenta buscar la mejor interfaz para una puerta de acceso determinada.

Netstat Netstat muestra estadísticas relativas al protocolo y las conexiones TCP/IP en curso. Netstat –a muestra todas las conexiones, y netstat –r muestra la tabla de rutas, además de las conexiones que se encuentren activas. El modificador –n indica a netstat que no convierta direcciones y números de puertos a nombres.

CIBERTEC

CARRERAS PROFESIONALES

20

La sintaxis del comando tiene el siguiente formato: netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalo] A continuación se describen las diferentes opciones con que se puede invocar este comando: - -a: Mostrar todas las conexiones y puertos escucha. (Normalmente, el extremo servidor de las conexiones no se muestra). - -e: Mostrar estadísticas Ethernet. Se puede combinar con la opción -s. - -n: Mostrar números de puertos y direcciones en formato numérico. - -p proto: Mostrar conexiones del protocolo especificado por proto; que puede ser tcp o udp. Si se usa con la opción -s para mostrar estadísticas por protocolo, proto puede ser tcp, udp o ip. - -r: Mostrar el contenido de la tabla de rutas. - -s: Mostrar estadísticas por protocolo. En forma predeterminada, se muestran para TCP, UDP e IP; se puede utilizar la opción –p para especificar un subconjunto de lo predeterminado. - Intervalo: Vuelve a mostrar las estadísticas seleccionadas, haciendo pausas en un intervalo de segundos entre cada muestra. Pulse CTRL+C para detener el refresco de estadísticas. Si se omite, netstat imprimirá la información de configuración actual una única vez.

NBTStat Muestra estadísticas del protocolo y conexiones TCP/IP actuales utilizando NBT (NetBIOS sobre TCP/IP). NBTStat es una herramienta que resulta de utilidad para solucionar problemas con la resolución de nombres llevada a cabo por NetBIOS. NBTStat –n muestra los nombres que fueron registrados de forma local en el sistema por aplicaciones, tales como el servidor y el redirector. NBTStat –c muestra la caché de nombres NetBIOS, que contiene las traslaciones nombredirección para otras computadoras. NBTStat –R purga la caché de nombres y la carga de nuevo desde el fichero LMHOSTS. NBTStat –a realiza un comando de estado del adaptador NetBIOS contra la computadora especificada por nombre. El comando de estado de adaptador devuelve la tabla de nombres NetBIOS para esa computadora además de la dirección MAC de la tarjeta adaptadora. NBTStat –S lista las sesiones NetBIOS en curso y sus estados, incluyendo estadísticas.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

21

A continuación se describe el formato de este comando: nbtstat [-a Nombre remoto] [-A dirección IP] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [intervalo] ] El comando puede utilizarse con las siguientes opciones: -a: (estado del adaptador) Lista la tabla de nombres de máquinas remotas dado su nombre. -A: (estado del adaptador) Lista la tabla de nombres de máquinas remotas dada su dirección IP. -c: (caché) Muestra la caché global de nombres remotos incluyendo las direcciones IP -C: (caché) Muestra la caché global de nombres remotos con direcciónes IP por dispositivo -n: (nombres) Muestra nombres locales NetBIOS. -r: (resueltos) Muestra los nombres resueltos por difusión y vía WINS -R: (Recargar) Purga y vuelve a cargar la tabla caché de nombres remotos -S: (Sesiones) Muestra tablas de sesiones con las direcciones IP de destino -s: (sesiones) Muestra las tablas de sesiones para convertir las direcciones IP de destino a nombres de host usando el archivo hosts. -RR: (LiberarActualizar) Envía paquetes de liberación de nombres a WINS y luego inicia la actualización Nombre remoto: Nombre de la máquina de host remota. Dirección IP: Representación de la dirección IP con separación de punto decimal. Intervalo: Vuelve a mostrar las estadísticas seleccionadas, indicando la pausa en segundos entre cada muestra. Presione Ctrl+C para interrumpir el ciclo de estadísticas.

Nslookup Nslookup se añadió a Windows NT 4. y es una herramienta muy útil para resolver problemas con el Servicio de Nombres de Dominio (DNS), tales como la resolución del nombre de un equipo. Cuando se inicia nslookup, éste muestra el nombre de host y la dirección IP del servidor DNS que haya sido configurado en el sistema local, pasando a continuación a mostrar un prompt >. Tecleando ?, se mostrarán las diferentes opciones que se encuentran disponibles para este comando. Par buscar la dirección IP de un host a través de DNS, teclee el nombre del host y pulse INTRO. Nslookup utilizará por omisión el servidor DNS configurado para la computadora en que está ejecutando, pero, si lo desea, el comando puede configurarse para que utilice cualquier otro servidor DNS a través

CIBERTEC

CARRERAS PROFESIONALES

22

del formato nslookup server , en el que nombre es el nombre simbólico del servidor que se desee utilizar. Una de las principales características que presenta esta herramienta para resolución de problemas con el servicio de nombres es su modo de depuración, el cual puede ser invocado tecleando nslookup set debug o, para conseguir un mayor detalle, nslookup set d2. En modo depuración, nslookup detalla los pasos por los que va pasando en el procesamiento de sus comandos. A continuación se detallan las diferentes opciones y modos presentes en el comando nslookup, los identificadores se muestran en mayúsculas, [] significa opcional): - NAME: imprime información acerca del host o dominio NAME usando el servidor predeterminado - NAME1 NAME2: igual que el anterior, pero usa NAME2 como servidor - ayuda o ?: imprime información acerca de comandos comunes disponibles en nslookup - set OPTION: establecer una opción - all: imprime opciones, servidor y host actuales - [no]debug: imprime información de depuración. Precedido de no deja de imprimir dicha información - [no]d2: imprime información de depuración muy detallada. Precedido de no deja de imprimir dicha información - [no]defname: anexa el nombre del dominio a cada consulta - [no]recurse: pide una respuesta recursiva a la consulta - [no]search: usa la lista de búsqueda del dominio - [no]vc: usa siempre un circuito virtual - domain=NAME: establece el nombre del dominio predeterminado a NAME - srchlist=N1[/N2/.../N6] - establece el dominio a N1 y la lista de búsqueda a N1,N2, etc. - root=NAME: establece el servidor de raíz a NAME - retry=X: establece el número de reintentos a X - timeout=X: establece el intervalo de espera inicial a X segundos - type=X: establece el tipo de consulta (p.e. A, ANY, CNAME, MX, NS, PTR, SOA, SRV) - querytype=X: igual que type - class=X: establece la clase de consulta (p.e. IN (Internet), ANY) CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

23

- [no]msxfr: usa la transferencia de zona rápida de MS - ixfrver=X: versión actual que se usa en la solicitud de transferencia IXFR - server NAME: establece el servidor predeterminado a NAME, usando el servidor predeterminado actual - lserver NAME: establece el servidor predeterminado a NAME, usando el servidor inicial - finger [USER]: fija el NAME opcional en el host predeterminado actual - root: establece el servidor predeterminado actual a la raíz - ls [opt] DOMAIN [> FILE]: lista direcciones en DOMAIN (opcional: salida a FILE) - -a: lista nombres canónicos y alias - -d: lista todos los registros - -t TYPElista registros del tipo dado (p.e. A, CNAME, MX, NS, PTR etc.) - view FILE:: clasifica un archivo de salida 'ls' y lo ve con pg - exit: sale del programa.

1.5 PRINCIPALES PROTOCOLOS, PUERTOS Y SERVICIOS DE WINDOWS Puerto: En el momento el computador se conecta a internet, éste pasa a ser un elemento más dentro de la Red, es decir, forma parte de toda la Red y como tal se tiene que comunicar con el resto. Para poder comunicarse, lo primero que necesita es tener una dirección electrónica y poder identificarse con los demás. Si haces una petición, por ejemplo de una página web, el servidor tiene que saber a quien se la envía. Esa dirección electrónica es la dirección IP, qué es un número de 4 grupos de cifras de la forma xxx.xxx.xxx.xxx . Pero eso no es suficiente, ya que en internet se pueden utilizar muchos y diversos servicios y es necesario poder diferenciarlos. La forma de "diferenciarlos" es mediante los puertos. Imaginando un edificio de oficinas, éste tiene una puerta de entrada al edificio (que en nuestro caso sería la IP) y muchas oficinas que dan servicios (que en este caso serian los puertos). Eso lleva a que la dirección completa de una oficina viene dada por la dirección postal y el número de la oficina. En el caso de Internet viene dado por la dirección IP y por el número de puerto. Así por ejemplo, un servidor web escucha las peticiones que le hacen por el puerto 80, un servidor FTP lo hace por el puerto 21, etc. Es decir, los puertos son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica los extremos de una conexión por las direcciones IP

CIBERTEC

CARRERAS PROFESIONALES

24

de los dos nodos (computadoras) implicados (servidor y cliente) y el número de los puertos de cada nodo. Como se ha indicado al principio, cuando se realiza una conexión a Internet, el proveedor da, para esa conexión, una dirección IP para poder comunicarse con el resto de Internet. Cuando se solicita un servicio de internet, por ejemplo una pagina web, se hace la solicitud de la página mediante un puerto del computador a un puerto del servidor web. Existen más de 65000 de puertos diferentes, usados para las conexiones de Red. Una medida básica de seguridad es conocer qué puertos se tienen, cuáles están abiertos, porqué están abiertos y, de estos últimos, identificar los que no se utilizan o los que sean fuente de un problema de seguridad. Pensando por ejemplo en una casa. Se tiene una puerta de entrada que no se deja siempre abierta. También se tienen ventanas, a las que se les pone cortinas para preservar la intimidad. Incluso se pueden cerrar para que por allí no ingrese nadie. Pues lo mismo se aplica a la PC cuando se está conectado a Internet. Un atacante que intente, o consiga, tener control sobre el computador necesita tener a su disposición una puerta abierta en el computador para poder comunicarse, es decir, un puerto de comunicaciones.

Protocolo El concepto de redes de computadoras implica que las entidades en diferentes sistemas necesitan comunicarse. Se usan los términos “entidad” y “sistema” en un sentido muy general. Ejemplos de entidades son los programas de aplicación de los usuarios, paquetes de transferencias de archivos, sistemas de administración de bases de datos, facilidades de correo electrónico y terminales. Ejemplos de sistemas son las computadoras, los terminales y los sensores remotos. Nótese que en algunos casos la entidad y el sistema en el cual ésta reside son coexistentes, tal como en el caso de los terminales. En general toda entidad es todo aquello capaz de enviar o recibir información y un sistema es un objeto físicamente distinto que contiene una o más entidades. Para que dos entidades se comuniquen exitosamente deben hablar el mismo lenguaje. Lo que se comunique, cómo esto se comunique o cuándo esto sea comunicado, deben ceñirse a un conjunto de convenciones aceptadas mutuamente entre las identidades involucradas. Este conjunto de convenciones es el protocolo, que puede definirse como el conjunto de reglas que gobiernan el intercambio de datos entre dos entidades. Los elementos claves de un protocolo son: Sintaxis: Incluye el formato de los datos, codificación y niveles de señal. Semántica: Incluye la información de control para la coordinación y el manejo de errores. Temporalización: Incluye la adaptación de velocidad y secuenciamiento.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

25

El protocolo Internet (IP): El protocolo IP es el elemento que permite integrar distintas redes entre si. El protocolo IP enlaza las diferentes piezas (distintas redes: FDDI, RDSI, X.25, lineas dedicadas, token ring, ethernet, lineas telefónicas,...) de la Internet. Cada máquina de la red Internet tiene una dirección IP única. Una dirección IP es un número de 32 bits que normalmente se escribe como cuatro enteros entre 0 y 255 separados por puntos (192.112.36.5), la dirección IP permite el encaminamiento de la información a través de la Internet. En la terminología de comunicaciones el protocolo IP define una red de conmutación de paquetes. La información se fragmenta en pequeños trozos o paquetes (alrededor de 1500 caracteres) que se envían independientemente por la red. Cada paquete es enviado con la dirección del ordenador donde ha de ser entregado y, de forma similar a como funciona un sistema postal, cada paquete viaja independientemente de los demás por la red hasta alcanzar su destino. Dentro de una red local, el encaminamiento de la información es simple. En Ethernet por ejemplo todos los ordenadores 'escuchan' la red para detectar los paquetes que se dirigen a ellos. En la Internet este procedimiento es inviable. Los routers (antes llamados gateways) son los elementos encargados del encaminamiento de los mensajes IP. Los routers conocen las máquinas conectadas a la red y toman la decisión de como encaminar los paquetes de datos a través de unos enlaces u otros. Cada router sólo necesita saber que conexiones están disponibles y cual es el mejor "próximo salto" para conseguir que un paquete este mas cerca de su destino (El paquete va "saltando" de router a router hasta llegar a su destino). Las máquinas de la Internet, fuera del entorno de la red local, utilizan un router para encaminar los paquetes. La dirección IP de esta máquina es la única información que deben conocer, del resto se encargan los routers. Protocolo de control de la transmisión (TCP): En su transito por distintas redes y equipos encaminadores puede ocurrir que haya paquetes IP que se pierdan, lleguen duplicados o con errores en la información que contienen. El protocolo TCP se encarga de subsanar estas posibles deficiencias para conseguir un servicio de transporte de información fiable. TCP fragmenta la información a transmitir, de la misma forma que lo hace el protocolo IP. TCP numera cada uno de estos paquetes de manera que el receptor de la información pueda ordenarlos al recibirlos. Para pasar esta información a través de la red, TCP utiliza un sobre identificado con el número de secuencia de cada paquete. Los paquetes TCP se envían a su destino, independientemente unos de otros, utilizando el protocolo IP. En la parte receptora, el TCP recoge el paquete, extrae los datos, y los pone en el orden correcto. Si algunos sobres desaparecen, el receptor le pide al transmisor que retransmita los paquetes de nuevo. Cuando toda la información recogida esta en su orden, se pasan los datos a la capa de aplicaciones. Esto es una visión ideal del TCP. En la práctica los paquetes no solamente se pueden perder, sino que pueden sufrir cambios en su transito por la red. TCP

CIBERTEC

CARRERAS PROFESIONALES

26

resuelve este problema colocando en el paquete que se envía lo que se denomina el "checksum". Cuando el paquete llega a su destino, el receptor TCP calcula que checksum debe ser y lo compara con el que se ha enviado. Si no son los mismos el TCP receptor entiende que ha habido un error en la transmisión y le pide al transmisor que reenvíe. De esta forma el TCP ofrece un servicio fiable de transmisión de información. Todas las aplicaciones de la Internet utilizan los servicios de transporte TCP para el intercambio de información, de forma que pueden ignorar los problemas de envío de información a través de la red, o al menos muchos de ellos. Protocolo de Datagramas del Usuario (UDP) Establecer una conexión TCP requiere gran cantidad de información en las cabeceras de los paquetes y en consecuencia retrasos en la transmisión; si se quiere enviar un paquete y no se requiere una particular precaución en el reparto del mismo entonces se pude usar otro protocolo que sea mas simple que el TCP, este es el caso del "protocolo de datagramas del usuario (UDP)que se utiliza en vez del TCP en algunas aplicaciones. UDP es más simple que el TCP porque no se preocupa de mensajes que se pierdan, mantener el orden en los paquetes que se envían, etc. UDP se usa para programas que sólo envían mensajes cortos, y pueden reenviar el mensaje si una respuesta no se produce en período corto de tiempo. El UDP también se utiliza en el entorno de la red local donde la tasa de errores de transmisión es muy pequeña, y no es necesario el sofisticado control de errores del protocolo TCP. A continuación se muestra el listado de los principales puertos y los servicios que los utilizan por defecto Puerto 7 7 9 9 13 13 17 17 19 19 20

Protocolo TCP UDP TCP UDP TCP UDP TCP UDP TCP UDP TCP

21 21

TCP TCP

Protocolo de aplicación Eco Eco Descartar Descartar Hora diurna Hora diurna Cita del día Cita del día Chargen Chargen Datos predeterminados de FTP Control FTP Control FTP

23 25

TCP TCP

Telnet SMTP

25

UDP

SMTP

25 25 42

TCP UDP TCP

SMTP SMTP Replicación WINS

42

UDP

Replicación WINS

CARRERAS PROFESIONALES CIBERTEC

Nombre de servicio del sistema Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicio de publicación FTP Servicio de publicación FTP Servicio de Puerta de enlace de capa de aplicación Telnet Protocolo simple de transferencia de correo Protocolo simple de transferencia de correo Exchange Server Exchange Server Servicio de nombres Internet de Windows Servicio de nombres Internet de Windows

TROUBLESHOOTING

27

53 53 53

TCP UDP TCP

DNS DNS DNS

Servidor DNS Servidor DNS

67 67

UDP UDP

Servidor DHCP Servidor DHCP

69 80 80

UDP TCP TCP

TFTP HTTP HTTP

80 88

TCP TCP

HTTP Kerberos

88

UDP

Kerberos

102 110 110 119

TCP TCP TCP TCP

X.400 POP3 POP3 NNTP

123 123 135 135 135 135 135 135 135 135

UDP UDP TCP TCP TCP TCP TCP TCP TCP TCP

NTP SNTP RPC RPC RPC RPC RPC RPC RPC RPC

135 135 135 135 135

TCP TCP TCP TCP TCP

RPC RPC RPC RPC RPC

135 135 135

TCP TCP TCP

RPC RPC RPC

135

TCP

RPC

137

UDP

137

UDP

137

UDP

137

UDP

137

UDP

138

UDP

Resolución de nombres NetBIOS Resolución de nombres NetBIOS Resolución de nombres NetBIOS Resolución de nombres NetBIOS Resolución de nombres NetBIOS Servicio de Datagrama de NetBIOS

Servidor DHCP Servidor de seguridad de conexión a Internet y Conexión compartida a Internet Servicio de demonio FTP trivial Servicios de Windows Media Servicio de publicación World Wide Web SharePoint Portal Server Centro de distribución de claves Kerberos Centro de distribución de claves Kerberos Pilas MTA de Microsoft Exchange Servicio POP3 de Microsoft Exchange Server Protocolo de transferencia de noticias a través de la red Hora de Windows Hora de Windows Message Queue Server Llamada a procedimiento remoto Exchange Server Servicios de Certificate Server Servicio de Cluster Server Sistema de archivos distribuido Seguimiento de vínculos distribuidos Coordinador de transacciones distribuidas Registro de sucesos Servicio de fax Réplica de archivos Autoridad de seguridad local Notificación de almacenamiento remoto Servidor de almacenamiento remoto Systems Management Server 2.0 Licencia de Servicios de Terminal Server Directorio de sesiones de Terminal Server Examinador de equipos

CIBERTEC

Servidor de seguridad de conexión a Internet y Conexión compartida a Internet

Servidor Servicio de nombres Internet de Windows Inicio de sesión en red Systems Management Server 2.0 Examinador de equipos

CARRERAS PROFESIONALES

28

138

UDP

138

UDP

138

UDP

138

UDP

138

UDP

138

UDP

139 139 139 139 139 139 139

TCP TCP TCP TCP TCP TCP TCP

Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de Servicio de Servicio de Servicio de Servicio de Servicio de Servicio de

139 139 139 143 161 162 389 389 389 389 443 443

TCP TCP TCP TCP UDP UDP TCP UDP TCP UDP TCP TCP

Servicio de Sesión NetBIOS Servicio de Sesión NetBIOS Servicio de Sesión NetBIOS IMAP SNMP Salida de capturas SNMP Servidor LDAP Servidor LDAP Servidor LDAP Servidor LDAP HTTPS HTTPS

443 445 445 445 445

TCP TCP TCP TCP TCP

HTTPS SMB SMB SMB SMB

445 445 445 500 515 548

TCP TCP TCP UDP TCP TCP

554 563

TCP TCP

SMB SMB SMB IPSec ISAKMP LPD Servidor de archivos para Macintosh RTSP NNTP sobre SSL

593 593 636 636 993 995 1270 1433

TCP TCP TCP UDP TCP TCP TCP TCP

RPC sobre HTTP RPC sobre HTTP LDAP SSL LDAP SSL IMAP sobre SSL POP3 sobre SSL MOM-Cifrado SQL sobre TCP

CARRERAS PROFESIONALES CIBERTEC

Datagrama de

Mensajero

Datagrama de

Servidor

Datagrama de

Inicio de sesión en red

Datagrama de

Sistema de archivos distribuido

Datagrama de

Systems Management Server 2.0

Datagrama de

Servicio de registro de licencias

Sesión Sesión Sesión Sesión Sesión Sesión Sesión

Examinador de equipos Servicio de fax Registros y alertas de rendimiento Cola de impresión Servidor Inicio de sesión en red Localizador de llamada a procedimiento remoto Sistema de archivos distribuido Systems Management Server 2.0 Servicio de registro de licencias Exchange Server Servicio SNMP Servicio de captura SNMP Autoridad de seguridad local Autoridad de seguridad local Sistema de archivos distribuido Sistema de archivos distribuido HTTP SSL Servicio de publicación World Wide Web SharePoint Portal Server Servicio de fax Cola de impresión Servidor Localizador de llamada a procedimiento remoto Sistema de archivos distribuido Servicio de registro de licencias Inicio de sesión en red Autoridad de seguridad local Servidor de impresión TCP/IP Servidor de archivos para Macintosh

NetBIOS NetBIOS NetBIOS NetBIOS NetBIOS NetBIOS NetBIOS

Servicios de Windows Media Protocolo de transferencia de noticias a través de la red Llamada a procedimiento remoto Exchange Server Autoridad de seguridad local Autoridad de seguridad local Exchange Server Exchange Server Microsoft Operations Manager 2000 Microsoft SQL Server

TROUBLESHOOTING

29

1433 1434 1434 1645 1646 1701 1723 1755 1755 1801 1801 1812 1813

TCP UDP UDP UDP UDP UDP TCP TCP UDP TCP UDP UDP UDP

1900 2101 2103 2105 2107 2393

UDP TCP TCP TCP TCP TCP

SQL sobre TCP Prueba SQL Prueba SQL RADIUS heredado RADIUS heredado L2TP PPTP MMS MMS MSMQ MSMQ Autenticación RADIUS Administración de cuentas RADIUS SSDP MSMQ-DC MSMQ-RPC MSMQ-RPC MSMQ-Admon Servicios OLAP 7.0

2394

TCP

Servicios OLAP 7.0

2460 2535 2701

UDP UDP TCP

2701

UDP

2702

TCP

2702

UDP

2703 2703 2704

TCP UPD TCP

2704

UDP

2725

TCP

2869 2869

TCP TCP

3268 3269 3343 3389

TCP TCP UDP TCP

3389

TCP

3527 4011 4500 5000

UDP UDP UDP TCP

5004 5005

UDP UDP

Teatro MS MADCAP Control remoto SMS (control) Control remoto SMS (control) Control remoto SMS (datos) Control remoto SMS (datos) Conversación remota SMS Conversación remota SMS Transferencia de archivos remotos SMS Transferencia de archivos remotos SMS Servicios de Analysis Server de SQL UPNP Notificación de sucesos SSDP Servidor de catálogo global Servidor de catálogo global Servicios de Cluster Server Servicios de Terminal Server Servicios de Terminal Server MSMQ-Ping BINL NAT-T Notificación de sucesos heredados SSDP RTP RTCP

CIBERTEC

MSSQL$UDDI Microsoft SQL Server MSSQL$UDDI Servicio de autenticación de Internet Servicio de autenticación de Internet Enrutamiento y acceso remoto Enrutamiento y acceso remoto Servicios de Windows Media Servicios de Windows Media Message Queue Server Message Queue Server Servicio de autenticación de Internet Servicio de autenticación de Internet Servicio de descubrimientos SSDP Message Queue Server Message Queue Server Message Queue Server Message Queue Server SQL Server: Compatibilidad con clientes OLAP de nivel inferior SQL Server: Compatibilidad con clientes OLAP de nivel inferior Servicios de Windows Media Servidor DHCP Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Analysis Server de SQL Dispositivo host de UPNP Servicio de descubrimientos SSDP Autoridad de seguridad local Autoridad de seguridad local Servicio de Cluster Server Escritorio remoto compartido de NetMeeting Servicios de Terminal Server Message Queue Server Instalación remota Autoridad de seguridad local Servicio de descubrimientos SSDP Servicios de Windows Media Servicios de Windows Media

CARRERAS PROFESIONALES

30

42424 51515

TCP TCP

Estado de sesión ASP.Net MOM-No cifrado

CARRERAS PROFESIONALES CIBERTEC

Servicio de estado de ASP.NET Microsoft Operations Manager 2000

TROUBLESHOOTING

31

Resumen



Cuando se realiza Troubleshooting en un ambiente de red, un enfoque sistémico da mejores resultados. Definir los síntomas específicos, identificar todos los potenciales problemas que puedan estar causando estos síntomas, y eliminar sistemáticamente cada problema potencial (del más crítico al menos crítico) hasta que los síntomas desaparezcan.



El requerimiento más importante en cualquier ambiente de red es tener disponible la actual y real información de la red todo el tiempo accesible al personal de soporte de redes o administradores de red.



Conocer los principales puertos y protocolos de red nos dará una gran ventaja ante un problema de red.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas. 

http://www.4shared.com/file/37889205/c8171ddf/Network_Troubleshooting_Too ls.html Contiene la descarga en formato pdf del libro Network Troubleshooting Tools, cuyo autor es SLOAN, JOSEPH D. Publicado por O'Really System Administration en el año 2001



http://www.4shared.com/file/33622222/37b1303d/NetworkSecurityBibleJan2005 .html Contiene la descarga en formato pdf del libro Network Troubleshooting Tools, cuyo autor es SLOAN, JOSEPH D. Publicado por O'Really System Administration en el año 2001

CIBERTEC

CARRERAS PROFESIONALES

32

unidad de aprendizaje

1

semana

3

ESTRATEGIAS

PARA LA SOLUCIÓN DE PROBLEMAS, REDES Y DIRECTORIO ACTIVO LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno establecerá los criterios y estrategias que se deben emplear para analizar un problema real en redes de datos y problemas comunes relacionados con el Directorio Activo de Microsoft.

TEMARIO •

Introducción al Troubleshooting.



Solución de problemas de red.



Directorio Activo: Backup y Disaster Recovery



Optimizando la base de datos del Directorio Activo

ACTIVIDADES PROPUESTAS • Desarrollar un caso de Troubleshooting. • Verificar el estado de conexión de la red a través de comandos de Windows. • Identificar qué puertos utilizan los servicios principales de Windows. • Realizar un backup del Directorio Activo de Microsoft. • Realizar una restauración exitosa del Directorio Activo en caso de desastres.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

33

1. DIRECTORIO ACTIVO: BACKUP Y DISASTER RECOVERY 1.1 INTRODUCCIÓN ¿Se está constantemente parchando y solucionando problemas en la organización o se tiene la capacidad de visualizar los sistemas y detectar los problemas antes de que se vuelvan problemas serios? Esta es la diferencia entre una administración reactiva y proactiva. Si se opta por una administración reactiva, probablemente no se tendrá la capacidad de monitorear los sistemas. El tiempo es consumido en solucionar los problemas que se dan a diario, algunos de los cuales son problemas muy sencillos. Algunos administradores se encuentran por sí mismos en esta situación y es una muy difícil posición para salir de ella. Las compañías que han descubierto el salvar costos asociados con una proactiva administración son las que usualmente han cambiado de reactivas a proactivas. Existen dos formas dentro de una administración proactiva: una que utiliza herramientas de monitoreo y otra que trabaja manualmente. Pequeñas organizaciones que toman una administración proactiva optan por métodos manuales debido a que no cuentan con los recursos para adquirir herramientas de monitoreo automático de sus sistemas. El monitoreo manual puede consumir un mayor tiempo, por lo que esto afecta a los costos administrativos. Estos costos administrativos son usualmente justificados dividiéndolos por el costo de tener los servicios disponibles por largos periodos de tiempo, sin tener incidencias de caídas del servicio. Las organizaciones que utilizan herramientas de monitoreo tienen que pagar el costo de la solución de monitoreo el entrenamiento de los empleados que la utilizarán. Estas soluciones tienen la capacidad de monitorear varios servicios al mismo tiempo, mucho más que lo que una administración humana puede ofrecer. Las herramientas de monitoreo usualmente pueden identificar problemas comunes y pueden monitorear múltiples computadoras por el mismo problema. Una importante acción proactiva que no involucra costos adicionales es realizar un backup del Directorio Activo por lo menos una vez al día. No se debe esperar que ocurra un problema en nuestro Directorio Activo para recién realizar un backup, es muy problabe que cuando ocurra un problema el backup no podrá realizarse o el backup tendrá error.

1.2 DOMAIN CONTROLLER BACKUP Como en cualquier servidor de la organización, se necesita tener la seguridad de tener la data respaldada en caso de necesitar restaurar el dominio en caso de desastres. Si se ha tomado precauciones y se tienen implementados múltiples Domain Controllers, probablemente se tendrán menos problemas. Si un controlador de dominio falla, los otros pueden realizar lo solicitado por nuestros usuarios. Sin embargo, es bueno siempre recordar la primera palabra de “Disaster Recovery” la cual es “Desastre”. Resguardar nuestra data es nuestra principal línea de defensa en nuestro plan de recuperación de desastres. Si un desastre como un tornado, fuego, inundación, robo nos deja sin un solo sistema habilitado, conocer algunos tips para realizar de mejor manera el plan de recuperación de

CIBERTEC

CARRERAS PROFESIONALES

34

desastres, así como los pasos para cada especial caso de restauración de dominio, asegurará poder levantar los sistemas tal y como se entraban antes del funesto evento.

System State Backup Cuando se realiza un backup de la base de datos del Active Directory, también se necesita respaldar los archivos correspondientes al mantenimiento de esta base de datos. Sin estos archivos, se tendrá simplemente un archivo de base de datos sin ninguna funcionalidad. La base de datos y sus archivos asociados en un Domain Controller son conocidos colectivamente como System State. Los archivos del System State son listados a continuación: a. b. c. d. e. f.

Active Directory Database Active Directory Database Log Files Boot Files COM+ Class Registration Database Registry Sysvol

Nota: Si nuestro Domain Controller está también actuando como una autoridad certificada, la base de datos del certificado es respaldada como parte del System State.

Realizando un System State Backup El backup del System State es muy fácil de realizar, siempre y cuando se realice con la utilidad de Backup incorporada con el sistema operativo del servidor. Cuando se inicia la utilidad de Backup, se puede usar el Backup Wizard, el cual mostrará paso a paso qué se necesita para realzar el backup; también se puede realizar manualmente seleccionando las opciones de backup. El backup del System State es una de las opciones que podemos tomar.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

35

Una vez almacenado en un backup media, el System State puede ser almacenado en una segura ubicación hasta que se necesite restaurarlo en el Domain Controller. Se debe asegurar que se respalde la media en un lugar seguro, porque cualquier persona con acceso a la media puede hackear la base de datos y descubrir información acerca del dominio, el cual puede incluir passwords de nuestras cuentas de usuario. Limitaciones del Windows Backup Una de las utilidades incluidas como parte del sistema operativo base de Microsoft es el Windows Backup. Windows Backup no es una herramienta con muchas características. Esta herramienta provee su funcionalidad para pequeñas empresas para realizar eficientemente procedimientos de backup y restore; sin embargo, una gran organización puede encontrar a esta herramienta algo limitada para las características avanzadas que necesita para un nivel empresarial de recuperación de desastres. Una limitación es la incapacidad de realizar backups remotos del System State. Si la organización es pequeña y se necesita utilizar la utilidad de Backup de Microsoft se puede centralizar el backup del System State de todos los Domain Controllers. Se puede programar el backup de System State y especificar una ubicación en la red para guardar los archivos del backup. Se puede realizar el backup de todos los archivos de todos los Domain Controllers en un mismo backup set. Otra limitación del Windows Backup es la incapacidad de administrar un nivel de librerías de backup. Windows Backup tiene una característica que permite administrar los backups y localizar los archivos que se necesitan para restaurar, pero este no permite trabajar con grandes bases de datos de información.

1.3 RECOVERING ACTIVE DIRECTORY Cuando trabajamos con Windows Server 2003, tenemos tres formas de realizar una restauración del Directorio Activo: primary restores, normal restore y authoritative restore. Windows 2000 no tiene la opción de primary restore, pero las otras dos opciones sí las tiene disponibles. Directory Services Restore Mode El Directorio Activo no puede ser restaurado mientras esté funcionando. Para realizar cualquier tipo de restore de la base de datos, se necesita iniciar la computadora sin permitir que los archivos de la base de datos sean usados. Para esto se necesita reiniciar el sistema y presionar F8 para obtener el menú de Startup Options. De todas las opciones que se muestran, se debe concentrarse en la opción Directory Services Restore Mode (DSRM). Cuando se selecciona esta opción, el sistema operativo iniciará en una versión de modo seguro, el cual permitirá reemplazar la base de datos desde un backup media. Debido a que el sistema ha iniciado en modo seguro y no se tiene acceso al Directorio Activo, se solicita autenticación local. Durante la promoción de un Domain Controller, la persona que promovió el Domain Controller ha ingresado un password para el administrador DSRM. Se necesitará de ese password para ingresar al sistema y restaurar la base de datos.

CIBERTEC

CARRERAS PROFESIONALES

36

Una vez que se ha autenticado en el sistema de manera local, se tendrá la capacidad de iniciar el utilitario de backup y restaurar el System State. Recuerde que la data que se va a reemplazar debe ser mayor que la data de nuestro media backup. En muchos casos, esto no será una distribución; una vez que el Domain Controller restaurado se encuentra en línea, éste recibirá la información actualizada a través de la replicación. Por supuesto, puede haber instancias donde no necesitan replicar la data existente del Domain Controller restaurado. DSRM Password Los Domain Controllers basados en Windows Server 2003 tienen un comando adicional que puede ser ejecutado desde el utilitario NTDSUTIL que permite resetear el password del administrador DSRM. Para realizar lo indicado no se necesita conocer el actual password. Simplemente abrir una ventana de línea de comandos, iniciar el NTDSUTIL y seguir los siguientes pasos: a. Desde ntdsutil: tipear set DSRM password. b. En el Reset DSRM Administrator Password: tipear reset password on server nombre_del_server. Ingresar el nuevo password cuando se nos solicite. Nota: Si se está cambiando el password en un Domain Controller como local, se podrá tipear NULL en vez del nombre del servidor

c. Tipear quit para retornar a ntdsutil, tipear nuevamente quit para salir de ntdsutil. Por supuesto, si se conoce el password, se podrá reiniciar el Domain Controller, ingresar al modo Directory Services Restore Mode, y cambiar el password tal y como cambiamos el password de cualquier otra cuenta local. A pesar de que no sea la opción preferida, se debe tener el Domain Controller fuera de línea durante la realización del cambio de password. Teniendo la capacidad de cambiar el password desde la utilidad NTDSUTIL surgen algunos problemas que se deben de tener en cuenta. Cualquiera que tenga la capacidad de loguear en el Domain Controller con una cuenta que tiene credenciales para ejecutar NTDSUTIL tendrá la capacidad para cambiar el password del DSRM y posiblemente ingresará al Directory Services Restore Mode, iniciará el restore, e inyectará objetos en nuestro dominio. Mientras existan cuentas que tengan estas facultades, se debe de considerar esta posibilidad. En un Domain Controller basado en Windows 2000, si no recordamos el password del administrador DSRM, podemos reconstruir el servidor (usualmente esta no es una opción), o podemos utilizar un utilitario de terceros. De igual forma, en cualquier caso, debemos reiniciar el sistema en el modo Directory Services Restore Mode para cambiar la cuenta. Primary Restore El Primary Restore es usado cuando todos los Domain Controllers han fallado y tenemos la necesidad de disponer de un Domain Controller en línea. Este Domain Controller será efectivamente el primer controlador de dominio del dominio. Este contendrá sólo los objetos que fueron respaldados, y no será capaz de recuperar cualquier cambio que fue realizado entre el último backup y la completa falla. No se debe realizar un Primary Restore si existe algún Domain Controller funcionando en el dominio. Si se tiene un Domain Controller funcionando en el

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

37

dominio, se necesita ejecutar el Normal Restore, el cual se detallará en la siguiente sección. Para realizar un Primary Restore, se selecciona la opción System State desde la opción de restore dentro del programa utilitario de Backup. Tal como se avanza a través del wizard, se selecciona la opción para hacer cada contexto de nombres la primera versión: “When restoring replicated data sets, mark the restored data as the primary data for all replicas”. La siguiente pantalla muestra la elección de un Primary Restore desde el Restore Wizard.

La siguiente pantalla muestra mediante la opción manual la elección de un Primary Restore.

CIBERTEC

CARRERAS PROFESIONALES

38

Una vez que el restore está completo, cada una de las réplicas debe de estar configuradas como la primera versión., y cualquier Domain Controller adicional que esté en línea debe de recibir la data contenida en este servidor. Lo bueno del método Primary Restore es que el Domain Controller es el soporte de cada uno de los roles Master Operations. En un servidor basado en Windows 2000 server, no tenemos la opción de realizar un Primary Restore, por lo tanto se debe de tener presente estos roles ya que si se realiza una restauración del Domain Controller los roles originales no se restaurarán. Normal Restore En muchos casos, cuando se tiene una falla de hardware y se tiene que restaurar el directory service a un sistema reconstruido, se realiza un Normal Restore. El Normal Restore reemplaza todos los archivos desde el backup media, y luego la replicación del Active Directory replica cualquier cambio que haya ocurrido después que el backup ha sido tomado. En primer lugar para realizar un Normal Restore, se debe reiniciar el Domain Controller afectado en el modo Directory Services Restore Mode y restaurar el System State. Una vez que ha sido restaurado el System State, se reinicia el Domain Controller y cualquier objeto que ha sido añadido, borrado, o actualizado desde el último backup del System State será replicado por el Domain Controller. Authoritative Restore ¿Se borró por error algún archivo o directorio y nos percatamos posteriormente que este archivo o directorio es muy necesario? Se revisa y se percata de que no se tienen disponibles en la papelera de reciclaje ni en ninguna unidad de red. Si la solución de backup está trabajando correctamente, se podrá restaurar el archivo o directorio en un solo paso. En este escenario restaurar el archivo de backup es un proceso muy sencillo. ¿Pero qué sucede cuando tenemos un objeto que necesita ser restaurado para un grupo de sistemas y todos ellos piensan que el objeto ya no debe existir y toman instrucciones para borrarlo?

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

39

Esta es una razón para el Authoritative Restore. Cuando un objeto es eliminado del Active Directory, el objeto es despojado de la mayoría de sus atributos y depositado dentro del contenedor de eliminados. Todos los otros Domain Controllers dentro del dominio serán notificados de la eliminación de este objeto y realizarán la misma acción sobre su copia del objeto. Authoritative Restore notifica a los Domain Controllers a rehacer su acción contra este objeto y permitir que éste exista dentro del dominio nuevamente. Antes de realizar un Authoritative Restore, se debe restaurar el Active Directory como si se estuviera realizando un Normal Restore. Sin embargo, antes de reiniciar el sistema, se debe abrir una pantalla de línea de comandos e iniciar el NTDSUTIL. Los siguientes pasos mostrarán el orden de los pasos que se deben seguir para restaurar una Unidad Organizativa llamada Sales dentro del dominio zygort.lcl. 1. Desde ntdsutil: tipear authoritative restore 2. Desde authoritative restore: tipear restore subtree ou=Sales,dc=zygort,dc=lcl 3. Tipear quit para retornar a ntdsutil, volver a tipear quit para salir de ntdsutil. Nota: Si se desea realizar una completa Database Authoritative, se puede usar restores database. Si se desea restaurar un simple objeto se puede usar restore object

Si Authoritative Restore incluye objetos de Group Policy, también se necesitará restaurar la plantilla del Group Policy dentro del contenedor Sysvol. Cuando se restauran objetos que han sido eliminados del Active Directory, se debe asegurar que el objeto restaurado pertenezca a sus grupos correspondientes. En algunas circunstancias, cuando una cuenta es borrada el SID de la cuenta es removido de los grupos en los que la cuenta era miembro. Cuando una cuenta es restaurada, la relación entre la cuenta y sus grupos probablemente se encuentre dañada. Para recobrar la membresía a los grupos, podemos agregar manualmente la cuenta a los grupos en los que originalmente era miembro, se podrá restaurar todos los usuarios y grupos a su previo estado, o se podrá usar la utilidad groupadd.vbs para generar la membresía del grupo de la cuenta e importar las relaciones de membresía usando el archivo resultante LDIF.

1.4 MEJORES PRÁCTICAS PARA DISASTER RECOVERY • • • •



Asegurar que los Domain Controllers se encuentren físicamente asegurados de tal manera que los atacantes no puedan conseguir accesos al mismo sistema. Si el Domain Controller no está físicamente asegurado, transformarlo a un “sistema descabezado” removiendo el monitor, teclado y mouse. Utilizar la administración remota para trabajar en él. Realizar un backup del System State regularmente. Se debe realizar un backup del System State por lo menos dos veces durante el tombstone lifetime. Realizar restauraciones de Active Directory periódicamente en ambientes de pruebas. Se debe estar entrenado para dominar el procedimiento de restore en caso de desastres y verificar que los backups se están realizando correctamente. No realizar un Authoritative Restore en un contexto de nombres de dominio a menos que se conozca las ramificaciones de las acciones que se van a

CIBERTEC

CARRERAS PROFESIONALES

40

• •

realizar. Conociendo exactamente lo que sucederá, todos los cambios en las nuevas versiones de los objetos podrán ser revertidos. Verificar si se necesita retornar a una antigua versión de configuración de un objeto de contexto de nombres antes de realizar un Authoritative Restore sobre él. No almacenar otra información en las particiones del sistema y boot.

Resumen



Resguardar la data es la principal línea de defensa en el plan de recuperación de desastres.



La base de datos y sus archivos asociados en un Domain Controller son conocidos colectivamente como System State. Los archivos del System State son: Active Directory Database, Active Directory Database Log Files, Boot Files, COM+ Class Registration Database, Registry y Sysvol



Windows Server 2003 tiene tres formas de realizar una restauración del Directorio Activo: primary restores, normal restore y authoritative restore. Windows 2000 no tiene la opción de primary restore, pero las otras dos opciones sí las tiene disponibles.



Si desea saber más acerca de estos temas, puede consultar las siguiente página.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING



41

http://www.4shared.com/file/34505806/ab593489/SybexActiveDirectoryBestPra ctices24sevenMigratingDesigningandTroubleshootingAug2004.html Página que contiene información acerca de las mejores prácticas registradas en el libro Active Directory, Best Practices: Migrating, Designing, and Troubleshooting, cuyo autor es PRICE, BRAD. Publicado por SYBEX en el año 2004

CIBERTEC

CARRERAS PROFESIONALES

42

unidad de aprendizaje

1

semana

4

ESTRATEGIAS

PARA LA SOLUCIÓN DE PROBLEMAS, REDES Y DIRECTORIO ACTIVO LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno establecerá los criterios y estrategias que se deben emplear para analizar un problema real en redes de datos y problemas comunes relacionados con el Directorio Activo de Microsoft.

TEMARIO •

Introducción al Troubleshooting.



Solución de problemas de red.



Directorio Activo: Backup y Disaster Recovery.



Optimizando la base de datos del Directorio Activo

ACTIVIDADES PROPUESTAS • Desarrollar un caso de Troubleshooting. • Verificar el estado de conexión de la red a través de comandos de Windows. • Identificar qué puertos utilizan los servicios principales de Windows. • Realizar un backup del Directorio Activo de Microsoft. • Realizar una restauración exitosa del Directorio Activo en caso de desastres.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

43

1. DIRECTORIO ACTIVO: BACKUP Y DISASTER RECOVERY IMPLEMENTACIÓN 1. 1 PRIMARY RESTORE :

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

44

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

45

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

46

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

47

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

48

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

49

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

50

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

51

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

52

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

53

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

54

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

55

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

56

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

57

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

58

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

59

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

60

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

61

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

62

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

63

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

64

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

65

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

66

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

67

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

68

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

69

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

70

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

71

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

72

1.2 AUTHORITATIVE RESTORE

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

73

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

74

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

75

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

76

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

77

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

78

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

79

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

80

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

81

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

82

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

83

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

84

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

85

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

86

1.3 DSRM Password

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

87

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

88

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

89

_________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________

CIBERTEC

CARRERAS PROFESIONALES

90

Resumen



El Primary Restore es usado cuando todos los Domain Controllers han fallado y se tiene la necesidad de disponer de un Domain Controller en línea. Este Domain Controller será efectivamente el primer controlador de dominio de nuestro dominio.



El Normal Restores es usado cuando se tiene una falla de hardware y se tiene que restaurar el directory service a un sistema reconstruido. El Normal Restore reemplaza todos los archivos desde el backup media, y luego la replicación del Active Directory replica cualquier cambio que haya ocurrido después que el backup ha sido tomado.



El Authoritative Restore es usado cuando un objeto es eliminado del Active Directory. Este objeto es despojado de la mayoría de sus atributos y depositado dentro del contenedor de eliminados. Todos los otros Domain Controllers dentro del dominio serán notificados de la eliminación de este objeto y realizarán la misma acción sobre su copia del objeto. Authoritative Restore notifica a los Domain Controllers a rehacer su acción contra este objeto y permitir que éste exista dentro del dominio nuevamente.



Los Domain Controllers basados en Windows Server 2003 tienen un comando adicional que puede ser ejecutado desde el utilitario NTDSUTIL que permite resetear el password del administrador DSRM.



Si desea saber más acerca de estos temas, puede consultar la siguiente página. 

http://www.4shared.com/file/34505806/ab593489/SybexActiveDirectoryBestPra ctices24sevenMigratingDesigningandTroubleshootingAug2004.html Página que contiene información acerca de las mejores prácticas registradas en el libro Active Directory, Best Practices: Migrating, Designing, and Troubleshooting, cuyo autor es PRICE, BRAD. Publicado por SYBEX en el año 2004

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

91

unidad de aprendizaje

1

semana

5

ESTRATEGIAS

PARA LA SOLUCIÓN DE PROBLEMAS, REDES Y DIRECTORIO ACTIVO LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno establecerá los criterios y estrategias que se deben emplear para analizar un problema real en redes de datos y problemas comunes relacionados con el Directorio Activo de Microsoft.

TEMARIO •

Introducción al Troubleshooting.



Solución de problemas de red.



Directorio Activo: Backup y Disaster Recovery.



Optimizando la base de datos del Directorio Activo

ACTIVIDADES PROPUESTAS • Desarrollar un caso de Troubleshooting. • Verificar el estado de conexión de la red a través de comandos de Windows. • Identificar qué puertos utilizan los servicios principales de Windows. • Realizar un backup del Directorio Activo de Microsoft. • Realizar una restauración exitosa del Directorio Activo en caso de desastres.

CIBERTEC

CARRERAS PROFESIONALES

92

1. OPTIMIZANDO LA BASE DE DATOS DEL DIRECTORIO ACTIVO 1.1 CONFIGURANDO EL DIAGNOSTIC LOGGING Para la mayoría de administradores de red, el Event Viewer es siempre el mejor lugar para iniciar la solución del problema. Por defecto, los eventos críticos y errores son almacenados en el log de los Servicios del Directorio del Event Viewer, en la mayoría de los casos esta información es suficiente. Sin embargo, existen momentos en los que se necesita realizar un problema más complejo y se necesita obtener más información concerniente al servicio del directorio. El inconveniente de incrementar la cantidad de registros sobre lo que se está realizando es que incrementamos la carga del controlador de dominio y se aumenta el crecimiento de los logs. Para configurar los niveles del servicio del directorio se necesita abrir el editor de registros y navegar por la ruta : “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnosti cs key” como se muestra en la siguiente pantalla:

Note que existen varios valores dentro de esta llave. Cada uno representa un tipo de evento distinto el cual se registra en el log de eventos del Servicio del Directorio. El nivel de diagnóstico en todos los valores está configurado en 0 por defecto. En este nivel, sólo los eventos críticos o errores son enviados a los logs del Event Viewer. Para incrementar la cantidad de registros de lo que se realiza, se necesita cambiar el nivel de registro con uno de los niveles mostrados: CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

93

Diagnostic Logging Levels Logging Level Logging Performed 1 Minimal 2 Basic 3 Extensive 4 Verbose 5 Internal Cuando se inicia un troubleshooting, se debe incrementar el nivel de registros para determinar dónde radica el problema. Incrementar el nivel de registro entre 3 y 5 consumirá muchos más recursos y aumentará el tamaño del log del Servicio del Directorio. Lo recomendable es incrementar el nivel de registro temporalmente, hasta encontrar la causa del problema. Cuando modificamos el nivel de registro a 5, todos los sucesos que afectan a la categoría serán registrados. Es problable que en este caso se reciba más información de la que se pueda revisar. Se debe recordar que se debe reducir el registro de los logs tanto como nos sea posible.

1.2 REALIZANDO COMMITING TRANSACTION DE LA BASE DE DATOS Todas las transacciones de la Base de Datos del Directorio Activo son procesadas en memoria y escritas en los log files antes de que hayan sido escritas en la base de datos en el disco duro. Si el servidor falla, los logs de transacciones pueden aún contener toda la información necesaria para retornar la base de datos a un estado consistente. Lo primero que debemos de realizar de las muchas acciones que se pueden seguir, es realizar un commit de las transacciones de la base de datos, es decir completar la escritura de las transacciones en la base de datos. Esto es también conocido como la realización de un recovery procedure. Para ello debemos seguir los siguientes pasos: 1. Cuando se inicie el servidor, presionar F8 para ingresar al menú Startup Options. 2. Seleccionar Directory Services Restore Mode 3. Una vez que se ingresa con Directory Services Restore Mode con la cuenta administrator, abrir una ventana de línea de comandos. 4. Desde la ventana de línea de comandos, escribir ntdsutil y presionar la tecla Enter. 5. Desde ntdsutil: escribir File y presionar la tecla Enter. 6. Desde file maintenance: escribir Recover y presionar la tecla Enter. En la siguiente pantalla muestra un recovering ejecutándose. Después que el recovery está completo, la base de datos estará consistente y se podrá ejecutar cualquier otra utilidad según sea nuestra necesidad.

CIBERTEC

CARRERAS PROFESIONALES

94

1.3 VERIFICANDO LA INTEGRIDAD DE LA BASE DE DATOS Cuando se verifica la integridad de la base de datos, cada byte de la data dentro de la base de datos es analizado por si está corrupto. Este proceso puede tomar gran cantidad de tiempo dependiendo de qué tan grande sea el tamaño de la base de datos. Esta opción no es algo que debemos ejecutar a libertad. Antes de realizar una verificación de la integridad de la base de datos, se debe asegurar la realización de la opción recovery, tal como se mostró en la sección anterior. Los pasos para realizar una verificación de integridad son los siguientes: 1. Cuando inicie el servidor, presionar F8 para ingresar al menú Startup Options. 2. Seleccionar Directory Services Restore Mode 3. Una vez que se ingresa con Directory Services Restore Mode con la cuenta administrator, abrir una ventana de línea de comandos. 4. Desde la ventana de línea de comandos, escribir ntdsutil y presionar la tecla Enter. 5. Desde ntdsutil: escribir File y presionar la tecla Enter. 6. Desde file maintenance: escribir integrity y presionar la tecla Enter. La siguiente pantalla muestra cómo la utilidad puede realizar una verificación sobre la base de datos.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

95

1.4 COMPACTANDO LA BASE DE DATOS Durante una normal operación, la base de datos del Directorio Activo no necesita ser compactada. Cada Domain Controller por defecto realiza su propia depuración de datos inservibles cada 12 horas. Durante esta depuración, la base de datos puede ser defragmentada, pero el tamaño de la base de datos no será reducida. Esto usualmente no es un problema, por que la base de datos tiende a crecer a lo largo del tiempo tomando el espacio libre adicional. Pero algunas veces sí se necesita recuperar espacio del disco duro con una defragmentación offline y una compactación. Si se ha eliminado un gran número de objetos del Active Directory, se ha removido un rol Global Catalog del controlador de dominio, o se ha movido varias cuentas a otro dominio, se podrá reducir el tamaño de la base de datos. Para compactar la base de datos, seguimos los siguientes pasos: 1. Cuando inicie el servidor, presionar F8 para ingresar al menú Startup Options. 2. Seleccionar Directory Services Restore Mode 3. Una vez que se ingrese con Directory Services Restore Mode con la cuenta administrator, abrir una ventana de línea de comandos. 4. Desde la ventana de línea de comandos, escribir ntdsutil y presionar la tecla Enter. 5. Desde ntdsutil: escribir File y presionar la tecla Enter. 6. Desde file maintenance: escribir compact y presionar la tecla Enter. Después que la compactación finalice, se debe copiar el nuevo archivo de base de datos compactado, ntds.dit, a la localización del original archivo de base de datos. La utilidad hará saber dónde copiar la base de datos si no se está seguro, tal como se muestra en la siguiente pantalla:

CIBERTEC

CARRERAS PROFESIONALES

96

1.5 MOVIENDO LA BASE DE DATOS Dependiendo de edad de las bases de datos, estas tienen la tendencia a crecer. Aunque haya sido una buena intención crear particiones y volúmenes grandes para almacenar la base datos, hay momentos en los que la base de datos es demasiado grande. Cuando queda poco espacio libre en el disco duro en donde se encuentra la base de datos, la base de datos puede caerse o mostrar señales de tener problemas. Siendo proactivos y moviendo la base de datos a otro disco podemos evitar sucesos como los mencionados. Para mover la base de datos, seguimos los siguientes pasos: 1. Cuando inicie el servidor, presionar F8 para ingresar al menú Startup Options. 2. Seleccionar Directory Services Restore Mode 3. Una vez que se ingrese con Directory Services Restore Mode con la cuenta administrator, abrir una ventana de línea de comandos. 4. Desde la ventana de línea de comandos, escribir ntdsutil y presionar la tecla Enter. 5. Desde ntdsutil: escribir File y presionar la tecla Enter. 6. Desde file maintenance: escribir move DB to y presionar la tecla Enter. puede ser cualquier ubicación en una partición o volúmen que tenga la cantidad suficiente de espacio para almacenar la base de datos, y preferiblemente que tenga espacio para permitirle seguir creciendo. Si el directorio al cual se está moviendo la base de datos aún no existe, la utilidad crea el directorio por nosotros. La utilidad también configura el sistema para que utilice la nueva ubicación sin que se tenga que hacer ningún paso adicional. Sin embargo, se debe realizar un

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

97

backup del domain controller después de mover la base de datos, de tal forma que los archivos de backup reflejen la nueva ubicación de la base de datos.

1.6 MOVIENDO LOS LOG FILES Las mismas características que presentan la base de datos, son también de los Log Files. Estos también tienen la tendencia a crecer con el paso del tiempo. Aunque haya sido nuestra mejor intención crear particiones y volúmenes grandes para almacenar los logs, hay momentos en los que los logs files son demasiado grandes. Cuando queda poco espacio libre en el disco duro en donde se encuentran los logs files, la base de datos puede caerse o mostrar señales de tener problemas. También puede suceder que se presenten errores en el disco duro en donde se almacenan los log files o simplemente necesitamos separar los transaction log files de la base de datos. Es recomendable mover los transaction logs a un disco físico distinto al de la base de datos, de esta forma no estarán compitiendo por el tiempo del disco con cualquier otro servicio. Realizando esto el performance del sistema mejorará. Para mover los transactions logs, seguimos los siguientes pasos: 1. Cuando inicie el servidor, presionar F8 para ingresar al menú Startup Options. 2. Seleccionar Directory Services Restore Mode 3. Una vez que se ingresa con Directory Services Restore Mode con la cuenta administrator, abrir una ventana de línea de comandos. 4. Desde la ventana de línea de comandos, escribir ntdsutil y presionar la tecla Enter. 5. Desde ntdsutil: escribir File y presionar la tecla Enter. 6. Desde file maintenance: escribir move logs to y presionar la tecla Enter. puede ser cualquier ubicación en una partición o volúmen que tenga la cantidad suficiente de espacio para almacenar los transaction log files, y preferiblemente que tenga espacio para permitirles seguir creciendo. Si el directorio al cual se está moviendo la base de datos aún no existe, la utilidad crea el directorio por nosotros. Se debe realizar un backup del sistema después de mover los logs, de tal forma que los archivos puedan ser restaurados si es necesario.

CIBERTEC

CARRERAS PROFESIONALES

98

Resumen



El nivel de diagnóstico en todos los valores en el Event Viewer está configurado en 0 por defecto. En este nivel, sólo los eventos críticos o errores son enviados a los logs del Event Viewer. Cuando se incia un troubleshooting, se debe incrementar el nivel de registros para determinar dónde radica el problema.



Antes de manipular la base de datos del Active Directory lo primero que se debe de realizar de las muchas acciones que se pueden seguir, es realizar un commit de las transacciones de la base de datos, es decir completar la escritura de las transacciones en la base de datos.



Cuando verificamos la integridad de la base de datos,del Active Directory cada byte de la data dentro de la base de datos es analizado por si está corrupto.



La compactación de la base de datos del Active Directory se debe realizar si nosostros hemos eliminado un gran número de objetos del Active Directory, hemos removido un rol Global Catalog del controlador de dominio, o hemos movido varias cuentas a otro dominio.



Debemos mover la base de datos del directorio activo cuando queda poco espacio libre en el disco duro en donde se encuentra la base de datos, en este caso si no se realiza ninguna acción la base de datos puede caerse o mostrar señales de tener problemas.



Las mismas características que presentan la base de datos, son también de los Log Files. Estos también tienen la tendencia a crecer con el paso del tiempo.



Si desea saber más acerca de estos temas, puede consultar la siguiente página. 

http://www.4shared.com/file/34505806/ab593489/SybexActiveDirectoryBestPra ctices24sevenMigratingDesigningandTroubleshootingAug2004.html Página que contiene información acerca de las mejores prácticas registradas en el libro Active Directory, Best Practices: Migrating, Designing, and Troubleshooting, cuyo autor es PRICE, BRAD. Publicado por SYBEX en el año 2004

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING

99

unidad de aprendizaje

2

semana

6

SERVIDOR DE EXCHANGE

ARCHIVOS Y SERVIDOR DE CORREOS

LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al término de la unidad, el alumno utilizará las herramientas de ayuda necesaria para la resolución de problemas en servidores de archivos y servidores de correo.

TEMARIO •

Servidor de archivos: NTFS y Administración de cuotas de disco



Microsoft Exchange Server: Arquitectura



Microsoft Exchange Server: Planificación y recuperación de desastres.



Proceso de restauración de Microsoft Exchange

ACTIVIDADES PROPUESTAS • • • • •

Realizar restricciones de espacio en disco a todos los usuarios que acceden a él. Realizar restricciones de espacio en disco a usuarios específicos. Instalación de Microsoft Exchange Server 2003. Realizar un backup y restore en Microsoft Exchange Server 2003. Simular la recuperación de un Servidor Microsoft Exchange en caso de desastre.

CIBERTEC

CARRERAS PROFESIONALES

100

1. SERVIDOR DE ARCHIVOS: NTFS Y ADMINISTRACIÓN DE CUOTAS DE DISCO 1.1 INTRODUCCIÓN Las cuotas de los discos son similares a los límites de una tarjeta de crédito. Cuando se tiene una tarjeta de crédito con un límite de $3000 se podrá gastar hasta $3000. Sin embargo, cuando se ha sobrepasado el límite de la tarjeta de crédito y se necesita comprar con la tarjeta, se debe realizar un pago para disminuir el monto utilizado por lo menos hasta disponer de la cantidad de dólares de la compra que se quiere realizar. Las cuotas de los discos son usadas para administrar el crecimiento y tamaño de los archivos almacenados por cada usuario o grupos de usuarios. Estas permiten determinar cuánto espacio de disco se les es asignado a cada usuario o grupo de usuarios (límite de crédito) y asegurar que los usuarios o grupos no sobrepasen el límite o cuota asignada. Las cuotas en los discos sólo pueden ser utilizados en sistemas de archivos NTFS (New Technology File System). NTFS es un sistema de archivos diseñado específicamente para Windows NT (utilizado luego en Windows 2000, Windows XP, Windows 2003 y Windows Vista), con el objetivo de crear un sistema de archivos eficiente, robusto y con seguridad incorporada desde su base. También admite compresión nativa de ficheros y encriptación (esto último sólo a partir de Windows 2000).

1.2 DISK QUOTA MANAGER Las cuotas de los discos son administradas a través del Administrador de Cuotas de Discos (Disk Quota Manager), que vendría a ser según el ejemplo inicial la compañía o el banco que nos otorga la tarjeta de crédito. A través de esta utilidad, se podrá asignar las cuotas en disco (límite de la tarjeta de crédito), enviar mensajes a usuarios cuando se aproximan al máximo de su cuota asignada, y desactivar el guardado de más datos (más cargos a su tarjeta) hasta que depuren y vuelvan a ocupar un espacio menor al límite máximo de la cuota (pagar la tarjeta de crédito). Disk Quota Manager asigna el espacio a utilizar para cada usuario, sin importar lo que sus carpetas contengan. Las cuotas se administran por cada volumen, no en volúmenes combinados. Windows 2000 "carga", el espacio en el disco del usuario de cuotas límite cuando el usuario crea o toma la propiedad de un archivo o carpeta. Cuando Windows 2000 calcula el espacio en el disco duro, se hace caso omiso de compresión, porque los archivos de diferentes tipos puede ser comprimido en diferentes porcentajes, por lo que es difícil predecir el tamaño real de la archivo, por lo que los usuarios pagan por cada byte sin comprimir. Se puede utilizar las cuotas de disco para configurar la cuota límite del disco para cada usuario o para todos los usuarios, determinar cuánto espacio de disco se podrá utilizar y si se desea registrarlo en un evento. Una vez que se completado, puede configurar un cuota de disco de alerta para que los usuarios recibirán un mensaje informándoles cuando que se están acercando a su límite. También puede establecer las consecuencias, para determinar qué sucederá cuando los usuarios llegan a su límite de cuota de disco. Por ejemplo, cuando los usuarios se

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 101

aproximen al límite de su cuota, podemos negarles más espacio en disco o se puede dejar que ellos sigan utilizando los recursos. Una vez que hayamos creado las cuotas en el disco, Windows iniciará el recojo de información de uso de disco para todos los usuarios que son dueños de archivos y carpetas en cada volumen. Esto permite que cualquier persona en el grupo de administradores pueda supervisar los niveles de las cuotas de disco por volumen. Para habilitar las cuotas de disco, hacer clic derecho en el volumen en el cual deseamos establecer cuotas de disco, seleccionar Propiedades y seleccione la pestaña de cuota de disco de la caja de Propiedades (Quota) . A partir de aquí, varias opciones se pueden se configurar, incluida la principal opción, que permite la gestión de las cuotas para este volumen.

Seleccionar el primer check box "Enable quota managament", para poder empezar a utilizar el administrador de cuotas (Disck Quota manager). Una vez que seleccione esta casilla de verificación, se podrá acceder a las otras opciones. El segundo check box es “Deny disk space to users exceeding quota limit” (Denegar espacio de disco para los usuarios que excedieron el límite de cuota). Seleccionar este check box si se desea que a los usuarios se les niegue cualquier nueva utilización del espacio una vez que superen su límite de cuota. Esto es seleccionado por defecto después de que se elija permitir la gestión de cuotas, por lo que, si no desea negar a los usuarios el espacio en disco y simplemente se desea informar si se está usando más de lo que debe, entonces se debe desmarcar esta casilla. Cuando se selecciona esta opción, los usuarios recibirán un mensaje de alerta "Out of disk space" cuando guarden archivos, informando de

CIBERTEC

CARRERAS PROFESIONALES

102

que han sobrepasado su cuota y que tendrán que reducir el número de sus archivos y carpetas con el fin de poder continuar grabando. La siguiente opción “Select the default quota limit for new users quota limit” configura el valor por defecto de los límites de cuota para los nuevos usuarios en el volumen. Estos ajustes definirá la configuración por defecto para cualquier nuevo usuario que tenga acceso al volumen. Podemos elegir la opción de no limitar el uso de disco o la opción de limitar el espacio. Cuando se configura la opción del espacio límite para el disco, se especifica el espacio en disco y los límites del nivel de alerta. El valor por defecto es no limitar el uso de espacio en disco. La siguiente sección configura las opciones de registro para cada volumen. Hay dos check box, uno se utiliza para elegir si desea registrar un evento cuando un usuario supera su límite de cuota (Log event when a user exceeds their quota limit), y el segundo se utiliza para elegir si desea registrar un evento cuando un usuario excede el nivel de la alerta (Log event when a user exceeds their warning level). Se puede elegir uno, dos, o ninguno de estos check box, dependiendo de la cantidad de información que desea tener registrada en log de eventos. Es una buena práctica registrar un evento cuando el límite de la cuota de los usuarios ha sido excedida de modo que podemos asegurar que tan pronto los usuarios llegan a su cuota límite. Al configurar las opciones de registro de cuotas, la información será registrada en el registro del sistema en el Visor de eventos (Event Viewer).

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 103

Una forma rápida para determinar la situación de las cuotas de disco es mirar el semáforo en la esquina superior izquierda de la pestaña “Quota”. Cuando el semáforo está en verde, el sistema de cuotas está activo y de trabajando; cuando el semáforo es de color amarillo, está reconstruyendo la información de la cuota del disco, y cuando el semáforo está en rojo, el sistema de cuotas ha sido desactivado. Existe también un botón de ingreso de cuotas (Quota Entries…). Hacer clic en este botón para ver todos los ingresos de cuotas para el disco que se ha seleccionado. Se puede utilizar esta parte para establecer los límites de las cuotas para determinados usuarios

Por la ventana “Quota Entries” monitoreamos y administramos el espacio de disco utilizado por cada usuario en el volumen. Esta ventana puedes ser utilizada para determinar cuánto espacio en disco utiliza cada usuario, así como su nivel de alerta y su límite de la cuota de espacio en disco. Un triángulo amarillo representa a los usuarios que están sobre el nivel de aleta de su cuota, y un círculo rojo significa que los usuarios han superado su límite de cuota. Podemos cambiar vista de la ventana “Quota Entries” pudiendo ver los items organizados por cualquiera de los siguientes parámetros: • • • • • • •

CIBERTEC

Folder User Name Logon name Status Amount Used Quota Limit Warning Level

CARRERAS PROFESIONALES

104



Percent Used

Para cambiar la forma por la cual los registros se muestran, se selecciona del menú la opción “View”, luego la opción “Arrange Items” y, a continuación, la opinión de que deseamos.

Para añadir el ingreso de una cuota, se selecciona de el menú la opción “Quota” y, a continuación, se selecciona "New quota entry". Se mostrará una ventana, que nos preguntará de dónde nos gustaría seleccionar el usuario. Se podrá hacer clic en el nombre y hacer clic en Add, o se podrá hacer doble clic sobre el nombre. Si se prefiere, se puede escribir el nombre en el cuadro “Name” y hacer clic en “Add”. Desde allí, se puede hacer clic en el botón “Check Names” para garantizar que los nombres que hemos escrito se pueden encontrar y que la relación con esos nombres se establezca. Aparecerá una nueva ventana de dialogo que solicitará el ingreso de la configuración deseada. A continuación, se podrá elegir si se desealimitar el uso de disco y los límites para el usuario, al igual que se hizo cuando se estableció cuotas en todo un volumen. Para limitar el espacio en disco para los usuarios, simplemente hacer clic en el botón de límite de espacio libre en disco y establecer la cantidad de espacio. A continuación, establecer el límite del nivel de alerta si se desea que el usuario reciba una advertencia antes de que llegue a su límite de disco. Es posible que se tenga que eliminar la cuota para un usuario que deja la empresa. Antes de hacerlo, los archivos y carpetas de este usuario ya no deben ser de su propiedad. Estos archivos y carpetas deben moverse a otro volumen sin tener cuotas de disco creado para ellos, o bien otro usuario debe ser dueño de CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 105

ellos. Si no se hace esto, no se podrá eliminar la cuota del usuario. Para eliminar una cuota de un usuario, simplemente elegir la opción del menú “Quota” y, a continuación, hacer clic en “Delete Quota Entry” desde el cuadro de menú desplegable. Aparecerá una ventana que preguntará si se está seguro de borrar la cuota.

CIBERTEC

CARRERAS PROFESIONALES

106

Resumen



Las cuotas de los discos son usadas para administrar el crecimiento y tamaño de los archivos almacenados por cada usuario o grupos de usuarios.



NTFS es un sistema de archivos diseñado específicamente para Windows NT (utilizado luego en Windows 2000, Windows XP, Windows 2003 y Windows Vista), con el objetivo de crear un sistema de archivos eficiente, robusto y con seguridad incorporada desde su base. También admite compresión nativa de ficheros y encriptación (esto último sólo a partir de Windows 2000).



Las cuotas de los discos son administradas a través del Administrador de Cuotas de Discos (Disk Quota Manager). A través de esta utilidad, podemos asignar las cuotas en disco, enviar mensajes a usuarios cuando se aproximan al máximo de su cuota asignada, y desactivar el guardado de más datos hasta que depuren y vuelvan a ocupar un espacio menor al límite máximo de la cuota.



Si desea saber más acerca de estos temas, puede consultar la siguiente página.  http://www.microsoft.com/technet/scriptcenter/topics/win2003/quotas.mspx Aquí hallará información adiconal sobre el manejo de Quotas en Windows 2003 y Windows XP.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 107

unidad de aprendizaje

2

semana

7

SERVIDOR DE EXCHANGE

ARCHIVOS Y SERVIDOR DE CORREOS

LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al término de la unidad, el alumno utilizará las herramientas de ayuda necesaria para la resolución de problemas en servidores de archivos y servidores de correos.

TEMARIO •

Servidor de archivos: NTFS y Administración de cuotas de disco



Microsoft Exchange Server: Arquitectura



Microsoft Exchange Server: Planificación y recuperación de desastres.



Proceso de restauración de Microsoft Exchange

ACTIVIDADES PROPUESTAS • • • • •

Realizar restricciones de espacio en disco a todos los usuarios que acceden a él. Realizar restricciones de espacio en disco a usuarios específicos. Instalación de Microsoft Exchange Server 2003. Realizar un backup y restore en Microsoft Exchange Server 2003. Simular la recuperación de un Servidor Microsoft Exchange en caso de desastre.

CIBERTEC

CARRERAS PROFESIONALES

108

1. MICROSOFT EXCHANGE SERVER: ARQUITECTURA 1.1 INTRODUCCIÓN Microsoft Exchange Server permite a las personas comunicarse mediante mensajes de correo electrónico, para compartir información y colaborar en proyectos usando las ricas características de las aplicaciones clientes. Esta sesión nos da una visión general de cómo los componentes de Exchange Server interactúan para proporcionar una forma estable y fiable de mensajería. Adicionalmente Exchange 2003 puede ser integrado con otros productos, tales como: • • •

Share Point Portal Server Isa Server 2004 Office 2003

Outlook (RPC/HTTP)

Outlook Web Access

Directorio Activo

ISA Server

Exchange 2003 Front-End Servers

Exchange 2003 BackEnd Servers

Wireless Network & Internet

Outlook Mobile Access (Cell Phones)

Up-To-Date Notifications (SMTP)

Exchange ActiveSync (PPC, Smartphone, 3rd party, Pocket Outlook

Up-To-Date Notifications

MS Mobile Services SMTP Bridgehead Server

Topología de Conectividad Microsoft Exchange Server 2003

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 109

1.2 ACTIVE DIRECTORY Y EXCHANGE Active Directory es requerido antes de la instalación de Exchange Server 2003. Exchange Server se soporta en Active Directory para almacenar y actualizar la información de los recipientes, para almacenar la configuración y el enrutamiento de la data, y mantener un mecanismo de autenticación seguro. Debido a la estrecha integración entre Exchange y Active Directory, los administradores de Exchange deben tener un conocimiento bastante detallado de Active Directory. Microsoft Exchange Server versión 5.5 y otras anteriores no usan Active Directory para almacenar y actualizar la información de sus recipientes.

Directorio

Active Directory

Configuration Partition

Priv.edb Priv.edb

Priv.stm Pub.edb

Pub.edb Pub.stm

Conectores

1.3 ¿CÓMO EXCHANGE USA ACTIVE DIRECTORY? Exchange Server 2003 usa Active Directory en una variedad de maneras, incluyendo: Active Directory Database: Active Directory es el servicio de directorios para Exchange. Toda la información que es necesaria para una organización Exchange es almacenada en el Active Directory, específicamente en la base de datos del Active Directory. Este directorio de información incluye:

CIBERTEC



Toda la información relacionada de todos los Exchange Server acerca de sus recipientes, tales como sus miembros, sus direcciones de correo, y los límites de los tamaños de los mensajes.



Toda la información relacionada al Exchange Server y a la configuración de su organización, tal como las configuraciones de seguridad, configuraciones de almacenamientos de mailbox y conectividad a Internet.

CARRERAS PROFESIONALES

110



Global Catalog Server: Los servidores Global catalog son Active Diretory Domain Controllers que mantienen información parcial acerca de todos los objetos de todos los servidores de dominio en el bosque del Active Directory. Exchange Server requiere comunicación con los servidores Global Catalog para la autenticación de usuarios y servidores. Adicionalmente los clientes contactan a los servidores Global Catalog para visualizar la lista de todos los recipientes en la organización, el Global Address List (GAL).



Autenticación Kerberos: Kerberos es el protocolo de autenticación por defecto en un Active Directory Microsoft Windows Server 2003. Las computadoras Clienrtes corren Outlook 2003 usando Kerberos para autenticar los accesos a los mailboxes en los servidores Exchange. Kerberos es también usado para autenticar la comunicación servidor a servidor tal como la comunicación desde un servidor front-end a un backend.



Replicación Active Directory: La información relacionada con el directorio de Exchange es replicada como una parte de la replicación del Active Directory. La replicación del Active Directory está optimizada para reducir el tráfico de la replicación por cambios en los directorios replicados.

Windows NT 4.0 con Exchange Server 5.5

Windows 2003 Server con Exchange 2003

Mover Public Folder

Recipients

Mailbox Connector

OU Recipients

Engineers

OU Engineers

Marketing

OU Marketing

Exchange Site

CARRERAS PROFESIONALES CIBERTEC

Active Directory Domain

TROUBLESHOOTING 111

1.4 ENRUTAMIENTO DE MENSAJES(MESSAGE ROUTING) EN EXCHANGE SERVER 2003 Exchange Message Routing: Messaging Routing describe cómo el servidor Exchange transfiere los mensajes de un servidor a otro o de un mailbox de usuario a otro mailbox de usuario en el mismo servidor. Para facilitar el enrutamiento de mensajes, los servidores Exchange están organizados en grupos de enrutamiento. Dentro de los grupos de enrutamiento, los mensajes son enrutados directa e inmediatamente desde el servidor fuente al servidor destino. Entre los grupos de enrutamiento, los mensajes transferidos pueden ser programados y administrados configurando un conector de grupo de enrutamiento y configurando los servidores puentes a través de los cuales fluye el tráfico. Resumiendo, los grupos de enrutamiento o Routing Groups: • • •

Definen un conjunto de servidores enlazados. Mejoran la eficacia del flujo de mensajes Se implementan tanto topologías centralizadas como distribuídas.

Mecanismo de Transferencia de Mensajes: Casi toda la transferencia de mensajes entre las computadoras corriendo Exchange Server 2003 es realizado usando SMTP (Simple Mail Transfer Protocol). SMTP es usado para transferir mensajes entre ambos servidores Exchange en el mismo grupo de enrutamiento y entre grupos de enrutamiento. SMTP es un muy robusto protocolo sobre conexiones lentas y ofrece compatibilidad con muchos sistemas de mensajería. Debido a que todos los mensajes en Exchange son enviados utilizando SMTP, los administradores de Exchange necesitan tener un conocimiento profundo de SMTP.

CIBERTEC

CARRERAS PROFESIONALES

112

1.5 LA ADMINISTRACIÓN DEL ALMACENAMIENTO DE DATOS EN EXCHANGE 2003 Administración y almacenamiento de datos: Exchange Server 2003 almacena toda la data de los mensajes e-mail de los usuarios y de las carpetas públicas en su propias base de datos, usando el Extensible Storage Engine (ESE). Una instalación de un servidor Exchange por defecto posee dos bases de datos, una para la data de los mailbox de los usuarios, llamada Mailbox Store, y una para la data de las carpetas públicas, llamada Public Folder Store. Importante: Exchange Server 2003 Standard Edition soporta solo un único Mailbox y Public Folder Store. Antes de instalar el Exchange Server 2003 Service Pack 2, cada store tiene un límite de tamaño de base de datos de 16 Gb. Con Exchange Server 2003 Service Pack 2, cada store tiene un límite de base de datos de 75 Gb.

Stores y Storage Groups (Grupos de almacenamiento): Las computadoras corriendo Exchange Server 2003 almacenan la data en Mailbox Stores y Public Folders Stores. Los stores son organizados en grupos de almacenamiento (Storage Group). Un Storage Group es una agrupación lógica de carpetas públicas y mailbox stores. Cada Storage Group tiene un grupo de logs de transacciones para los stores en ese storage Group. Un servidor Exchange Server 2003 puede mantener hasta 20 stores en 4 Storage Groups. Resumiendo, los Storage Groups: • Agrupan Bases de Datos • Cada Storage Group mantiene un Transaction log. • Nos permite un aislamiento de los datos • Nos permite implementación de Políticas.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 113

Storage Group Instancia ESE Log Log Logs EDB STM

EDB STM

EDB STM

1.6 ESTRUCTURA DE DIRECTORIOS DE MICROSOFT EXCHANGE SERVER 2003 Durante la instalación del servidor Exchange, el Setup crea una estructura de directorios por defecto sobre %programfiles%\Exchsrvr A continuación se describe la estructura de directorios de Exchange: Address: Un directorio que almacena la DLLs (Dynamic-Link libraries) para las direcciones de correo proxies. Bin: Un directorio que almacena los componentes de Exchange Server 2003. Todos los ejecutables disponibles para realizar las tareas de Exchange son almacenados en este directorio. Conndata: Un directorio que almacena los componentes de los conectores de Exchange Server 2003. Exchweb: Un directorio que almacena los componentes del Outlook Web Access (OWA). ExchangeServer_servername: Un directorio que almacena los datos de Microsoft Search y Context Indexing Support.

CIBERTEC

CARRERAS PROFESIONALES

114

Mailroot: Un directorio que contiene un directorio para cada servidor virtual SMTP que configuremos en nuestro servidor. Mdbdata: Un directorio que almacena los archivos de base de datos y sus asociados archivos de log de transacciones. Mtadata: Un directorio que almacena información de configuración, la plantillas de la bases de datos, y archivos log de Message Transfer Agent (MTA). OMA: Un directorio que almacena los componentes de Outlook Mobile Access. Res: Un directorio que almacena logs del Event Viewer y de Windows 2003 Sstem Monitor. Schema: Un directorio que almacena el esquema OLE DB (Object Linking and Embedding for Databases, “Incrustación y enlace de objetos para bases de datos") Srsdata: Un directorio que almacena los datos del Site Replication Service. servername.log: Un directorio que almacena los archivos log de Message-tracking del Exchange System Manager.

1.7 REQUISITOS DE INSTALACIÓN: • • • • • • • •

Particiones de archivos NTFS Windows 2000 SP3 o Windows 2003 .NET Framework 1.1 ASP.NET IIS 5.0 / 6.0 SMTP Active Directory Acceso al catálogo global

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 115

Resumen



Active Directory es requerido antes de la instalación de Exchange Server 2003. Exchange Server se soporta en Active Directory para almacenar y actualizar la información de los recipientes, para almacenar la configuración y el enrutamiento de la data, y mantener un mecanismo de autenticación seguro.



Messaging Routing describe cómo el servidor Exchange transfiere los mensajes de un servidor a otro o de un mailbox de usuario a otro mailbox de usuario en el mismo servidor.



Durante la instalación del servidor Exchange, el Setup crea una estructura de directorios por defecto sobre %programfiles%\Exchsrvr



Si desea saber más acerca de estos temas, puede consultar las siguiente página.  http://technet.microsoft.com/en-us/library/aa996358(EXCHG.65).aspx Aquí hallará información adicional sobre la topología de Message Routing

CIBERTEC

CARRERAS PROFESIONALES

116

unidad de aprendizaje

2 semana

8

SERVIDOR DE EXCHANGE

ARCHIVOS Y SERVIDOR DE CORREOS

LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al término de la unidad, el alumno utilizará las herramientas de ayuda necesaria para la resolución de problemas en servidores de archivos y servidores de correos.

TEMARIO •

Servidor de archivos: NTFS y Administración de cuotas de disco



Microsoft Exchange Server: Arquitectura



Microsoft Exchange Server: Planificación y recuperación de desastres.



Proceso de restauración de Microsoft Exchange

ACTIVIDADES PROPUESTAS • • • • •

Realizar restricciones de espacio en disco a todos los usuarios que acceden a él. Realizar restricciones de espacio en disco a usuarios específicos. Instalación de Microsoft Exchange Server 2003. Realizar un backup y restore en Microsoft Exchange Server 2003. Simular la recuperación de un Servidor Microsoft Exchange en caso de desastre.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 117

1. MICROSOFT EXCHANGE SERVER: PLANIFICACIÓN Y RECUPERACIÓN DE DESASTRES 1.1 INTRODUCCIÓN Un administrador de sistemas es responsable de la confidencialidad, integridad, y disponibilidad de los sistemas de cómputo en una organización. Si los datos se pierden o se pierde la disponibilidad de los mismos ya sea por un ataque o por un desastre, se debe de tener un plan de recuperación. La continuidad del negocio y los planes de recuparación varían de una compañía a otra, dependiendo del tipo de negocio en el que se encuentre la organización, la cantidad de tiempo sin servicio que puede ser tolerado, y el nivel de seguridad requerido.

1.2 PLANIFICACION PARA LA RECUPERACIÓN EN CASO DE DESASTRES Identificar los riesgos es el inicial paso que debemos tomar cuando hacemos la planificación en caso de desastres. ¿Qué son los riesgos? Identificación de riesgos: La identificación de riesgos provee las oportunidades, guías e información que nos permiten abordar los principales riesgos antes de que afecten negativamente el negocio de la empresa. Identificar los riesgos e interactuar con otros miembros de nuestra organización es una gran manera para exponer hipótesis y para coinciliar diferentes puntos de vista. Posibles riesgos: Los posibles riesgos son: Pérdida de información. Pérdida completa del servidor Exchange Pérdida de los servicios de soporte. Estos posibles riesgos incluyen: Pérdida de Información: • A único mensaje, mailbox o carpeta pública. • Una base de datos (de mailbox o de carpertas públicas) • Un Storage Group. Pérdida de los servicios de soporte: • Domain Name System (DNS) • Internet Information Services (IIS) • El servicio de Microsoft Active Directory. • Cualquier servicio Microsoft Windows del cual dependa nuestro servidor Exchange. Nota: La pérdida de un servicio podría ocurrir debido a un fallo de seguridad, un ataque de denegación de servicios, un ataque de virus, o de inadecuada configuración de un administrador.

CIBERTEC

CARRERAS PROFESIONALES

118

Cuando identificamos los riesgos, se debe ubicar todos los servicios y componentes que se requieren para mantener nuestro entorno Exchange Server funcionando plenamente y para conocer qué impacto causa la pérdida de cualquier servicio en nuestra compañía. Análisis de Riesgos: El análisis de riesgos es la conversión de los datos del riesgo en información de toma de desiciones sobre el riesgo. Un análisis exhaustivo asegura que se identifique el riesgo correctamente. El análisis de riesgos implica la identificación de amenazas, vulnerabilidades el impacto en el negocio de la interrupción de cada servicio o componente.

1.3 HACIENDO BACKUP DE EXCHANGE SERVER 2003 Tipos de Datos a realizar Backup Up: Es importante realizar un backup de toda la data crítica de nuestra compañía para estar prevenidos en caso de desastres. Esta data crítica incluye los contenidos de los mailbox y de las carpetas públicas en los servidores y la información de configuración necesaria para operar los servidores que están corriendo Exchange Sever. Ejemplos de los Datos a realizar backup: La siguiente lista muestra algunos tipos de datos a los que les podemos realizar backup: •

El System State de los sistemas operativos Windows Server 2003 y Windows 2000 Server. El system state incluye la siguiente información: o Local registry database o COM + objects o Boot files and system files o IIS metabase o Active Directory database (sólo en los Domain Controllers) o SYSVOL directory (solo en los Domain Controllers) o Información de la configuración de los Cluster(Sólo en los nodos de los Cluster) o La base de datos de los Servicios de Certificados (sólo en servidores corriendo Certificate Services). TIP: Alternativamente, el administrador puede respaldar la metabase de los IIS utilizando el script de Microsoft Visual Basic incluído en Windows Server 2003 (IISBack.vbs). • • • • •

Softwares de Soporte. Softwares de Aplicación de usuario, tales como aplicaciones ASP (Active Server Pages), agentes de mailbox, etc. Scripts de administración. Bases de datos y archivos logs de Exchange Server 2003 Message tracking logs de Exchange Server 2003

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 119

Nota: Algunos aplicaciones de terceros tienen la capacida de realizar backup a cuentas de correo individuales. Windows Backup no es capaz de realizar un backup a nivel de mailbox. Tipos de Estrategias de Backup: Podemos usar Windows backup para implementar diferentes estrategias de backup: •







Full backup: o Obtiene en línea copias de seguridad de las bases de datos y archivos de registro de transacciones (log files). o Requiere sólo un tape set para recuperar todos los datos. o Al completar el full backup de un storage group, a los logs de transacciones se les realiza un commit contra la base de datos de Exchange y son borrados del servidor. o La ventaja de esta estrategia de backup require sólo un tape set para restaurar la data. Nota: Los logs de transacciones a los que se les realizó commit contra la base de datos sólo son borrados hasta el término del backup en línea, este backup debe de ser satisfactorio. Si el backup es iniciado, pero no se completa satisfactoriamente, los logs de transacciones no serán borrados. Full plus incremental: o Captura sólo los datos que han cambiado desde el último backup. o Requiere el tape set del último full backup y todas las copias de los backups incrementales para recuperar los datos. o Sólo copia los logs de transaciones (no los archivos de base de datos). o No se debe de tener habilitado la opción de “Circular logging”. o De igual forma que en el full backup, los logs de transacciones son purgados del servidor al término satisfactorio de un backup incremental de un storage group. o En la restauración, todos los logs de transacciones necesitan ser recuperados para que las bases de datos sean montadas. Full plus differential: o Copia sólo los log files que han cambiado desde el último full backup. o Requiere sólo un tape set a ser añadido antes de que los logs files puedan ser escritos. o No se debe de tener habilitado la opción de “Circular logging”. o Los logs de transacciones no son borrados del servidor al término de un backup diferencial. o En la restauración, todos los logs de transacciones necesitan ser recuperados para que las bases de datos sean montadas. Copy backups: o Realiza la misma función que un full backup, excepto los archivos que no están marcados para el backup.

Uso de Circular Logging: no se recomienda utilizar esta opción. Ahorra espacio en el disco, pero a costa de la capacidad de recuperación. El Circular Logging utiliza cíclicamente los archivos logs, con un valor predeterminado de cuatro, es decir, no va creando nuevos archivos a medida que se van llenando sino que va

CIBERTEC

CARRERAS PROFESIONALES

120

sobrescribiendo aquellos cuyas transacciones ya han sido escritas en el archivo .EDB, lo que permite restaurar muy poco de lo que ocurrió desde el último respaldo full.

2 PROCESO DE RESTAURACIÓN DE MICROSOFT EXCHANGE Los pasos para restaurar un servidor Exchange Server 2003 son los siguientes: 1. Instalar Windows Server 2003 en el servidor que se está reconstruyendo. Cuando se instale Windows Server 2003, no usar el mismo nombre del servidor que ha fallado, y no registrar el servidor en el dominio. 2. Instalar en el servidor que se está reconstruyendo todos los parches y Services Packs de Windows Server 2003 que estaban instalados en el servidor antes de haber ocurrido la falla. 3. Restaurar el backup de Windows que fue realizado en el servidor dañado en el servidor que se está reconstruyendo. Restaurando el Windows backup restauramos los archivos de sistema de Windows Server 2003 (incluyendo el registro de la base de datos, y los archivos de la metabase del IIS (Internet Information Services). Este proceso también permite al servidor reconstruir su original nombre de red e incorporarlo al dominio. Si no se realiza este paso o la cuenta del Servidor Exchange no existe en el Active Directory, no se podrá ejecutar el Setup de Exchange Server en el modo Disaster Recovery. 4. Instalar cualquier otra aplicación (diferente a Exchange Server 2003) que se ejecute en el servidor. Nota: Instalar las aplicaciones en la misma ruta y con la misma configuración que tenían en el servidor que ha falalado. 5.

Sólo en el servidor que se está reconstruyendo, realizar los siguientes pasos a. Ejecutar el Setup de Exchange Server 2003 en modo Disaster Recovery. Este proceso instala las aplicaciones y todos los archivos Exchange necesarios para el servidor que estamos reconstruyendo. Este proceso también utiliza la información de configuración almacenada en el Objeto Exchange Server del Active Direcrtory para obtener la configuración del servidor original. La información obtenida incluye los nombres de los storage groups del servidor Exchange, nombres de los mailbox store, nombres de los public folder store, y otros. Cuando se ejecuta Exchange Server en modo Disaster Recovery, se debe asegurar de que todos los componentes que existían en el servidor dañado sean seleccionados. En una ventada de DOS digitar las siguientes líneas de comando, en caso nuestra unidad de CD sea E: o Cd E: o Cd \setup\i386 o setup /DisasterRecovery b. Seleccionar Disaster Recovery para cada componente que ha sido instalado en el servidor que ha fallado, en caso algún componente aún no se encuentre seleccionado.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 121

c. Instalar Exchange Server 2003 en la misma unidad de disco y directorio en el que se instaló en el servidor dañado. Como mínimo, se debe asegurar que todos las letras de las unidades lógicas de discos en las que las bases de datos y archivos logs en donde se encontraban en el servidor fallido, se encuentren disponibles en el servidor que se está reconstruyendo. d. Instalar en el modo Disaster Recovery cualquier Service Pack o hot fixes que estuvieron corriendo anteriormente en el servidor dañado en el servidor que se está reconstruyendo. Instalar los Service Pack de Exchange en modo Disaster Recovey previniendo que las bases de datos de Exhange sean montadas al terminar los procesos de instalación. El montado de las bases de datos se debe hacer directamente al restaurar las bases de datos Exchange desde el Backup. 6.

Restaurar las bases de datos Exchange que existían en el servidor dañado en el servidor que estamos reconstruyendo.

Nota: Si pudimos respaldar los archivos log del servidor Exchange dañado, y copiamos los archivos en su localizaciones originales, se puede recuperar el servidor Exchange justo al momento que ocurrió el desastre (en caso se tengan los logs hasta ese momento). En caso no dispongamos de estos logs, perderemos todos los cambios sucedidos entre el último backup satisfactorio de las bases de datos Exchange y el momento del desastre.

CIBERTEC

CARRERAS PROFESIONALES

122

Resumen



La identificación de riesgos provee las oportunidades, guías e información que nos permiten abordar los principales riesgos antes de que afecten negativamente el negocio de la empresa.



Los tipos de estrategias de backup de Exchange son: Full backup, Full plus incremental, Full plus differential y Copy backups.



El Circular Logging utiliza cíclicamente los archivos logs, con un valor predeterminado de cuatro, es decir, no va creando nuevos archivos a medida que se van llenando sino que va sobrescribiendo aquellos cuyas transacciones ya han sido escritas en el archivo .EDB, lo que permite restaurar muy poco de lo que ocurrió desde el último respaldo full.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas.  http://technet.microsoft.com/en-us/library/bb123959(EXCHG.65).aspx Aquí hallará ña guía oficial de Microsoft sobre Disaster Recovery en Exchange 2003.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 123

unidad de aprendizaje

3 semana

9

BASES DE DATOS LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno utilizará diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificación de las causas de un problema; asimismo, presentará las mejores alternativas de solución.

TEMARIO •

SQL Server 2005: Instalación



Seguridad en SQL Server 2005



Relaciones y estructuras de almacenamiento de la base de datos Oracle.

ACTIVIDADES PROPUESTAS • • •

Instalación de Microsoft SQL Server 2005. Backup y Restore de una base de datos SQL Server. Backup y Restore de objetos de base de datos y archivos de configuración de la base de datos Oracle.

CIBERTEC

CARRERAS PROFESIONALES

124

1. INSTALACIÓN DE MICROSOFT SQL SERVER 2005 1. Ejecutar setup.exe del CD 1 de instalación de Microsoft SQL Server 2005, se levantará la siguiente pantalla. Seleccionar Install (Previemante Verificar que el servidor tenga instalado el servicio IIS, de no tenerlo instalarlo.):

2. En la siguiente pantalla marcar el check box y dar clic en Next

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 125

3. Seleccionar Install:

CIBERTEC

CARRERAS PROFESIONALES

126

4. Seleccionar Next:

5. Seleccionar Next:

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 127

6. Seleccionar Next:

CIBERTEC

CARRERAS PROFESIONALES

128

7. Seleccionar Next:

8.Seleccionar todos los check box menos el último (Workstation componentes, …)

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 129

9. Seleccionar Next:

10. Seleccionar “Use a domain user account”, ingresar: • En username: cuenta de Dominio •

En password : password de la cuenta de Dominio



En dominio: Nombre del Dominio, por ejemplo CIBERTEC .

Seleccionar todos los check box de la sección “Start services and the end of setup” No seleccionar “Customize for each service account” La cuenta de dominio debe pertenecer al grupo Administrators del servidor.

CIBERTEC

CARRERAS PROFESIONALES

130

Seleccionar

usuario

“Password de usuario”

CIBERTEC

11. Dejar la siguiente pantalla por defecto. Seleccionar Next

12.Dejar la siguiente pantalla por defecto. Seleccionar Next:

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 131

13. Dejar la siguiente pantalla por defecto. Seleccionar Next

14. En la siguiente pantalla seleccionar Install:

CIBERTEC

CARRERAS PROFESIONALES

132

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 133

15. Insertar el disco 2 y seleccionar Ok.

16. Seleccionar Next:

CIBERTEC

CARRERAS PROFESIONALES

134

17. Seleccionar Finish:

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 135

18. Ingresar al servidor por Start - All Programs – Microsoft SQL Server 2005 – SQL Server Management Studio. Conectarse por Windows Authentication. 19. Dar click derecho en el ícono del servidor, Propiedades, en la opción Security, seleccionar “SQL Server and Windows Authentication mode”.

20. En la ventana de ejecución de Querys, ejecutamos: ALTER LOGIN sa ENABLE ; ALTER LOGIN sa WITH PASSWORD = 'cinosanap' ; exec sp_changedbowner 'sa','true'; (saldrá un error de que no puede cambiar el owner de las bases de datos master…) Obviar. 21. Ejecutar en Start – All Programs – Microsoft SQL Server 2005 – SQL Server 2005 Surface Area Configuration. En la siguiente pantalla seleccionar “Surface Area Configuration for Services and Connections”

CIBERTEC

CARRERAS PROFESIONALES

136

22. En Database Engine – Remote Connections Seleccionar “Using both TCP/IP and names pipes”

23. Reiniciar el servidor e instalar el últmimo Service Pack.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 137

Resumen



Es recomendable que el Sistema Operativo sobre el cual se instala Microsoft SQL Server tenga instalado el último Service Pack y parches.



Es recomendable que en el caso se desea Microsoft SQL Server con validacipon mixta (SQL Server y Windows) ésta configuración debe realizarse desde la instalación.



Es recomendable, previa evaluación en un ambiente de pruebas, tener la base de datos Microsoft SQL Server con el último Service Pack instalado.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas.  http://www.microsoft.com/sql/default2.mspx Página oficial de Microsoft SQL Server 2005

CIBERTEC

CARRERAS PROFESIONALES

138

unidad de aprendizaje

3 semana

10

BASES DE DATOS LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno utilizará diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificación de las causas de un problema; asimismo, presentará las mejores alternativas de solución.

TEMARIO •

SQL Server 2005: Instalación



Seguridad en SQL Server 2005



Relaciones y estructuras de almacenamiento de la base de datos Oracle.

ACTIVIDADES PROPUESTAS • • •

Instalación de Microsoft SQL Server 2005 Backup y Restore de una base de datos SQL Server. Backup y Restore de objetos de base de datos y archivos de configuración de la base de datos Oracle.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 139

1. SEGURIDAD EN SQL SERVER 2005 1.1 TIPOS DE AUTENTICACIÓN Windows (integrada o de confianza). • •

Sql Server delega en Windows para realizar la autenticación. Sujeta a las directivas de Windows.

SQL Server (o estándar) • Nombre de usuario y contraseña(hash) guardada en SQL Server. Requeridos en cada establecimiento de conexión. Configuración de la autentificación: SQL Server permite dos modos: • Windows (predeterminado) • SQL Server y Windows Establecido en la instalación. Puede cambiarse posteriormente: • Se puede realizar por el SQL Server Management Studio. • Requiere el reinicio del servicio. Para saber el modo actual, ejecutamos: • SERVERPROPERTY(‘IsIntegratedSecurityOnly’)

1.2 AUTORIZACIÓN Una cuenta de inicio de sesión es requerida para establecer la conexión. La autorización puede establecerse por medio de: • • • • •

Roles de servidor Roles de base de datos Permisos de acceso a base de datos Permiso de ejecución de sentencias Permisos específicos para objetos de base de datos.

1.3 CREACIÓN Y GESTIÓN DE INICIOS DE SESIÓN Inicios de sesión: • • • •

CIBERTEC

Permiten o deniegan la conexión a SQL Server Definidos a nivel de servidor Necesario para conectarse a SQL Server Dos tipos basados en la autenticación: o SQL Server: nombre + contraseña

CARRERAS PROFESIONALES

140

o Windows: usuario o grupo de Windows. Inicios de sesión predefinidos • • • •

Al instalarse SQL Server se crean dos inicios de sesión. Pueden realizar cualquier tarea en SQL Server(pertenecen al rol de servidor sysadmin) BUILTING\Administrators (grupo predefinido de Windows). Puede eliminarse y modificarse los permisos. sa: tipo estándar. No puede eliminarse ni modificarse. No estará habilitado si sólo está configurada la autenticación Windows.

Creación de inicios de sesión: Sólo pueden crear inicios de sesión los usuarios con los roles sysadmin y securityadmin asignados. Se puede realizar por el SQL Server Management Studio. Se puede realizar mediante procedimientos almacenados (Stores procedures): • SQL Server: sp_addlogin • Windows: sp_grantlogin, sp_denylogin Se puede obtener información de inicios de sesión con los siguientes procedimientos almacenados: • sp_helplogins • syslogins Gestión de inicios de sesión Eliminar un inicio de sesión  Sólo lo pueden realizar los usuarios con los roles sysadmin y securityadmin asignados.  Ejecutar sp_droplogin (SQL Server)  Ejecutar sp_revokelogin (Windows)  No se puede realizar si : o Es propietario de una base de datos o Es usuario de una base de datos o Es propietario de algún objeto de alguna base de datos. Cambiar contraseña (sólo en SQL Server)  Ejecutar sp_password  Sólo lo pueden realizar los usuarios con los roles sysadmin, securityadmin o el propio usuario. Propiedades:  Base de datos predeterminada: sp_defaultcib  Lenguaje predeterminado: sp_defaultlanguage  Sólo lo pueden realizar los usuarios con los roles sysdamin, securityadmin o el propio usuario.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 141

1.4 GESTIÓN DE PERMISOS Roles de Servidor Cada rol agrupa un conjunto de permisos Facilitan la administración de la seguridad. Son definidos a nivel de servidor. Independientes de las bases de datos. Un inicio de sesión puede pertenecer a cero o más roles de servidor. Un inicio de sesión que pertenezca a un rol del servidor aquiere los permisos de ese rol. Son fijos:  No pueden modificarse sus permisos.  No pueden eliminarse  No pueden añadirse nuevos roles al servidor. Lista de roles de servidor       

Sysadmin: Puede realizar cualquier actividad en SQL Server Securityadmin: Administra los inicios de sesión. Serveradmin: Configura el servidor. Setupadmin: Configura servidores vinculados y procedimiento almacenado de arranque. Processadmin: Puede desconectar usuarios. Dbcreator: Crear bases de datos Bulkadmin: Realiza inserciones masivas.

Gestión de roles de servidor Obtener información (todos lo pueden ejecutar)  Sp_helpsrvrole. Lista de roles  Sp_helpsrvrolemember. Lista de miembros.  Syslogings: una columna por rol de servidor. Añadir un inicio de sesión a un rol de servidor:  Sólo sysadmin y miembros de rol.  Sp_addsrvrolemember Quitar un inicio de sesión de un rol de servidor  Sólo sysadmin y los miembros del rol  Sp_dropsrvrolemember Acceso a una base de datos Los siguientes pueden conectarse:  Sysadmin  Propietario de la base de datos  Los usuarios de la base de datos

CIBERTEC

CARRERAS PROFESIONALES

142



Cualquier inicio de sesión si existe el usuario guest.

Usuario de base de datos  Definido a nivel de base de datos.  Corresponde a un inicio de sesión.  Dbo: usuario predefinido (data base owner). Corresponde con sysadmin, propietario de la base de datos, rol db_owner.  Guest: invitado. Puede existir o no. Conceder acceso a una base de datos Pueden:  Sysadmin  Propietario de la Base de datos  Db_owner  Db_accessadmin Al conceder acceso a un inicio de sesión a una base de datos:  Se crea el usuario correspondiente en una base de datos  Pertenece al rol public Conceder acceso: sp_grantdbaccess y sp_adduser Quitar acceso: sp_revokeadaccess Reasignar inicios de sesión con usuarios. Útil cuando se anexa o restaura una base de datos: sp_change_users_login Info: sp_helpuser Propietario de una base de datos Puede realizar cualquier operación en la base de datos Es en principio quien crea la base de datos. Puede cambiarse con sp_changedbowner Saber el propietario: sp_helpdb. Roles de bases de datos Cada rol agrupa un conjunto de permisos Facilitan la administración de la seguridad Definidos a nivel de base de datos Un usuario puede pertenecer a uno o más roles de base de datos. Un usuario que pertenezca a un rol de base de datos adquiere los permisos de ese rol.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 143

Un rol puede contener otros roles.

Existen tres tipos:  Predefinidos  Definidos por el usuario o Estándar o De aplicación. Roles predefinidos de base de datos: Son fijos:  No pueden modificarse sus permisos. Excepto Public  No pueden eliminarse  No pueden añadirse nuevos roles predefinidos. Los siguientes:  Db_owner: Realizan cualquier operación en la base de datos  Db_backupoperator: Realiza copias de seguridad  Db_datareader: lee de cualquier tabla  Db_datawriter: Escribe en cualquier tabla  Db_denydatawriter: No puede escribir en ninguna tabla  Db_denydatareader: No puede leer ninguna tabla  Db_ddladmin: Crea y modifica usuarios en la base de datos.  Db_accessadmin: Gestiona usuarios en la base de datos.  Db_securityadmin: Gestiona los permisos. Información de roles predefinidos en la base de datos: Lista: sp_helpdbfixedrole (todos) Ver los permisos: sp_dbfixedrolepermision (todos) Roles estándar definidos por el usuario Pueden contener usuarios y roles definidos por el usuario. Pueden pertenecer a roles predefinidos y roles estándar. Lista: sp_helprole Añadir: sp_addrole Eliminar: sp_droprole

Nota: Investigar: sp_configure, sp_who y sp_lock

CIBERTEC

CARRERAS PROFESIONALES

144

Resumen



Los tipos de autenticación de SQL Server son: Windows (integrado o de confianza) y SQL (o estándar).



Estos tipos de autenticación pueden configurarse de dos modos: el primer modo es sólo con autenticación Windows y el segundo modo es con ambas autenticaciones simultáneas, Windows y SQL Server.



Los Roles que se manejan en SQL Server 2005 son: Roles predefinidos por el servidor, Roles predefinidos por la base de datos y roles predefinidos por el usuario.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas.  http://technet.microsoft.com/en-us/library/ms169620(SQL.90).aspx Tutorial de Microsoft SQL Server 2005

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 145

unidad de aprendizaje

3 semana

11

BASES DE DATOS LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno utilizará diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificación de las causas de un problema; asimismo, presentará las mejores alternativas de solución.

TEMARIO •

SQL Server 2005: Instalación



Seguridad en SQL Server 2005



Relaciones y estructuras de almacenamiento de la base de datos Oracle.

ACTIVIDADES PROPUESTAS • • •

Instalación de Microsoft SQL Server 2005 Backup y Restore de una base de datos SQL Server. Backup y Restore de objetos de base de datos y archivos de configuración de la base de datos Oracle.

CIBERTEC

CARRERAS PROFESIONALES

146

1. RELACIONES Y ESTRUCTURAS DE ALMACENAMIENTO DE BASE DE DATOS ORACLE 1.1 INTRODUCCION Una aproximación de la arquitectura general utilizada por ORACLE para el manejo de base de datos es la mostrada en la siguiente figura

Esta arquitectura puede ser divida en dos porciones lógicas: • Estructura de procesos y memoria. • Estructura para el manejo de los datos. Oracle maneja dos estructuras básicas para el manejo de datos: la física y la lógica. Estructura Física para el Manejo de Datos La estructura física es la estructura relacionada al almacenamiento de datos. Una base de datos ORACLE, identificada por un nombre lógico mantenido en la variable de entorno DB_NAME, representa las estructuras físicas y está compuesta de archivos del sistema de operación. Aunque es posible utilizar un nombre de base de datos diferente al del nombre de la instancia, se recomienda utilizar el mismo nombre para hacer más sencilla la administración. Los archivos que conforman la base de datos contienen los datos del usuario e información adicional que es necesaria para garantizar el funcionamiento de la base de datos. Una base de datos ORACLE consiste de los siguientes tipos de archivos:

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 147



Archivos de datos (Data Files): son aquellos que almacenan el diccionario de datos, los objetos del usuario, y los valores de los datos previos a su modificación. Una base de datos ORACLE debe poseer al menos un archivo de datos. La información de una tabla puede expandirse a muchos Data Files y un Data File puede almacenar múltiples tablas. El número máximo de Data Files que soporta una instancia de ORACLE puede ser configurado.



Archivos de bitácora (Redo Log Files o Redo Log): Mantienen información sobre todos los cambios efectuados sobre la base de datos para asegurar su reconstrucción en caso de fallas. Toda base de datos ORACLE requiere de por lo menos dos Redo Log Files. Es esencial que los Redo Log posee un buen rendimiento y estén protegidos contra fallas de hardware. Si se pierde la información contenida en estos archivos será imposible la recuperación de la base de datos en caso de fallas del sistema. ORACLE provee mecanismos para almacenar múltiples copias de los Redo Logs.



Archivos de Control (Control Files): Contienen la información necesaria para mantener y verificar la integridad de la base de datos, como la ubicación de los datos y los Redo Log. ORACLE requiere de esta información toda vez que se “arranque” la instancia del DBMS. Toda base de datos ORACLE requiere de por lo menos un Control File. Es esencial que los Control Files estén protegidos ya que en caso de perdida no se podrá reiniciar la instancia de la base de datos con la consecuente pérdida de toda la información. ORACLE provee mecanismos para almacenar múltiples copias de los archivos de control.

CIBERTEC

CARRERAS PROFESIONALES

148

Arquitectura de la base de Datos Oracle

1.2 ESTRUCTURA LÓGICA DE ALMACENAMIENTO EN ORACLE La estructura lógica es la relacionada a la representación de los datos y sus relaciones (esquema conceptual). Oracle es el encargado de manejar el espacio donde van a ser almacenados todos los objetos de una base de datos. Las unidades lógicas de almacenamiento son: bloques de datos, extents, segmentos y tablespaces.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 149

La siguiente figura muestra la relación existente entre estas estructuras de datos:

1.2.1. Tablespaces El nivel más alto en la estructura de almacenamiento de datos en ORACLE es la base de datos. Una base de datos (Database) agrupa las piezas lógicas de mayor nivel de almacenamiento en ORACLE: los tablespaces. Un tablespace es utilizado para agrupar lógicamente los datos. Por ejemplo, puede tenerse un tablespace para almacenar los datos de contabilidad y otro para almacenar los datos de ventas en una empresa de servicios. Al segmentar grupos de datos relacionados en tablespaces diferentes se simplifican las tareas de administración de dichos grupos. Los tablespaces pueden estar constituidos de varios Data Files. Al utilizar más de un Data File por tablespace puede distribuirse los datos sobre varios discos y balancear la carga de E/S, mejorando así el rendimiento del sistema. Cuando se crea un tablespace que, como hemos dicho, es una unidad lógica, se debe indicar obligatoriamente también el nombre de al menos un datafile que formará parte de ese tablespace. El datafile es un fichero físico al que le tendremos que asignar un directorio, un nombre y un tamaño. El Tablespace System Cuando se crea una base de datos es obligatorio crear un tablespace inicial en el que se van a crear los usuarios SYS y SYSTEM automáticamente. Estos usuarios son los que tienen la información necesaria para que funcione la base de datos y podamos hacer todo tipo de operaciones como, por ejemplo, crear nuevos usuarios o crear nuevos tablespaces y tablas en esos nuevos tablespaces. Este tablespace inicial se llama por defecto SYSTEM. Es una pieza clave para un buen funcionamiento de la base de datos ya que en él residen todos los objetos de los

CIBERTEC

CARRERAS PROFESIONALES

150

usuarios SYS y SYSTEM. diccionario.

El tablespace SYSTEM almacena los datos del

Es muy recomendable crear al menos otro tablespace nuevo distinto al SYSTEM. Así, todos los nuevos usuarios que creemos en la base de datos, junto con todas sus tablas e índices se almacenarán en un tablespace diferente a SYSTEM. Se realiza esta separación para evitar que se bloquee toda la base de datos si ocurre algo grave en el tablespace SYSTEM. Suele ser habitual que para las aplicaciones creemos usuarios y tablas en las que se introduce información y que sin darnos cuenta se llene de información el tablespace en el que están estas tablas. Si no se ha sido previsores, se podrá haber llenado el tablespace SYSTEM con lo que es posible que se paralice toda la base de datos. Manipulando Tablespaces Partiendo de una base de datos creada y levantada conectarse a la misma con el usuario SYSTEM y su contraseña. La contraseña del usuario SYSTEM al crear la base de datos es, por defecto, MANAGER. Por lo tanto conectarse bien al SqlPlus mediante sqlplus system/manager, o bien al server manager mediante el comando svrmgrl system/manager. Crear un Tablespace En primer lugar se creará un tablespace llamado Prueba. Esto se podrá hacer por ejemplo desde el SQLPLUS conectados como system. Create tablespace prueba datafile '/users/oradata/orcl/prueba01.dbf' size 100M; Con esta sentencia se está creando en la base de datos un tablespace nuevo llamado "prueba" y que está formado físicamente por un fichero (datafile) llamado prueba01.dbf de 100 Mbytes y que está en el directorio "/users/oradata/orcl". Esta sentencia crea físicamente dicho fichero. Aumentar de tamaño un Tablespace Para aumentar el tamaño de un tablespace, se tiene varias posibilidades. La primera de ellas es crear un nuevo datafile y asignárselo al tablespace que se quiere aumentar. Esto lo se podrá hacer con la instrucción siguiente. Alter tablespace prueba add datafile '/users/oradata/orcl/prueba02.dbf' size 50M; Con esta sentencia se ha creado un nuevo fichero físico en nuestro directorio /users/oradata/orcl de 50 Mbytes de tamaño y se lo ha asignado al tablespace "prueba". Otra posibilidad es ampliar el tamaño de uno de los ficheros físicos o datafiles que forman el tablespace. Esto se podrá hacer fácilmente con la siguiente instrucción: Alter datafile '/users/oradata/orcl/prueba01.dbf' resize 150M; Con esta sentencia lo que se hace es aumentar el datafile que forma parte del tablespace en 50 Mbytes.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 151

Tanto en la instrucción de creación como en la de aumentar el tamaño de un tablespace se puede observar fácilmente cómo un datafile pertenece solamente a un tablespace ya que en la propia sentencia se crea el fichero físico o datafile. Borrando un tablespace. Para eliminar un tablespace de la base de datos se debe utilizar la sentencia: Drop tablespace prueba; Tablespaces Online y Offline Un tablespace puede estar en dos estados: Online y Offline. Que un tablespace esté online significa que está disponible para operar en él, mientras que si está offline quiere decir que no se puede utilizar. Cuando se crea un tablespace, se crea en estado online y, por lo tanto, se podrá crear en dicho tablespace objetos como índices, tablas, etc. Existe una vista que nos da información sobre los tablespaces de la base de datos. Esta vista es la dba_tablespaces. Consultándola se puede conocer qué tablespaces se tienen en la base de datos y en qué estado se encuentran. select tablespace_name, status from dba_tablespaces; Utilización de Tablespaces Offline Se debe tener en cuenta que cuando un tablespace está offline, no se puede acceder a ningún objeto que se encuentre en él, es decir, que si en el tablespace hay tablas, no se podrá hacer consultas ni inserciones ni modificaciones de estas tablas, sin embargo, el resto de los objetos que se encuentran en otros tablespaces de la base de datos si están accesibles. Por lo tanto, se pondrá un tablespace offline en general para realizar tareas administrativas: •

Para poder hacer una copia de seguridad del tablespace estando completamente seguros de que nadie está modificando los objetos del tablespace y que no quedan transacciones pendientes sin terminar y que pueden modificar estos objetos.



Para poder actualizar una aplicación que se basa en los objetos de este tablespace sin que ningún usuario pueda modificar los datos en medio de la actualización.

Tablespaces Read Only Cuando se crea un tablespace, se podrá crear en él todos los objetos que se deseen, acceder a ellos, eliminarlos y también consultar los datos de las tablas que se encuentren en este tablespace, así como borrar, insertar y modificar estos datos. Existe la posibilidad de poner un tablespace en un estado en el cual, solamente se pueden consultar los datos de los objetos, no se puede ni borrar ni insertar nada en ellos. La principal ventaja de un tablespace read only es que, como no se pueden modificar los datos que en él se encuentran, no hace falta hacer backup del mismo. Dependiendo de las aplicaciones que se tengan en la base de datos nos puede interesar tener tablespaces read only o no. Por ejemplo, si se tiene una

CIBERTEC

CARRERAS PROFESIONALES

152

aplicación en la que se pueden consultar cientos de fotos de animales salvajes o de paisajes, se podrá crear un tablespace en el cual se puedan introducir estas imágenes y luego ponerlo read only. Generalmente un tablespace de estas características, que sirve de almacenamiento de fotos o temas similares, suele ocupar mucho espacio, por lo que hacer un backup del mismo todos los días puede resultar muy costoso en tiempo y espacio. Además, si no se modifican nunca estas fotos no tiene mucho sentido hacer copia de seguridad del mismo, y no solo eso, podríamos incluso almacenar dicho tablespace en un CDROM en vez de ocupar espacio en disco. Para poner un tablespace en estado read only, simplemente debemos ejecutar la siguiente instrucción: alter tablespace nombre_de_tablespace read only; Como se ha indicado, en un tablespace read only solo se pueden realizar consultas de los datos, por lo tanto, si en el instante de ejecutar esta sentencia se están realizando modificaciones o inserciones o borrado de datos, el servidor espera hasta que acaben para poner el tablespace en estado read only. Para ver si ha quedado en estado read only, simplemente se ejecuta la misma select que al principio para ver la información general de los tablespaces: select tablespace_name, status from dba_tablespaces; Si por algún motivo se necesita modificar los datos que se encuentran almacenados en espace un tablespace read only, simplemente se deberá ponerlo en primer lugar en estado read write y una vez realizada la modificación, volver a ponerlo en su estado read only. La sentencia que debemos ejecutar será: alter tablespace nombre_de_tablespace read write; Se tiene un concepto que debe quedar claro. Un tablespace read only no necesita backup, y por tanto, recovery, pero, esto no hay que tomarlo al pie de la letra. Siempre hay que hacer al menos un backup. En primer lugar se crea un tablespace vacío en el que iremos metiendo poco a poco toda la información que nos interesa que, como en el caso que se ha supuesto anteriormente, pueden ser varias tablas que almacenan fotos de animales y paisajes. Cuando ya no vamos a crear nuevas imágenes es cuando se pone al tablespace en read only, pero ahí si se debe de hacer una copia de seguridad, backup, y como ya no se va a tocar nunca más este tablespace será la única. Si por algún motivo se decide poner este tablespace otra vez read write para crear o borrar datos, después de volver a ponerlo read only se deberá hacer un backup de los nuevos datos. También hay que diferenciar dos ideas. Por un lado se ha dicho que en un tablespace read only no se pueden modificar, ni insertar ni borrar datos de sus tablas. Sin embargo y, al igual que en los tablespaces offline, si se pueden borrar objetos enteros del tablespace, como por ejemplo un índice o una tabla. Tablespaces Temporales Un tablespace temporal es aquél en el que solamente puede haber objetos temporales. No se pueden crear en él objetos permanentes como pueden ser los índices, las tablas o los segmentos de rollback. Están especialmente preparados para optimizar las operaciones en las que se lleven a cabo ordenaciones. Por lo tanto está muy recomendado tener al menos un tablespace temporal en cada CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 153

base de datos. Algunas de las operaciones que implican realizar ordenaciones son, las selects que tienen group by, las que tienen order by, la creación de índices y analizar índices para calcularles las estadísticas. En todos estos casos, cuando para realizar la ordenación el servidor no encuentra espacio suficiente libre en la memoria, utiliza el tablespace temporal. Los rendimientos son muy superiores comparándolos con los tiempos que se emplearía en realizar las ordenaciones en tablespaces normales. Esto se debe a que el mecanismo que se utiliza para reservar y desreservar el espacio en los tablespaces temporales es muy distinto que en los normales ya que está orientado a objetos que crecen mucho y rápido y que a continuación disminuyen totalmente su tamaño y desaparecen. Para crear un tablespace temporal simplemente hay que añadir la palabra TEMPORARY a la instrucción utilizada para crear tablespaces normales. Siguiendo el ejemplo indicado en la creación de tablespaces, podríamos tener lo siguiente: Create tablespace prueba datafile '/users/oradata/orcl/prueba01.dbf' size 100M temporary; Para indicar a un usuario de base de datos que sus ordenaciones debe hacerlas en un determinado tablespace temporal, hay que lanzar una sentencia como la que sigue. Alter user nombre_de_usuario temporary tablespace nombre_de_tablespace; Y para conocer qué usuarios existen en nuestra base de datos y cual es el tablespace temporal que utilizan, se podrá consultar la base de datos de la siguiente manera: Select username, temporary_tablespace from dba_users; Y finalmente, si se desea conocer qué tablespaces se tiene y cuáles son temporales y cuales son permanentes, se podrá consultar la vista que da la información sobre los tablespaces, es decir, la vista dba_tablespaces; Select tablespace_name, contents from dba_tablespaces; Un tablespace permanente puede pasar a temporal y que uno temporal puede pasar a permanente. 1.2.2 Segmentos Un segmento almacena la información de una estructura lógica de Oracle dentro de un mismo Tablespace. Está formado por una o más extensiones y, a medida que va creciendo el segmento se van asignando nuevas extensiones al mismo. Hay cuatro tipos de segmentos: • Segmentos de datos: Cada segmento de datos almacena los datos correspondientes a una tabla. • Segmentos de índice: Cada segmento de índice mantiene los datos para un índice definido dentro de la base de datos.

CIBERTEC

CARRERAS PROFESIONALES

154

• •

Segmento de Rollback: un segmento de Rollback permite almacenar las acciones de una transacción que deben ser deshechas bajo ciertas circunstancias. Segmentos Temporales: Los segmentos temporales se crean cuando se requiere de un espacio temporal para procesar una instrucción de SQL, y son destruidos una vez que haya culminado el procesamiento de la instrucción.

Segmentos de datos e índices En un segmento de datos se almacenan todos los datos de una tabla que no esté particionada o que no forme parte de un cluster, de una partición de una tabla particionada o, de un cluster de tablas. Se crea el segmento de datos a la hora de ejecutar la sentencia create que crea la tabla, cluster o partición. En dicha sentencia se indican también los valores de la cláusula storage y va a determinar la forma en que dicho segmento va a ir asignando y desasignando las extensiones. En el caso de los índices, existe un segmento para cada índice no particionado o para cada partición de un índice particionado. Al igual que con las tablas, los segmentos de índices se crean al ejecutar la sentencia de creación de índices en la cual, también se pueden indicar valores para la cláusula storage y así parametrizar la forma en que se le asignarán las extensiones a medida que vaya creciendo. Segmentos temporales Cuando Oracle procesa las consultas se puede ver en la necesidad de utilizar espacio en disco para poder llevar a cabo algunas partes del parsing (análisis) y de la ejecución de la misma. Solamente utilizará este tipo de segmentos cuando no pueda realizar la consulta íntegramente en memoria o cuando no pueda buscarse un método alternativo para realizarla utilizando los índices. Hay varios tipos de sentencias en las que Oracle se ve en la obligación de utilizar los segmentos temporales:

SELECT ... ORDER BY. CREATE INDEX. SELECT ... GROUP BY. SELECT ... UNION ... SELECT DISTINCT ... SELECT INSERSEC ... SELECT MINUS ... Se puede dar el caso en el que algunas consultas en las que intervengan joins en los que no haya índices que faciliten la unión y en las que se den a la vez sentencias del tipo "group by" y "order by" o incluso "distinct", en las que no solo se requiere de un nuevo segmento temporal sino que pueden adquirirse dos segmentos para poder realizar dichas consultas. Como es natural, cuantas más operaciones se hagan en memoria mejor será el rendimiento del sistema, por lo que si en la aplicación existe un número considerable de consultas de las mencionadas anteriormente, resulta muy apropiado hacer un tunning para decidir si ampliar la zona de memoria reservada para las ordenaciones, aumentando el valor del parámetro SORT_AREA_SIZE. CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 155

En Oracle también existen las tablas temporales y los índices temporales para dichas tablas. Estos objetos tambíen utilizan segmentos temporales, pero se les asigna y desasigna de forma diferente a como se hace con las consultas, creación de índices y ordenaciones. Asignación de segmentos temporales en consultas En las consultas, los segmentos temporales se van asignando según se van necesitando y, al terminar la ejecución de la sentencia, se desasignan. Para determinar en qué tablespace se van a crear los segmentos temporales necesarios para estas consultas, a cada usuario de la base de datos, se le asigna un tablespace para dicha función. Esto se realiza con el siguiente comando: Alter user nombre_de_usuario default tablespace nombre_tablespace_temporal; Por defecto, en la creación del usuario también se le puede asignar un tablespace temporal y, si no se le indica, el sistema le asigna por defecto siempre el tablespace SYSTEM. Es muy importante que ningún esquema o usuario tenga como tablespace temporal el SYSTEM por varios motivos. En primer lugar, porque SYTEM no es un tablespace temporal y por lo tanto, no está optimizado para la gestión de los segmentos temporales, en segundo lugar, al utilizar SYSTEM como tablespace temporal, se aumenta la fragmentación de dicho tablespace por culpa de los segmentos temporales que se van creando y borrando en medio de segmentos de datos e índices con lo que disminuye drásticamente el rendimiento del tablespace principal de la base de datos, y por último, se corre el peligro de que se llene este tablespace por culpa de alguna select mal escrita y que se descontrole aumentando desproporcionadamente el tamaño del segmento temporal creado para ejecutarla. Asignación de segmentos temporales para tablas temporales El segmento requerido para una tabla temporal y para sus índices temporales se asigna en el momento de producirse la primera insert en dicha tabla. Este segmento al igual que en el caso anterior, se creará en el tablespace temporal del usuario que está creando la tabla temporal. Para conocer el tablespace por defecto de un usuario y su tablespace temporal, podemos consultar la vista dba_users. Select username, default_tablespace, temporary_tablespace from dba_users; La eliminación del segmento temporal que se ha creado se hará dependiendo del tipo de tabla temporal que se ha creado. Cuando la tabla temporal es específica para una transacción, Oracle eliminará el segmento creado al finalizar dicha transacción, y si por el contrario, la tabla es específica para la sesión, su segmento se eliminará al terminarse esta sesión. Segmentos de Rollback En cada base de datos Oracle se tiene uno o más segmentos de rollback en los que se almacena la información que ha sido cambiada por las transacciones. Estas transacciones pueden ser definitivas, es decir, se ha realizado ya el commit de ellas, o puede que aún no se haya hecho dicho commit. Este tipo especial de segmento se utiliza principalmente para poder realizar una lectura consistente de la base de datos Oracle mientras se están modificando los datos y para poder llevar a cabo las recuperaciones de la base cuando ésta cae por algún motivo.

CIBERTEC

CARRERAS PROFESIONALES

156

La información de un segmento de rollback se almacena en las llamadas entradas de rollback. En estas entradas se detalla en qué datafile estaba el dato que ha sido modificado, en qué bloque dentro de dicho datafile y también el dato viejo que se ha modificado en la transacción. Además, todas las entradas de rollback de una misma transacción están encadenadas unas con otras para que así, si se deben deshacer los cambios llevados a cabo en esa transacción, resulta más fácil de encontrarlos todos. Las vistas más importantes de las que podemos extraer información sobre los segmentos de rollback son: v$rollname, dba_rollback_segs y v$rollstat. En una base de datos Oracle, se guardan todos cambios en los bloques modificados en una estructura llamada "logs de rehacer" o "redo logs". Cuando se crea una nueva entrada de rollback en un segmento de rollback, realmente se está modificando un bloque que se encuentra en dicho segmento de rollback con la información de dicha entrada, por lo que este cambio también se almacena en los log de rehacer. Este doble almacenamiento de la información que se guarda en los segmentos de rollback y en los log de rehacer es fundamental para poder realizar un buen proceso de recuperación de la base de datos en caso de que se produzca en fallo en ella. Cuando se produce una caída de la base de datos, en el momento de la recuperación, se recupera el estado de los segmentos de rollback tanto con las transacciones que ya se habían terminado como con aquellas transacciones cuyo commit aún no se había realizado. El siguiente paso que se produce es el rollback de todas aquellas transacciones que se encuentran en los segmentos de rollback y para las cuales no se había completado el commit. Utilización de los segmentos de rollback Como se ha indicado anteriormente, los segmentos de rollback se utilizan para poder deshacer los cambios de las transacciones para las que no se ha hecho un commit y para asegurar la consistencia de lectura. Para facilitar estas tareas, Oracle guarda por cada bloque una tabla de las transacciones que en cada momento se están ejecutando en el mismo. Además, por cada transacción, por cada nuevo cambio que se realiza en los bloques de datos se crea una entrada de rollback que se encadena a las anteriores entradas de rollback asignadas a esa misma transacción de forma ordenada. Gracias a este sistema, cada vez que se desea restaurar el estado de una transacción al realizar el rollback de la misma, simplemente se debe detectar en qué bloque del segmento de rollback se está almacenando los cambios producidos por dicha transacción mirando en las tablas de transacciones de los bloques del segmento de rollback y, una vez detectado el bloque, se deben seguir una a una las entradas de rollback de la transacción que se encuentran ordenadas y encadenadas, para ir restaurando los valores antiguos en los bloques de datos de forma ordenada. De la misma manera, se utiliza para facilitar la lectura consistente ya que se detecta el valor antiguo de los bloques navegando por la cadena de las entradas de rollback de la transacción. Asignación de las transacciones a los segmentos de rollback Cada vez que comienza una nueva transacción, se asigna a un determinado segmento de dos formas diferentes: CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 157

Se asigna la transacción al siguiente segmento de rollback que se encuentre libre en ese momento de manera automática. Solamente se asigna una transacción cuando se realiza una instrucción de DDL o de DML que no sea una select. También se puede asignar una transacción a un segmento de rollback en concreto de forma manual. De esta forma, se puede asignar a un segmento de rollback grande una transacción que se conoce de antemano que modifica un gran volumen de datos. Una vez finalizada la transacción, Oracle vuelve a asignar la siguiente de manera automática al primer rollback que encuentra libre. La instrucción es la siguiente: Set transaction use rollback segment nombre_segmento_rollback; Cuando se finaliza una transaccion, Oracle libera la información de rollback aunque no la destruye, esto es para soportar la lectura consistente de consultas que han comenzado antes de que se realizara el commit. Para asegurarse que la información se encuentra en los segmentos de rollback el mayor tiempo posible para estas consutas sin borrarla, Oracle va asignando las extensiones a los segmentos de rollback de manera secuencial y, cuando se ha llenado el segmento, se reutilizan las extensiones empezando nuevamente por la primera, como si fuera un segmento circular. Un segmento de rollback puede tener asignadas solamente un número fijo de transacciones como máximo. Oracle se encarga de asignar las transacciones de una instancia de manera que todos los segmentos tengan el mismo número de transacciones aproximadamente, sin tener en cuenta el tamaño de las mismas ya que, de antemano no lo puede conocer. El número de transacciones que puede contener cada segmento de rollback depende del tamaño del bloque. Asignación de extensiones Un segmento de rollback debe tener al menos dos extensiones y cada una de sus extensiones está formada por un número determinado de bloques. A continuación se explicará cómo se organizan las transacciones en los segmentos de rollback. En un segmento de rollback pueden estar realizándose a la vez varias transacciones. Estas transacciones pueden estar escribiendo en distintas extensiones o incluso en la misma. Sin embargo, en un bloque de una extensión solamente puede contener información de una transacción, es decir, que no pueden escribir dos transacciones en el mismo bloque de la misma extensión a la vez. Además, como hemos indicado que la escritura de transacciones es secuencial, en cada momento una transacción escribe en una sola extensión. Cuando una transacción se queda sin espacio para escribir en la extensión en la que estaba, puede hacer dos cosas, bien reutilizar una extensión que ya estaba asignada al segmento o bien requerir una nueva extensión para el segmento de rollback. La primera transacción que necesita más espacio nuevo chequea la siguiente extensión del segmento de rollback, y si no contiene información de transacciones activas, la adquiere. A partir de ese momento, todas las demás transacciones que necesiten espacio utilizarán esta extensión. Si, nuevamente se llena esta extensión y alguna transacción sigue necesitando espacio libre, Oracle vuelve a comprobar si en la siguiente extensión que le toca ocupar, siguiendo el orden secuencial y circular de asignación de extensiones, no se están realizando

CIBERTEC

CARRERAS PROFESIONALES

158

transacciones activas (insistimos en la naturaleza circular de los segmentos de rollback que, una vez ocupada la última extensión, vuelve a intentar ocupar la primera como si formaran todas un anillo). Como estamos viendo, Oracle mantiene un anillo formado por las extensiones que ha ido adquiriendo este segmento de rollback y siempre intenta reusar una de las extensiones que lo forman antes que adquirir una nueva del sistema. Si en algún momento Oracle necesita utilizar una extensión y, en todas los que forman parte del anillo se están escribiendo transacciones activas, se ve obligado a adquirir una nueva extensión del sistema y a añadirla al anillo del segmento de rollback para seguir escribiendo. El número máximo de extensiones que pueden formar parte de un segmento de rollback viene determinado por un parámetro definido en el initSID.ora y que es MAXEXTENTS. Ya se ha visto cómo se asignan extensiones a un segmento de rollback, pero ¿cómo se van desasignando? Al borrar un segmento de rollback, todas las extensiones que tenía asignadas el segmento se devuelven al tablespace y pueden ser utilizadas por el resto de objetos que pertenecen al tablespace. Existe otra manera de devolver el espacio utilizado por un segmento sin tener que eliminarlo. A la hora de crear un segmento de rollback se puede indicar un valor en el parámetro OPTIMAL de la cláusula storage que representa el tamaño óptimo de dicho segmento en bytes. Cada vez que Oracle necesita una nueva extensión para el segmento de rollback, compara el tamaño que tiene dicho segmento con el valor del parámetro optimal y, si lo ha sobrepasado, irá devolviendo al tablespace las extensiones más antiguas que se va encontrando en las que ya no quedan transacciones activas ya que, son las que menor probabilidad tienen de tener datos necesarios para mantener la consistencia de lectura. Si puede, liberará tantas extensiones como para quedarse con un tamaño aproximado al indicado en optimal pero siempre por encima. El valor del parámetro óptimal nuca podrá ser menor que el espacio necesario para la creación del segmento, en el que participan el parámetro initial_extent, next_extent, y min_extents (recordemos que pct_increase no tiene sentido en los segmentos de rollback, todas las extensiones deben ser iguales). Para consultar los valores de estos parámetros se podrá utilizar la vista dba_rollback_segs de la siguiente forma: Select segment_name, initial_extent, next_extent, min_extents, max_extents from dba_rollack_segs; Y para conocer si nuestros rollback segments tiene asignado un tamaño óptimo: Select name, optsize from v$rollname, v$rollstat where v$rollname.usn = v$rollstat.usn order by 1; Estados de un segmento de rollback Un segmento de rollback puede encontrarse en un determinado estado dependiendo de cada momento. Los estados en los que puede encontrarse son: • •

OFFLINE: No ha sido adquirido por ninguna instancia de la base de datos. ONLINE: Ha sido adquirido por alguna de las instancias y puede contener datos de transacciones activas.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 159

• • •

NEEDS RECOVERY: Contiene datos de transacciones que no se pueden hacer rollback porque sus datafiles están inaccesibles o corruptos. PARTLY AVAILABLE: Contiene información de una transacción "en duda" que son transacciones en entornos de base de datos distribuidas de las que aún no se ha recibido respuesta. INVALID: Ha sido borrado.

Esta información se puede obtener de la vista dba_rollback_segs. Las causas por las que un segmento puede pasar de un estado a otro son las siguientes: Estado Inicial

Estado Final

Online

Offline

Offline

Online

Offline

Invalid Partly Available

Se pone el segmento de rollback offline con la instrucción alter rollback segment nombre_segmento offline. Se pone el segmento de rollback online con la instrucción alter rollback segment nombre_segmento online. Al borrar el segmento de rollback Cuando falla la red y hace que una transacción distribuida quede "en duda".

Online

Se resuelve la transacción "en duda".

Offline

No se resuelve la transacción "en duda".

Needs Recovery Needs Recovery

Cuando un fallo del medio hace inaccesible la transacción "en duda". Cuando un fallo del medio hace inaccesibles los datafiles o cuando el segmento está corrupto. Si se soluciona satisfactoriamente la recuperación del medio.

Online Partly Available Partly Available Partly Available Online Needs Recovery Needs Recovery

Offline Invalid

Motivo

Si se borra el segmento de rollback

Los estados de Partly Available y Needs Recovery son prácticamente iguales. En ambos el segmento contiene información de transacciones que no han sido resueltas. En un estado Partly Available, las transcciones distribuidas no han sido resueltas por culpa de un fallo en la red mientras que en el estado de Needs Recovery, las transacciones no han sido resueltas por un fallo del medio o por estar corrupto el propio segmento. Una diferencia entre ambos estados es que un administrador o el propio Oracle puede poner un segmento Partly Available en estado Online, mientras que un segmento que necesita Recovery, primero debe pasar a estado Offline y luego Online. Además, un segmento en estado Needs Recovery puede ser borrado por el administrado para eliminarlo si estaba corrupto, sin embargo, no se puede borrar un segmento Partly available, primero se debe resolver la transacción en duda. 1.2.3. Extents Una extensión es una unidad lógica de almacenamiento que está formada por un número determinado de bloques de datos contiguos. La agrupación de una o varias extensiones forman un segmento que puede ser una tabla, un índice, un

CIBERTEC

CARRERAS PROFESIONALES

160

segmento de rollback o un segmento temporal. Por lo tanto, datos de una tabla, sabemos que están en un solo segmento de tipo tabla, que a su vez estará formado por una o varias extensiones y que, cada una de esas extensiones está formada por un número determinado de bloques de datos. Cuando se crea un segmento nuevo, es decir, una tabla, un índice o un segmento de rollback, se crea obligatoriamente una extensión en dicho segmento (en el caso de los rollback se crean dos). El tamaño de esta extensión inicial viene dado por el valor parámetro "initial" que se indica en el momento de crear el segmento. La razón principal de esta estructura es la de minimizar el espacio desperdiciado (vacío) de un tablespace. A medida que se insertan o eliminan filas de una tabla, los extents del tablespace asociado a la tabla pueden aumentar o disminuir de tamaño. De esta forma el espacio para el almacenamiento de los datos puede ser administrado dependiendo de cómo la tabla va sufriendo modificaciones en el número de filas. Cuando se crea un tablespace se puede especificar el número mínimo de extents a ser asignados, así como el número de extents a ser agregados cada vez que se agote el espacio disponible para almacenar datos. Asignación de Extensiones Al crear o, mejor dicho, asignar una nueva extensión al segmento, se está reservando espacio en el disco para almacenar los nuevos datos de dicho segmento. Por lo tanto, al crear la nueva extensión está totalmente vacía y todo su espacio está disponible para almacenar los datos del segmento y, además, en el disco debe haber espacio libre para que Oracle reserve todo el tamaño que necesita la extensión, y lo formatea de forma especial para poder utilizarlo. A partir de ese momento, en esa extensión solamente se podrán almacenar datos del segmento al que pertenece. Cuando se llenan todos los bloques de datos de una extensión, el segmento solicita una nueva extensión al sistema para poder seguir almacenando información. Determinación del número de extensiones y el tamaño de un segmento Para establecer el tamaño de las futuras extensiones que irá solicitando un segmento se utilizan varios parámetros a los que hay que dar valor en el momento de la creación de la tabla, índice o segmento de rollback. Estos parámetros se indican en la claúsula STORAGE de la sentencia que crea el segmento y son los siguientes: Initial: Indica el tamaño en bytes de la primera extensión que tendrá el segmento. Se puede indicar después del valor una "K" o "M" para que el valor sea interpretado como Kilobytes o Megabytes en lugar de bytes. Si no se pone explícitamente este parámetro en la creación del segmento, se hereda por defecto el valor que tenga este parámetro en el tablespace en el que se está creando el segmento y que, si no se ha indicado tampoco, por defecto son 5 bytes. Cuando se crea una extensión oracle redondea el tamaño indicado al siguiente múltiplo superior a 5 bloques de datos. Por lo tanto, si nuestros bloques son de 8192 bytes y creamos un segmento con un inital de 256Kbytes, realmente estamos creando un segmento de 32 bloques y oracle lo redondea a 35 bloques que es el primer

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 161

múltiplo superior a 5 de 32. Por lo tanto, nuestra initial extent será de 35 * 8192 = 280 Kbytes. Para comprobar estos datos se puede consultar la tabla dba_segments en la que tenemos un registro por cada segmento distinto: Select segment_name, initial_extent, next_extent, pct_increase, min_extent, max_extent from dba_segments; También se puede consultar la vista dba_extents que es un detalle de dba_segments ya que aquí se detalla por cada segmento todas sus extensiones, con su tamaño en concreto. Select segment_name, extent_id, blocks, bytes from dba_extents; Next: Indica el tamaño que tendrá la próxima extensión que se cree cuando no quede más sitio en las extensiones que ya tiene asignadas el segmento. De igual manera que en el caso del parámetro initial, Oracle redondea a un múltiplo de 5 bloques este valor, a la hora de crear la extensión nueva. Cada vez que se crea una nueva extensión, se recalcula el valor de este parámetro en función del valor de pctincrease y se actualiza la vista dba_segments. Pctincrease: En el momento que se asigna una nueva extensión al segmento, se recalcula el valor que va a tener la próxima que se le asigne y que será, el tamaño de la extensión recién creada (el next que tenía el segmento) aumentado en el porcentaje indicado por pctincrease. Por lo tanto, si queremos que todas las extensiones de nuestro segmento tengan el mismo tamaño, habrá que asignarles el pctincrease a 0. Oracle recomienda establecer por norma el pctincrease a 0 para evitar que se descontrolen los tamaños de los segmentos, especialmente los temporales, aunque, curiosamente, su valor por defecto es de 50%. No se puede modificar el pctincrease de los segmentos de rollback que es siempre 0. Por ejemplo: tenemos un segmento que en el campo next_extent tiene como valor 262144 y en pct_increase tiene 50 y los bloques son de 8192 bytes. Cuando crezca el segmento y solicite una nueva extensión, ésta se creará del tamaño indicado en next_extent redondeándola al primer múltiplo de 5 bloques superior o igual a dicho valor. En nuestro caso 262144 son 32 bloques así que creará una extensión de 35 que son 286720 bytes. Además, recalcula el valor del siguiente next_extent aumentando en un 50% el valor del antiguo next_extent, es decir 262144 * 1,5 = 393216 bytes. Nota: el recálculo del siguiente extent (393216) se basa en el valor del anterior next_extent (262144) y no en el valor de la extensión creada al redondear a un múltiplo de 5 bloques (286720), ya que si no, nos habría salido un next_extent de 286720 * 1,5 = 430080. Por lo tanto, al consultar las tabla dba_segments veremos que next_extent es 393216 es decir 48 bloques, aunque, eso si, si se vuelve a llenar esta extensión, se creará realmente una extensión de 50 bloques que son los 430080 bytes. Minextents: Se indica el número de extensiones que se deben reservar a la vez para un determinado segmento en el momento de su creación. Por defecto es una excepto en los segmentos de rollback que son dos. Puede que las extensiones no estén

CIBERTEC

CARRERAS PROFESIONALES

162

contiguas. Por supuesto, si en la cláusula storage en la creación del objeto se indican valores para next y pctincrease, las extensiones iniciales que se crean se recalculan para cumplir lo indicado en estos parámetros. Por ejemplo, creamos un segmento con minextents = 4, con un initial de 262144, next de también 262144, bytes y con un pctincrease del 50%, el resultado será la creación de 4 extensiones de tamaños, 286720, 286720, 409600, 614400 y de un next extent de 884736. Estos tamaños vienen de redondear 32, 48 y 72 a múltiplos de 5 y el next extent es 108 bloques que es el 50% de 72 bloques. Maxextents: Es el número máximo de extensiones que se pueden crear en ese objeto, contando también la primera. Se puede especificar UNLIMITED con lo que pueden crecer indefinidamente. No se recomienda que a los segmentos de rollback se les asigne unlimited maxextents ya que con operaciones complejas podrían aumentar excesivamente de tamaño y llenarían el disco. Así que hay que tener cuidado a la hora de crear rollback segments, sobretodo porque heredan por defecto el valor del parámetro que tenga asignado el tablespace en el que se crean. Por ejemplo, la creación de una tabla en la que se indican valores para los parámetros de la cláusula storage. Si tenemos una tabla llamada empleado que contiene un solo campo, nombre, con un initial extent de 256 Kilobytes, con 512 Kilobytes de next extent, un pctincrease de 50, con 3 extensiones iniciales y con un máximo de 10 extensiones: create table empleado (nombre varchar2(50)) storage (initial 256K next 512K pctincrease 50 minextents 3 maxextents 10) Si consultamos la vista dba_extents nos mostrará que ha creado las 3 extensiones que le hemos indicado con los siguientes valores: Select extent_id, bytes, blocks from dba_extents where segment_name = 'EMPLEADO' order by extent_id; 0 1 2

286720 532480 819200

35 65 100

Y, al consultar la vista dba_segments o incluso la vista user_tables para este segmento en concreto, observamos el valor de next_extent: Select next_extent from user_extents where segment_name = 'EMPLEADO'; 1179648 que es el resultado de 512K * 1,5 * 1,5. Cuando Oracle necesita asignar una nueva extensión a un segmento realiza el siguiente proceso para buscar bloques de datos contiguos en igual número o superior al solicitado por la extensión: •

En primer lugar, busca un conjunto de bloques contiguos igual al solicitado por la extensión más uno, para evitar la fragmentación (excepto cuando la extensión es de 5 o menos bloques). Por lo tanto, si la extensión nueva es de 29 bloques oracle buscará un conjunto de justo 30 bloques libres consecutivos.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 163





Si no encuentra ningún conjunto de exactamente ese número de bloques, empieza a buscar un conjunto de más bloques contiguos. Si el primer conjunto que encuentra tiene más de 5 bloques que los que busca, se queda solamente con los que busca, mientras que si la diferencia es de menos de 5 bloques, se coge todo el conjunto. Por lo tanto, en nuestro caso, si el primer conjunto que encuentra fuera de 35 o más bloques, cogería solo los 30 primeros, mientras que si encuentra un conjunto de entre 31 y 34 se lo quedaría entero.

Nota: En este paso se puede comprobar que, aunque a un segmento le asignemos pctincrease 0, puede que luego nos encontremos en dba_extents algun extensión algo más grande que otras del mismo segmento. Cuando no encuentra ningún conjunto de bloques de tamaño superior al que busca, realiza un coalesce del tablespace, que es un proceso mediante el cual se unen los distintos bloques que han ido quedándose fragmentados en el tablespace al irse creando y eliminando extensiones mediante este proceso. Una vez hecho el coalesce, Oracle vuelve a repetir los pasos anteriores. Si, finalmente no encuentra ningún conjunto de bloques para crear la nueva extensión, intenta aumentar el tamaño de alguno de los datafiles del tablespace. Esto solamente lo conseguirá si tienen activado el autoexpand. En caso de no conseguirlo, devolverá un error. Desasignación de Extensiones Las extensiones que han sido reservadas por un segmento no son devueltas a Oracle para que se las pueda signar a otro segmento del mismo tablespace hasta que se elimina el objeto mediante la instrucción DROP. Por lo tanto, cuando tenemos una tabla que nos ocupa varias extensiones, a pesar de que borremos todas sus filas, esa tabla seguirá teniendo reservadas las extensiones aunque eso si, estarán vacías. Existen algunas excepciones. Se pueden devolver todas las extensiones de una tabla excepto las min_extents haciendo un truncate de la misma. Hay que ser muy cuidadoso con esta instrucción ya que se eliminan todos los datos de la tabla y, no hay rollback posible. En los segmentos de rollback, si tienen puesto el parámetro optimal, oracle periódicamente puede desasignarle las extensiones que no usa hasta que vuelve a tener el tamaño óptimo. Finalmente, existe una sentencia que también desasigna las extensiones que no se usan en una tabla: Alter table nombre_de_table deallocate unused; En cuanto se ha desasignado una extensión del segmento al que pertenecía, Oracle ya la puede volver a reclamar para que la puedan utilizar otros segmentos del mismo tablespace. Por lo tanto, cuando un nuevo objeto solicite una nueva extensión, si Oracle no encuentra espacio libre suficiente para crear una nueva, y entre las que ha ido desasignando tampoco encuentra ninguna suficientemente grande como para asignarla, puede unir varias de estas extensiones hasta conseguir una lo suficientemente grande como para poder asignársela al segmento. A esta operación se le llama COALESCE de extensiones. 1.2.4. Bloques de Datos

CIBERTEC

CARRERAS PROFESIONALES

164

Una base de datos se encuentra almacenada en bloques de datos que es el nivel mas fino de unidades de almacenamiento. El tamaño de un bloque de datos siempre corresponde a un múltiplo del tamaño de bloque manejado por el sistema de operación. El tamaño del bloque de datos es un valor configurable en el DBMS. Oracle almacena la información en unidades lógicas que son los segmentos, las extensiones y los bloques. Estas tres unidades están relacionadas entre sí. Un segmento está formado por una o varias extensiones y cada extensión está formado por varios bloques. Un bloque es la unidad mínima de almacenamiento de información de Oracle. A los bloques también se les conoce como "bloques de datos", "bloques lógicos" o "bloques oracle". Cada uno de estos bloques está formado por un número determinado de bloques del sistema operativo. A la hora de crear una nueva base de datos se debe indicar cuántos bloques de sistema operativo formarán un bloque de datos o bloque oracle. Es muy importante decidir bien este valor de antemano ya que una vez creada la base de datos ya no se puede modificar más que en migraciones a versiones más actuales del producto. Un bloque de datos es la mínima unidad de Lectura / Escritura en una base de datos Oracle, es decir, Oracle no lee y escribe en bloques del sistema operativo sino que lo hace en unidades lógicas que son los bloques de datos y que varían de una base de datos a otra en la misma máquina ya que es un valor que se debe indicar en la creación de cada base de datos Oracle. Oracle recomienda que el tamaño de un bloque de datos o, data block, sea siempre un múltiplo del bloque de datos del sistema operativo. 1.2.4.1. Estructura de un bloque: Los bloques de base de datos, pueden contener información de tablas, índices o segmentos de rollback, pero no importa qué información contengan, siempre tienen la misma estructura. Todo bloque de datos o, data block, está dividido en una cabecera, en un directorio de tablas que utilizan dicho bloque, en un directorio de las filas que se encuentran almacenadas en ese bloque, de espacio aún libre y de las filas de datos de las tablas, índices o segmentos de rollback. Al espacio ocupado por la cabecera más el directorio de tablas y más el directorio de filas se le llama overhead ya que es un espacio del bloque que realmente no se rellena con datos sino que está ocupado por la información que necesita Oracle para saber exactamente qué datos tiene en dicho bloque.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 165

1.2.4.2. Cabecera: Contiene información general sobre el bloque como el tipo de segmento al que pertenece (índice, tabla, rollback) o la dirección del bloque. 1.2.4.3. Directorio de Tablas: Contiene información acerca de las tablas que tienen datos en el bloque. 1.2.4.4. Directorio de Filas: Contiene información sobre las filas que se encuentran en cada momento en el bloque. Esta información incluye la dirección de la fila dentro de la subzona "Datos de Filas" del bloque en la que debe buscar Oracle los datos. El espacio ocupado por esta subzona va aumentando a medida que se insertan nuevas filas en el bloque, sin embargo nunca se libera el espacio. Si se borran filas de datos que estaban en el bloque, en el directorio de filas desaparecerá la entrada que apuntaba a ellas, pero el espacio permanecerá reservado aunque vacío. A medida que se insertan nuevas filas de datos en el bloque, también se insertan registros en el Directorio de Filas, pero antes de aumentar el tamaño de esta subzona para la nueva entrada, se comprueba si alguna de las entradas que hay está vacía y en ese caso se "ocupa" y no hace falta que crezca más la subzona. 1.2.4.5. Espacio Libre: Esta subzona está reservada para la inserción de nuevas filas en el bloque o, para la modificación de campos que requieren más espacio que el que tenían con anterioridad. Esto último ocurre, por ejemplo, con los campos que son de tipo varchar2. Si en un campo de una tabla tenemos un varchar2 de 30 caracteres para almacenar el nombre del empleado, si insertamos un registro con el nombre de 'Jesus', solo ocupa 5 bytes y si posteriormente se modifica para poner 'Jesus Maria', se necesitarán 6 bytes más para almacenarlo. Si en el bloque se están almacenando datos de segmentos de tipo tabla o índice, en la subzona de Espacio Libre también se utiliza para llevar un registro de las transacciones que en cada momento acceden a datos del bloque. Se necesita una entrada de transacción siempre que se realice una insert, update, delete o select for update sobre filas del bloque. El tamaño necesario para cada una de las entradas de transacciones depende del sistema operativo. 1.2.4.6 Datos de Filas: En esta subzona se almacenan los datos de las tablas o de los índices del bloque. Se puede dar el caso de que una fila no entre completa en el bloque y tenga que ocupar más de un bloque. Este caso especial se comentará más a fondo en el apartado de encadenamiento y migración de filas.

CIBERTEC

CARRERAS PROFESIONALES

166

1.2.4.7. Pctfree: Este parámetro se utiliza para modificar el comportamiento de Oracle a la hora de insertar y modificar filas dentro de un bloque de datos o data block, se asigna a la hora de crear la tabla o índice. También se puede modificar posteiormente el valor del pctfree alterando la tabla o el índice. Este parámetro indica el porcentaje mínimo que se debe dejar libre para modificaciones de los datos de las filas que ya existen dentro del bloque. Hay que tener en cuenta que el espacio de un bloque no está compuesto solamente por los datos, sino que también hay un overhead, por lo que si se asigna a un segmento de tipo tabla un pctfree de 20, no estamos dejando para insercciones el 80% sino el 80% menos lo que ocupe el overhead del bloque. El concepto de pctfree se entiende mejor con un ejemplo. Si a una tabla le asignamos un pctfree de 20, le estamos diciendo que se pueden insertar filas en el hasta que quede libre en dicho bloque solamente el 20 por ciento. A partir de ese instante, todas las filas nuevas que se creen se crearán en otros bloques ya que en este ya no queda sitio para más. Entonces, ¿qué ocurre con este 20%?. Pues muy sencillo, se utiliza para las modificaciones de las filas que ya están en el bloque. Cuando se modifica una fila y se aumenta el contenido de un campo, por ejemplo, el campo "nombre" tenía el valor 'Jesus' y ahora pasa a tener el valor 'Jesus Maria', Oracle echa mano del espacio libre dentro del bloque para poder realizar esta operación. Por lo tanto, este espacio podría incluso llenarse lo cual, en caso de seguir haciendo modificaciones de este estilo, podría generarnos filas migradas, como se explica más adelante. Sin embargo, el espacio libre en un bloque también puede aumentar, bien borrando filas o bien haciendo updates que disminuyan el valor de los campos de las filas que existen en dicho bloque. Cuando se hace espacio libre suficiente en el bloque se permite otra vez la insercción de registros en el mismo. El concepto de "espacio libre suficiente" para volver a permitir inserciones en el bloque es lo que se define con el parámetro pctused. 1.2.4.8. Pctused: El concepto de pctused está directamente relacionado con pctfree. Supongamos que se crea un segmento (tabla o índice) y se le asigna un pcfree de 20, por lo que todos sus bloques tendrán dicho pctfree. Como ya hemos explicado, esto quiere decir que podremos insertar filas o registros en uno de sus bloques hasta que se llene al 80 por ciento. A partir de ese momento ya no se pueden insertar nuevos registros hasta que se libere espacio en el bloque, o sea, hasta que vuelva a aumentar el espacio libre. Para que aumente el espacio libre en un bloque de se debe borrar las filas que están en él o bien modificando campos de esas filas disminuyendo el tamaño de los valores que en ellas están guardados. El espacio libre que tiene que haber para poder volver a insertar nuevas filas nos lo indica el parámetro pctused. Así, si a un bloque le hemos asignado un pctused de 40, lo que conseguimos es que en un bloque no se puedan insertar nuevos registros (después de haberse llenado hasta dejar solamente el pctincrease de espacio libre) hasta que el espacio ocupado por las filas en dicho bloque no baje por debajo de 40, es decir, que el pctused nos indica el límite mínimo por debajo del cual debe bajar el espacio ocupado dentro del bloque antes de volver a estar CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 167

disponible para aceptar nuevas filas, nuevas inserciones. Hay que resaltar que en los bloques de los segmentos de tipo índice, no tiene utilidad el parámetro pctused debido a la finalidad de los mismos y a su estructura interna en forma de árbol binario. Para consultar el valor tanto del parámetro pctfree como del parámetro pctused de cada segmento de tipo tabla o de tipo índice, podemos leer las vistas dba_tables y dba_indexes del usuario SYS. Select owner, table_name, pct_free, pct_used from dba_tables; Select owner, index_name, pct_free from dba_indexes; Para modificar el valor de los parámetros de una tabla o de un índice se pueden utilizar las siguientes sentencias: Alter table nombre_de_tabla pctfree nuevo_pct_free; Alter table nombre_de_tabla pctused nuevo_pct_used; Alter index nombre_de_indice pctfree nuevo_pct_free; 1.2.4.9. Encadenamiento y Migración de Filas: Existen dos circunstancias diferentes por las cuales puede ocurrir que los datos de una fila recién insertada no tengan espacio suficiente dentro del bloque. Hay que intentar por todos los medios evitar que esto se produzca para que no caiga el rendimiento del sistema ya que cuando hay encadenamiento o migracion de filas, los datos de una fila se dispersan por varios bloques, con lo que para obtener esos datos o para modificarlos Oracle debe recorrer varios bloques que, posiblemente, no estén contiguos. 1.2.4.10. Encadenamiento de filas: El encadenamiento o chained rows, se da cuando los datos de una fila ocupan tanto espacio que no caben físicamente en un solo bloque y Oracle debe guardarlos en dos o más bloques de los reservados para ese segmento. Esto suele ocurrir generalmente cuando se utilizan columnas de tipo long o long raw que pueden almacenar grandes cantidades de espacio, por lo que no caben en un solo bloque. 1.2.4.11. Migración de filas: Este otro caso se da cuando modificamos los datos de una fila de un bloque, aumentándolos de tamaño, es decir, como en le ejemplo anterior, si teníamos un campo varchar2(30) con el valor 'Jesus' solo ocupaba 5 bytes y si lo modificamos para que contenga 'Jesus Maria' necesita 11 bytes. En este caso, si en la subzona en la que tenemos el espacio libre del bloque no disponemos de espacio suficiente, Oracle mueve o mejor dicho, migra toda la fila a un nuevo bloque en el que si que haya espacio para toda la fila. Sin embargo, para no tener que cambiarle a dicha fila el rowid, es decir, el identificador único de la fila, lo que se hace es dejar en el bloque inicial una información mínima de la fila, que será simplemente un puntero hacia la dirección del nuevo bloque en el que se ha reubicado toda esta fila.

CIBERTEC

CARRERAS PROFESIONALES

168

1.3 RELACIONES ENTRE LAS ESTRUCTURAS DE ALMACENAMIENTO La siguiente figura muestra conceptualmente las relaciones existentes entre las estructuras de almacenamiento lógico y físico de ORACLE:

• • • • • • • • • • • • • • • • • •

La base de datos puede tener varias instancias La base de datos esta formada de tablespaces Un tablespace esta compuesto de segmentos El tablespace tiene asociado datafiles El segmento esta compuesto de extents El extent esta formado de bloques oracle El bloque oracle esta compuesto de bloques del sistema Una instancia le pertenece a una base de datos EL tablespace le pertenece a una base de datos El datafile le pertenece a un tablespace El segmento le pertenece a un tablespace Una tabla puede pertenecer a varios tablespaces, cuando son tablas particionadas. El extent le pertenecen a un segmento El bloque oracle esta asociado a un extent El datafile esta compuesto de extents El extent le pertenece a un datafile Los datafiles estan compuestos de bloques del sistema Los bloques del sistema le pertenecen a un datafile

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 169

1.4 INFORMACIÓN DEL DICCIONARIO DE DATOS Entre las vistas principales, donde vemos la estructura y jerarquía de almacenamiento, tenemos: • DBA_TABLESPACE • DBA_DATA_FILES • DBA_SEGMENTS • DBA_EXTENTS

Resumen



Los datos físicamente en Oracle se almacenan en bloques. Existe toda una organización jerárquica de almacenamiento, el cual permite entender cómo funcionan los objetos dentro de una Base de Datos Oracle.



La estructura física de una Base de Datos Oracle está conformada por: Datafiles y los Bloques de Sistema de Operación.



La estructura lógica de una Base de Datos Oracle está conformada por: Instancia, Bse de Datos, Tablespace, Segmento, Extent y Bloque de Datos.



Las principales vistas a consultar para conocer la estructura y jerarquía de almacenanmiento son: DBA_TABLESPACE, DBA_DATA_FILES, DBA_SEGMENTS y DBA_EXTENS.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas. 

http://www.4shared.com/file/30801793/c61e9ce8/Oca_Oracle_10G_Administrati on_I_St Contiene la descarga en formato pdf del libro OCA: Oracle 10g Administration I Study Guide (1Z0-042), cuyos autores son DAWES, CHIP; BRYLA, BOB; JOHNSON, JOSEPH Y WEISHAN, MATHEW. Publicado por SYBEX en el año 2005.

CIBERTEC

CARRERAS PROFESIONALES

170

unidad de aprendizaje

4 semana

12

APLICATIVOS, SERVIDORES Y SEGURIDAD LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno utilizará diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificación de las causas de un problema; asimismo, presentará las mejores alternativas de solución.

TEMARIO •

Servidor Asterisk: Arquitectura



Servidor Asterisk: Implementación



Seguridad: Respuestas y mejores prácticas ante incidentes de seguridad

ACTIVIDADES PROPUESTAS • • •

Instalación de un servidor Asterisk Creación de anexos por software en Asterisk. Realizar un ataque de Ingeniería Social.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 171

1. SERVIDOR ASTERISK: ARQUITECTURA 1.1 ¿QUE ES ASTERISK? El Asterisk es un software completo en PBX, actúa en el Linux y provee todas las configuraciones que esperas de un PBX y mas. Asterisk hace VoIP en tres protocolos y puede interoperar con equipos de telefonía estándar básicas usando un hardware relativamente sin costo. Asterisk provee servicios de voicemail con directorios, conferencias, respuesta de voz interactivo IVR, llamadas en espera. Tiene el soporte de tres tipos de formas de llamadas: servicios de llamada con identificación, ADSI, SIP y H323. Asterisk no necesita ningún hardware adicional para el VoIP. Para interconectarse con algún tipo de telefonía digital o análoga, Asterisk también apoya a un numero de hardware, el mas notables de los hardware manufacturado por el sponsor Asterisk es DIGIUM™. DIGIUM, tiene un único palmo rectangular T1 y un interfaz E1 para la interconexión con líneas PRI y bancos de canal así como también tarjetas de puertos individuales FXO y un puerto modular FXS y una tarjeta FXO. Asterisk apoya una amplia gama de protocolos TMD para el manejo y transmisión de interfaces de telefonía tradicional. Asterisk apoya al tipo de señalización standart americano y europeo en asuntos de sistemas de telefonía , permitiendo ser un nexo entre las redes integradas de datos de voz de siguiente generación y la infraestructura existente. Asterisk no solo apoya a los equipos de telefonía tradicionales sino que también los habilita con capacidades adicionales. Usando el Inter-Asterisk eXchange (IAX™), que es un protocolo VoIP, las funciones de voz y trafico de red, emergen a través de redes separadas. Mientras se usa el paquete de voz, es posible enviar datos como información URL e imágenes en línea con tráfico de voces permitiendo la integración de información avanzada. Asterisk provee una base central de conmutación, con 4 APIs para la carga modular de los usos de telefonía, interfaces del hardware, dirección del formato del archivo y Codecs, permite la conmutación transparente de todas las interfaces soportadas, permitiendo que enlacen una diversidad de mixturas de sistemas de telefonía en una sola red. Asterisk fue originalmente escrito por Mark Spencer de DIGIUM, Inc. Los códigos fueron la contribución de algunas fuentes abiertas de todo el mundo y probando algunos bug-patches de la comunidad, que ha provisto invaluable ayuda para el desarrollo de este software Asterisk esta creciendo rápidamente con nuevas características implementadas al árbol CVS. MARK SPENCER y numerosos contribuidores de todo el mundo y probando bug patches de la comunidad que ha invaluable ayuda para el desarrollo de este software

CIBERTEC

CARRERAS PROFESIONALES

172

1.2 ARQUITECTURA DE ASTERISK Asterisk esta cuidadosamente desarrollado para máxima flexibilidad. APIs específicos son definidos en un sistema central PBX. Este centro avanzado maneja interconexión interna del PBX, abstraídos limpiamente por protocolos específicos, Codecs, e interfaces de hardware de aplicaciones de telefonía. Esto le permite al Asterisk utilizar cualquier hardware conveniente y tecnología disponible, ahora ó en el futuro para realizar sus funciones esenciales, conectando hardware y aplicaciones. •

PBX SWITCHING: La esencia del Asterisk, por supuesto es un sistema de conmutación de intercambio de rama privada (PXB), conectando llamadas entre varios usuarios y tareas automatizadas. La base de conmutación conecta a los usuarios llegando a varios software y hardware de interface.



LANZADOR DE APLICACIONES: Lanza aplicaciones que mejoran servicios para usos tales como, voicemail, file playback y lista de directorio.



TRADUCTOR DE CODECS: usa módulos de Codecs para codificar y decodificar varios formatos de comprensión de audio usados en la industria de la telefonía. Un gran numero de Codecs están disponibles para satisfacer necesidades y llegar al mejor balance entre la calidad del audio.



ORGANIZADOR Y MANEJADOR: Maneja la organización de tareas de bajo nivel y sistemas de manejo para un optimo performance bajo cualquier condición de carga.

Módulos cargables APIS: Cuatro APIs están definidos por módulos cargables, facilitando el hardware y la abstracción del protocolo. Usando este sistema APIs, la base del Asterisk no tiene que preocuparse de detalles como por ejemplo: que llamada esta entrando o que Codecs esta usando actualmente, etc El Asterisk maneja estos artículos internamente: Módulos Cargables APIS: •

CANAL API: El canal API maneja el tipo de conexión al cual el cliente esta llegando, sea una conexión VoIP, ISDN, PRI, o alguna otro tipo de tecnología. Módulos dinámicos son cargados para manejar los detalles más bajos de la capa de estas conexiones.



• APLICACIÓN API: Esta aplicación permite a varios módulos de tareas cumplir varias funciones , conferencias, paging, lista de directorios, voice mail en la línea de transmisión de datos , y cualquier otra tarea la cual PBX sea capas de cumplir ahora o en el futuro son manejados por estos módulos.



• TRADUCTOR DEL CODEC API: Cargar módulos codecs para apoyar varios tipos de audio, codificando y decodificando formatos tales como GMS, mu law, a law, e incluso mp3.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 173



• FORMATO DE ARCHIVO API : Maneja la lectura y escritura de varios formatos de archivos para el almacenaje de datos en el sistema de archivos.

Usando estos APIs Asterisk alcanza una completa abstracción entre sus funciones básicas como un servidor de sistema PBX y la variedad tecnológica existente (o en desarrollo) en el área de la telefonía. La formula modular es lo que le permite al Asterisk integrar hardware de telefonía implementados y tecnología de paquetes de voz emergentes hoy en día. La aplicación API provee el flexible uso de aplicaciones modulares para realizar cualquier acción flexible en demanda, también permite un desarrollo abierto de nuevas aplicaciones para satisfacer necesidades o situaciones únicas. En conclusión, cargar todo el uso como módulos permite un sistema flexible, permitiéndole al administrador diseñar la mejor trayectoria para los usuarios en el sistema PBX y también modificar la trayectoria de llamadas para satisfacer las cambiantes necesidades de la comunicación que nos concierne.

1.3 CARACTERÍSTICAS DE ASTERISK El Asterisk basado en soluciones de telefonía ofrece un variado y flexible set de características (o menú). Asterisk ofrece funcionalidades básicas PBX y características más avanzadas así como también ínter opera con sistemas básicos de telefonía standart y sistemas VoIP. Asterisk ofrece también características como voicemail, conferencias, llamadas en espera y grabado de llamadas. Características de las llamadas: •

ADSI en el menú de pantalla



Receptor de alarma



Añade mensajes



Asistente automatizado



Autentificación



Listas negras



Transfer oculto



Grabado de llamadas detallado



Llamada en ocupado



Llamada entrante en no responder



Llamada entrante variable

CIBERTEC

CARRERAS PROFESIONALES

174



Monitoreo de llamadas



Estacionamiento de llamadas



Llamadas en espera



Grabación de llamadas



Recuperación de llamadas



Guía de llamadas (DID y ANI)



Call snooping



Transferencia de llamadas



Llamadas en espera



Identificación de usuarios



Bloque de identificaron de usuarios



Identificación de usuarios en llamadas de espera



Tarjetas de llamadas



Conferencias



Recuperación de base de datos almacenados



Integración de base de datos



Dial por nombre



Acceso directo al sistema interno



Anillo distintivo



No molestar



e911



ENUM



Fax transmitidos y recibidos



Lógica flexible de la extensión



Lista de directorio interactivo



Respuesta de voz interactivo

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 175



Agentes de llamada local y lejana



Macros



Creación de música



Transferencia de música •

Sistema básico de mp3



Juegos al azar o en línea



Control de volumen



Privacidad



Establecimiento de protocolo abierto (OSP)



Paginación arriba



Conversión de protocolo



Recepción de llamadas lejanas



Apoyo a oficinas de lejos



Extensiones roaming



Mensajes SMS



Acceso a los medios afluyentes



Transfer supervisado



Detección de conversaciones



Del texto a la conversación (vía festival)



3 formas de llamadas



Hora y fecha



Transcodificacion



Trunking



Entradas al VoIP



Voicemail

CIBERTEC

CARRERAS PROFESIONALES

176





Indicador visual para los mensajes en espera



Voicemails a emails



Grupos de voicemail



Interfaces de web voicemail

Zapateller

Resumen



Asterisk es un software completo en PBX, actúa en el Linux y provee todas las configuraciones que esperas de un PBX y mas. Asterisk hace VoIP en tres protocolos y puede interoperar con equipos de telefonía estándar básicas usando un hardware relativamente sin costo.



La arquitectura Asterisk está compuesta por: PBX Switching, Lanzador de Aplicaciones, Traductor de Codecs y Oraganizador y Manejador



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas.  http://www.4shared.com/file/46199664/589e58c6/Asterisk_The_future.html?s=1 En esta página podrá descargar documentación complementaria sobre Asterisk.  http://www.4shared.com/file/50341724/e2a68f04/voip_with_asterisk.html?s=1 En esta página podrá descargar un manual con información adicional sobre Asterisk.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 177

unidad de aprendizaje

4

semana

13 APLICATIVOS, SERVIDORES Y SEGURIDAD LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno utilizará diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificación de las causas de un problema; asimismo, presentará las mejores alternativas de solución.

TEMARIO •

Servidor Asterisk: Arquitectura



Servidor Asterisk: Implementación



Seguridad: Respuestas y mejores prácticas ante incidentes de seguridad

ACTIVIDADES PROPUESTAS • • •

Instalación de un servidor Asterisk Creación de anexos por software en Asterisk. Realizar un ataque de Ingeniería Social.

CIBERTEC

CARRERAS PROFESIONALES

178

1. SERVIDOR ASTERISK: IMPLEMENTACIÓN 1.1 INTALACIÓN DE LINUX CENTOS 4.4 Insertar el Cd de Centos y seguir las instrucciones que se muestran en las siguientes pantallas:

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 179

Escoger el idioma para la configuración y seguido el idioma de su teclado.

CIBERTEC

CARRERAS PROFESIONALES

180

Seleccionar la opción Custom

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 181

En la siguiente pantalla marcar la opción No firewall y en Enable SELinux cambiar la configuración a Disabled.

CIBERTEC

CARRERAS PROFESIONALES

182

Configuramos la región

Ingresamos la contraseña del usuario root:

En la siguiente pantalla seleccionamos los paquetes a instalar: • Editors • Servidor Web, Click en Detalles y agregar los siguientes paquetes: - mod_auth_mysql - php-mysql Desactivar el paquete squid • Servidor de Archivos • Base de Datos MySQL Click en Detalles y agregar los siguientes paquetes: - mod_auth_mysql - mysql-server

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 183



• •

- php-mysql Herramientas de Desarrollo Click en Detalles y agregar los siguientes paquetes: - ElectricFenen - gcc (todos) Herramientas Administrativas Herramientas del Sistema Click en Detalles y agregar el siguiente paquete: - mc Desactivar el paquete bluez (bluetooth)

Al finalizar la instalación, verificar si los siguientes paquetes estan instalados: • rpm -q bison • rpm -q bison-devel • rpm -q ncurses • rpm -q ncurses-devel • rpm -q zlib • rpm -q zlib-devel • rpm -q openssl • rpm -q openssl-devel • rpm -q gnutls-devel • rpm -q gcc • rpm -q gcc-c++ • rpm -q kernel-devel • rpm -q perl • rpm -q flex • rpm -q libtermcap-devel De lo contrario instalarlos: • yum install bison • yum install bison-devel • yum install ncurses

CIBERTEC

CARRERAS PROFESIONALES

184

• • • • • • • • • • • •

yum install ncurses-devel yum install zlib yum install zlib-devel yum install openssl yum install openssl-devel yum install gnutls-devel yum install gcc yum install gcc-c++ yum install kernel-devel yum install perl yum install flex yum install libtermcap-devel

1.2 INSTALACIÓN DE ASTERISK 1.2.1

Copiar los archivos zaptel , libpri , asterisk-addons y asterisk al directorio /usr/src Chmod 775*

1.2.2

Descomprimir los archivos: tar xzf zaptel-version.tar.gz tar xzf libpri-version.tar.gz tar xzf asterisk-addons-version.tar.gz tar xzf asterisk-version.tar.gz

1.2.3

Acceder a la siguiente ruta : cd /usr/src/kernels/Kernel-version.El-smp-i686/include/linux Modificar el siguiente archivo spinlock.h vi spinlock.h Ubicar la siguiente línea: #define DEFINE_RWLOCK(x) rw_lock_t x = RW_LOCK_UNLOCKED Modificar lo siguiente : rw_lock por rwlock Debería quedar de la siguiente manera: #define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED Grabar y salir : :x!

1.2.4

Acceder al directorio zaptel cd /usr/src/zaptel-versión Ejecutar los siguientes comandos (uno a la vez): make clean make make install make config cd .. mv zaptel-version zaptel

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 185

1.2.5

Acceder al directorio libpri cd ../libpri-version Ejecutar los siguientes comandos: make clean make make install

1.2.6

Acceder al directorio asterisk cd ../asterisk-version Ejecutar los siguientes comandos: make clean make make install make samples make config make mpg123

1.2.7

Verificar que inicie el servicio de asterisk Ejecutar el siguiente comando: asterisk –vvvvgc Deberá cargar el servicio y mostrar el Prompt de Asterisk CLI> Para detener el servicio escribir en la consola de asterisk: stop now

1.3 ARCHIVOS DE CONFIGURACIÓN 1.3.1

Hacer un backup de los archivos de configuración originales: cd /etc mv zaptel.conf zaptel.conf.bak cd asterisk mv sip.conf sip.conf.bak mv extensions.conf extensions.conf.bak mv zapata.conf zapata.conf.bak mv iax.conf iax.conf.bak

1.3.2

Copiar los archivos de configuración proporcionados a la siguiente ruta : /etc/asterix * Utilice la herramienta WinScp para copiar los archivos. Verificar que inicie correctamente el servicio de asterisk: Ejecutar los comandos: asterisk asterisk –vvvr

1.3.3

Instalación del Sistema de Reporte de Llamadas

1.3.3.1

CIBERTEC

Verificar la instalacion del Servidor MySQL yum -y install mysql-server mysql-client mysql-devel

CARRERAS PROFESIONALES

186

1.3.3.2

Configurar el password del MySQL mysqladmin -u root password 'nuevo_password' mysql –u root –p password CREATE DATABASE asteriskcdrdb; use asteriskcdrdb;

1.3.3.3

Crear la tabla cdr: Mysql: CREATE TABLE cdr ( calldate datetime NOT NULL default '0000-00-00 00:00:00', clid varchar(80) NOT NULL default '', src varchar(80) NOT NULL default '', dst varchar(80) NOT NULL default '', dcontext varchar(80) NOT NULL default '', channel varchar(80) NOT NULL default '', dstchannel varchar(80) NOT NULL default '', lastapp varchar(80) NOT NULL default '', lastdata varchar(80) NOT NULL default '', duration int(11) NOT NULL default '0', billsec int(11) NOT NULL default '0', disposition varchar(45) NOT NULL default '', amaflags int(11) NOT NULL default '0', accountcode varchar(20) NOT NULL default '', uniqueid varchar(32) NOT NULL default '', userfield varchar(255) NOT NULL default '' );

1.3.3.4

Instalar la conexion del asterisk hacia la base de datos a traves del modulo cdr_mysql.so (asterisk-addonsversion.tar.gz) cd /usr/src cd asterisk-addons-version make clean make && make install cd /usr/src/asterisk-addons-version/configs cp cdr_mysql.conf.sample /etc/asterisk/cdr_mysql.conf vi cdr_mysql.conf [global] hostname=localhost dbname=asteriskcdrdb user=root password=passw0rd port=3306 ;sock=/tmp/mysql.sock Copiar el archivo asterisk-stat-v2_0_1.tar.gz al directorio : /var/www/html tar -xvzf asterisk-stat-v2_0_1.tar.gz mv asterisk-stat-v2_0_1 reportes cd reportes/ cd lib/ vi defines.php Buscar las sgtes lineas y escribir lo siguiente :

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 187

define ("WEBROOT", "http://ip-del-server/reportes/"); define ("FSROOT", "/var/www/html/reportes/"); define ("LIBDIR", FSROOT."lib/"); define ("HOST", "ip-del-server"); define ("PORT", "3306"); define ("USER", "root"); define ("PASS", "passw0rd"); define ("DBNAME", "asteriskcdrdb"); define ("DB_TYPE", "mysql"); cd .. (retrocede un directorio) Crear un enlace simbólico para el index ln -s cdr.php index.php Reiniciar el servicio Asterisk ejecutando asterix –r reload exit Verificar la instalacion en http://ip-del-server/reportes/

Resumen



Es necesario realizar una correcta instalación del Sistema Operativo Centos con las opciones indicadas así como una correcta instalación del Asterisk para poder setear sin problemas los archivos de configuración y así poder iniciar el servicio telefónico.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas.  http://asteriskelite.blogspot.com/2007/09/2-asterisk.html Aquí encontrará información adicional de cómo enlazar dos Asterisk.  http://www.asterisk-peru.com/foro/ Página de la comunidad Asterisk en Perú.

CIBERTEC

CARRERAS PROFESIONALES

188

unidad de aprendizaje

4

semana

14 APLICATIVOS, SERVIDORES Y SEGURIDAD LOGRO DE LA UNIDAD DE APRENDIZAJE •

Al finalizar la unidad, el alumno utilizará diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificación de las causas de un problema; asimismo, presentará las mejores alternativas de solución.

TEMARIO •

Servidor Asterisk: Arquitectura



Servidor Asterisk: Implementación



Seguridad: Respuestas y mejores prácticas ante incidentes de seguridad

ACTIVIDADES PROPUESTAS • • •

Instalación de un servidor Asterisk Creación de anexos por software en Asterisk. Realizar un ataque de Ingeniería Social.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 189

1. SEGURIDAD: RESPUESTAS Y MEJORES PRÁCTICAS ANTE INCIDENTES DE SEGURIDAD 1.1 RESPUESTAS ANTE INCIDENTES DE SEGURIDAD Los incidentes de seguridad pueden ser tan graves como una infracción que compromete las operaciones cruciales, o una falla menor que impide seguir un procedimiento debido a una equivocación. Las organizaciones pueden invertir tiempo y recursos para desarrollar políticas y procedimientos, desarrollar controles de seguridad en redes y aplicaciones, y controlar y monitorear operaciones; sin embargo, esto no garantiza que no se produzcan incidentes. Una planificación prudente requiere procedimientos para responder ante incidentes. Por ejemplo; una respuesta típica ante un incidente incluye: • • • • • • • • •

La detección de una falla (por ejemplo, un sistema de detección de intrusos [IDS] basado en equipo host identifica un cambio en un archivo protegido) El IDS alerta a un administrador de sistema sobre posibles fallas El administrador de sistema determina si el incidente es significante y contrata a otras personas del equipo de respuestas ante incidentes, incluso a administradores empresariales y técnicos Las contraseñas del sistema se modifican y el servidor se quita de la red El sistema se respalda para llevar a cabo investigaciones forenses El equipo administra herramientas de evaluación de vulnerabilidades para detectar vulnerabilidades relacionadas Luego restauran el sistema a partir del respaldo Los parches se aplican según sea necesario Se lleva a cabo una investigación forense para determinar la causa y naturaleza exacta de la falla

Capacitación en seguridad La prevención comienza con la capacitación. La tecnología de seguridad y los documentos de procedimientos evitarán incidentes sólo si los usuarios de aplicaciones, el personal de TI y otras personas en la organización son conscientes de las amenazas de seguridad y sus responsabilidades. La capacitación debe incluir cuestiones de seguridad en términos generales y en términos específicos del empleo. Los ejemplos del primer tipo constituyen el uso apropiado de una aplicación por parte de los usuarios y el método apropiado para configurar un ruteador para un ingeniero de red. Las cuestiones generales de seguridad comprenden desde requisitos normativos para preservar la privacidad hasta ingeniería social (persuasión de usuarios para que revelen sus nombres de usuarios, contraseñas y otra información confidencial) y amenazas adicionales de seguridad dirigida a personas. El objetivo de la capacitación no es convertir a cada usuario en un analista de seguridad sino informarlos sobre las amenazas más conocidas y la respuesta de la organización ante dichas amenazas.

1.2 CONOCIMIENTO DE AMENAZAS Y VULNERABILIDADES Como mencionamos anteriormente y en términos más simples, las amenazas son posibles formas de provocar una falla y/o dañar un sistema; las vulnerabilidades son atributos de un sistema que se explotan en los procesos de fallas de un

CIBERTEC

CARRERAS PROFESIONALES

190

sistema. Conocer las amenazas y minimizar las vulnerabilidades son partes esenciales de cualquier operación administrativa de seguridad de una empresa.

Conozca a su enemigo: amenazas a sus sistemas, recursos, información y organización Las amenazas existen en diferentes formas. Cualquier persona que utilice Internet está expuesta a amenazas comunes, tales como virus de correo electrónico, gusanos, troyanos y los rootkits, keyloggers y hackers de sitios web. Existen otras amenazas que están mejor identificadas, tales como ataques de DoS contra sitios web populares o intentos de robo de información como detalles de tarjetas de crédito de clientes. Cuando se administra la seguridad empresarial se debe comprender y diferenciar los tipos de amenazas más comunes y frecuentes y las amenazas sofisticadas identificadas que pueden ser muy peligrosas. Conozca qué información es de valor para personas extrañas y cómo pueden atacar sus sistemas. En el caso de Acxiom mencionado anteriormente, un cliente legítimo provocó una falla en la seguridad del sistema para robar información. Un competidor sin escrúpulos que se hace pasar por un cliente legítimo puede alterar datos en lugar de simplemente robarlos. Los ataques que se concentran en una LOB específica pueden causar mucho más daño que un ataque amplio lanzado en Internet.

Conozca sus debilidades: vulnerabilidades en sus sistemas Los hackers e intrusos utilizan las vulnerabilidades conocidas públicamente, como también las específicas de cada organización. En general, las vulnerabilidades se clasifican en tres categorías: • • •

Vulnerabilidades específicas del programa Vulnerabilidades de configuración Vulnerabilidades sociales

Las empresas de seguridad tratan los tres tipos. Análisis forense informático Los hackers no son los únicos con herramientas sofisticadas a su disposición. Los profesionales de seguridad informática han desarrollado herramientas y procedimientos para preservar la información, a menudo volátil, producida durante un ataque o fallo. El objetivo de las herramientas para los análisis forenses informáticos es simple: preservar evidencia. Los primeros pasos en una investigación forense son técnicas simples, tales como guardar los contenidos de la memoria o realizar el respaldo completo del disco duro. Al trabajar con copias de datos forenses, los investigadores reconstruyen el origen de un ataque, el método de ejecución y el impacto en los activos de información. Las pistas y la evidencia pueden aparecer en lugares no muy comunes, tales como archivos de intercambio y bloques de datos aleatorios de Windows (los bloques de datos están asignados en tamaños fijos, por ejemplo 512 bytes. Si un archivo que contiene evidencia de un fallo se elimina, los bloques de datos que almacenan esa información posiblemente no sean sobrescritos cuando el bloque se asigne a otro archivo). El escaneo de la información de bajo nivel de los sistemas de archivos requiere herramientas especiales.

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 191

Las herramientas para el análisis forense que se encuentran disponibles en la actualidad incluyen: • • • • •

Herramientas para la validación de respaldo del disco que validan la integridad de los respaldos realizados en sistemas comprometidos Herramientas de inventario de archivos que muestran todos los archivos eliminados y asignados Herramientas de búsqueda que escanean datos ambientales (archivos de almacenamiento no tradicionales) tales como archivos de intercambio de Windows, espacios no asignados y archivos inactivos Filtros de gráficos que ayudan a reconstruir archivos de imágenes Filtros de reconocimiento de patrones que escanean números de tarjetas de créditos, de seguros sociales y otros elementos comunes que identifican datos.

Como cualquier otro trabajo de investigación, los análisis forenses informáticos requieren procedimientos metódicos y constantes que revisen todos los lugares ocultos típicos.

Aplicación de parches a vulnerabilidades de programas Algunos programas comúnmente utilizados; por ejemplo, Sendmail, Microsoft Exchange Server, Microsoft Internet Information Server (IIS), Open Secure Sockets Layer (OpenSSL), Microsoft Internet Explorer (IE), Network File System (NFS) y otros, presentan vulnerabilidades conocidas. Afortunadamente, los desarrolladores a menudo proveen parches de seguridad inmediatamente después de detectar vulnerabilidades. Desafortunadamente, estos parches algunas veces rompen códigos o entornos, llegan tarde, no funcionan, o son difíciles de encontrar o de implementar. Los procedimientos de administración de seguridad deben incluir la verificación de parches y las actualizaciones de todas las aplicaciones y servicios que se ejecutan en una red. La administración de este proceso se convierte en una parte clave del programa de administración de amenazas de una organización. Es muy fácil verificar aplicaciones reconocidas, tales como Microsoft Exchange Server o bases de datos Oracle dentro de una organización. No alcanza con simplemente aplicar parches a estas aplicaciones. Otras aplicaciones utilizan programas y servicios de bajo perfil, como el servicio BIND (Berkeley Internet Name Domain) en UNIX/Linux y la biblioteca OpenSSL, y los administradores de sistemas a veces no saben qué versión utilizar, el historial de parches o las vulnerabilidades recientemente descubiertas. La administración de seguridad a nivel empresarial depende del conocimiento detallado de todas las aplicaciones y servicios.

Configuración de un entorno seguro Aún con un software seguro, si un sistema no se configura correctamente, fácilmente puede ser vulnerable a un ataque. Las cuentas predeterminadas de sistemas y los puertos de Internet son dos elementos configurables que introducen vulnerabilidades en los sistemas. Los sistemas y administradores de aplicaciones deben evaluar cuidadosamente las configuraciones predeterminadas de las aplicaciones. Una práctica común de los proveedores en el pasado era enviar software, tal como sistemas operativos y bases de datos, con contraseñas y cuentas de administradores predefinidas. Cualquier persona que conociera razonablemente estos sistemas podía ingresar ilegalmente simplemente al conocer la contraseña predeterminada.

CIBERTEC

CARRERAS PROFESIONALES

192

Los puertos constituyen otra posible fuente de ataques. Las computadoras conectadas a Internet poseen direcciones de IP que excepcionalmente las identifican ante otros recursos. Dentro de una sola computadora, los servicios se identifican con otro número, el número de puerto, que es análogo a un número de serie de una oficina en un edificio de oficinas. Así como las oficinas deben cerrarse, los puertos también para prevenir el acceso no autorizado. No son los puertos en sí sino los servicios en funcionamiento los que presentan vulnerabilidades. Las herramientas de escaneo de puertos disponibles gratuitamente permiten que intrusos busquen e identifiquen puertos activos. El tercer tipo de vulnerabilidad, ingeniería social, no está relacionado con hardware o software mal configurado o defectuoso.

Protección contra ingeniería social Los sistemas seguros dependen de que las personas mantengan confidencialmente la información. Las conductas individuales son tan amenazantes para la seguridad del sistema como lo son los aspectos técnicos. Algunos ejemplos incluyen: • • • • •

Escribir contraseñas en un papel, PDA o archivos Discutir información sobre configuraciones en lugares donde personas no autorizadas pueden escuchar Revelar información sobre contraseñas y cuentas por teléfono a personas que dicen ser técnicos de la oficina del servicio de atención al cliente Descartar procedimientos de control de acceso para responder ante pedidos de “emergencia” Usar de manera imprudente dispositivos móviles, tales como computadoras portátiles y PDA, que pueden robarse o perderse fácilmente

Los hackers saben cómo explotar todos los tipos de vulnerabilidades; de esta forma, los administradores de sistemas deben conocer cómo manejarlas.

Creación de dominios de seguridad Un modo de limitar las amenazas y vulnerabilidades en la información empresarial es mediante el establecimiento de dominios de seguridad. Los dominios son áreas físicas y lógicas restringidas en las que se llevan a cabo operaciones de seguridad, inclusive: •





Seguridad física: los dominios de seguridad física limitan el acceso personal a equipos, edificios y otros recursos tangibles. Por ejemplo, los centros de operaciones informáticas por lo general restringen el acceso a un grupo pequeño de operadores y a una cantidad limitada de veces al día. El propósito de los dominios de seguridad física es proteger los activos tangibles y evitar que intrusos accedan a información y aplicaciones del sistema. Seguridad de red: los dominios de seguridad de red controlan el acceso a los recursos en una red. Por ejemplo, una empresa puede tener una conexión T1 a Internet; sin embargo, sólo los usuarios autorizados en la red local pueden utilizar las impresoras y servidores de la empresa. El dominio de seguridad de red evita que personas externas utilicen los activos privados. Seguridad de aplicaciones: los dominios de seguridad de aplicaciones crean áreas lógicas dentro de una aplicación que limita el tipo y extensión de las operaciones. Un paquete de contabilidad financiera, por ejemplo, podría utilizar

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 193



dominios lógicos para separar los datos y las operaciones del módulo de cuentas por cobrar y del módulo de cuentas por pagar. Seguridad de datos: los dominios de seguridad de datos definen límites de protección para clases de datos, sin importar el servidor o la aplicación que aloje esos datos. Los dominios de datos son construcciones lógicas pero funcionan dentro de dominios físicos, de red y de aplicaciones. Por ejemplo, para cumplir con las exigencias de la HIPAA, un proveedor de atención médica puede definir un dominio de datos para la información de atención médica protegida. Mientras que los datos se encuentren dentro de la red del proveedor, no es necesario el encriptado; cuando los datos se transmiten a un proveedor socio (fuera del dominio de red pero aún en el dominio de datos), éstos deben encriptarse para preservar su confidencialidad e integridad.

Existen superposiciones entre estas áreas; sin embargo, cada área posee características distintivas relevantes para la administración de la seguridad. Cuando las medidas de seguridad, como los dominios, no logren proteger los activos informáticos, la respuesta ante fallas determinará la seriedad del ataque.

Respuesta ante ataques Cuando se producen fallos en los controles de seguridad, la respuesta debe tener en cuenta tres factores: • • •

Aislar la amenaza Restaurar el servicio Implementar actividades posteriores al ataque, incluso prácticas predictivas, y evaluaciones anteriores al ataque

El primer objetivo es contener la expansión del ataque. En caso de un virus de correo electrónico, este objetivo puede requerir cerrar los servidores afectados y deshabilitar las cuentas de usuarios infectados. En caso de un ataque DoS, el objetivo puede requerir bloquear el tráfico de un sistema fuente utilizado en el ataque. Idealmente, las organizaciones tienen previstos estos ataques y cuentan con procedimientos detallados en funcionamiento para aislar el efecto de estas fallas. Una vez que se aísla la amenaza y los activos de información ya no están sujetos a la falla, el próximo paso es restaurar el servicio. Dicho paso puede requerir la restauración de datos desde el respaldo, al colocar en línea los servidores de respaldo y al revisar los archivos que pueden haberse afectado durante el ataque. Desafortunadamente, la necesidad de preservar evidencia forense algunas veces causa conflicto con los servicios de restauración rápida. Un administrador de sistemas puede necesitar desconectar el servidor para preservar registros, archivos de configuración y de datos que no deben modificarse hasta completar un análisis completo del ataque. La etapa final, las actividades posteriores al ataque, se centra en comprender cómo se produjo el ataque (qué vulnerabilidad fue explotada), al determinar los daños que se produjeron; cuánto dinero costará la recuperación total del ataque, y cómo prevenir dichos ataques en el futuro. Básicamente, esto se trata de un ciclo de retroinformación que pueda rápidamente determinar qué sucedió, cuál fue el impacto y cómo prevenir que se produzca nuevamente el ataque.

CIBERTEC

CARRERAS PROFESIONALES

194

No es razonable la idea de poder garantizar el 100 por ciento de protección todo el tiempo, para todos los sistemas y toda la información, y aún así tener sistemas útiles y flexibles que satisfagan las necesidades de negocio. Los ataques son inevitables y comprender y prever los mismos son acciones que forman parte de una disciplina más amplia de la administración de seguridad. Los procedimientos de respuestas ante incidentes deberían definir claramente los eventos que constituyen incidentes, las personas responsables de responder, las personas y agencias a las que se debe notificar sobre el incidente, los pasos para minimizar la amenaza, los procedimientos para la recuperación, y revisiones y análisis post mortem. Los incidentes son amenazas a organizaciones; sin embargo, también son oportunidades para evaluar los límites de las operaciones y de los procedimientos existentes. Se debe llevar a cabo una revisión post mortem después de cada incidente para comprender cómo éste se produjo dentro de la infraestructura de seguridad existente y qué cambios se requieren para prevenir un incidente similar en el futuro.

Resumen

CARRERAS PROFESIONALES CIBERTEC

TROUBLESHOOTING 195



Resulta un desafío enorme equilibrar las necesidades de aplicaciones ágiles y flexibles para el manejo de información, que se adapten a las necesidades cambiantes de las organizaciones, con las realidades del mundo inseguro en el que vivimos. Una única tecnología o herramienta no resolverá el problema. La capacitación de usuarios únicamente no hará que una empresa sea más segura. Ningún conjunto de políticas y procedimientos asegurará un sistema invulnerable. Mantener la seguridad en toda la empresa demanda la coordinación y planificación de tecnologías múltiples, personal de TI y administradores del negocio.



Los detalles sobre la administración de seguridad empresarial se discuten en todo este libro con énfasis en soluciones prácticas. La seguridad es sólo una de las tantas exigencias en las organizaciones. Para satisfacer adecuadamente dichas exigencias, la seguridad debe entenderse dentro del contexto más amplio de los límites y las operaciones organizacionales. Esta guía está diseñada para ayudarlo a satisfacer las necesidades de su organización dentro de un marco pragmático.



Si desea saber más acerca de estos temas, puede consultar las siguientes páginas.  http://www.csrc.nist.gov/topics/inchand.html. En esta página obtendrá información adicional sobre las respuestas ante incidentes.  http://www.securityfocus.com/vulnerabilities En esta página encontrará una base de datos de vulnerabilidades. .

CIBERTEC

CARRERAS PROFESIONALES