TNT1-142. Implementar y actualizar aplicaciones.NET.

45
Implementar y actualizar aplicaciones .NET

Transcript of TNT1-142. Implementar y actualizar aplicaciones.NET.

Page 1: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementar y actualizar aplicaciones .NET

Page 2: TNT1-142. Implementar y actualizar aplicaciones.NET.

Lo que cubriremos

• Problemas históricos con las implementaciones• Entender .NET• Implementación sin intervención• Problemas básicos de seguridad con .NET

Framework• Proyectos de implementación e instalación de MSI• Firmar ensambles de .NET• Aplicaciones que se auto actualizan con UAB

Page 3: TNT1-142. Implementar y actualizar aplicaciones.NET.

Conocimiento previo

Nivel 200Nivel 200

• Familiaridad con la programación de aplicaciones• Experiencia en administrar aplicaciones que se

ejecutan en servidores• Familiaridad con la criptografía de llave pública

Page 4: TNT1-142. Implementar y actualizar aplicaciones.NET.

Agenda

• Descripción general de .NET Framework• Implementación sin intervención• Implementación con un archivo MSI• Firmar ensambles de .NET• Actualizar las aplicaciones implementadas

Page 5: TNT1-142. Implementar y actualizar aplicaciones.NET.

Descripción general de .NET FrameworkProblemas históricos con las implementaciones

• Tres problemas principales– Interoperabilidad– Versiones– Independencia del lenguaje

• Instalación complicada • Falta de seguridad integrada

http://msdn.microsoft.com/library/en-us/dndotnet/html/dplywithnet.asp

Page 6: TNT1-142. Implementar y actualizar aplicaciones.NET.

Sistema operativo

.NET Framework

Descripción general de .NET Framework¿Qué es .NET?

También consulte Una introducción a Microsoft .NETwww.gotdotnet.com/team/upgrade/dotnet_general.aspx

Los aspectos básicos de la siguiente generación de los PCs y aplicaciones Web de Windows y servicios Web.

Los aspectos básicos de la siguiente generación de los PCs y aplicaciones Web de Windows y servicios Web.

Common Language RuntimeCommon Language Runtime

SeguridadSeguridadCompiladorCompilador

Bibliotecasbase

Bibliotecasbase

MemoriaMemoria

Page 7: TNT1-142. Implementar y actualizar aplicaciones.NET.

.NET Framework.NET Framework

Common Language RuntimeCommon Language RuntimeHost en tiempode ejecuciónHost en tiempode ejecución

Permisos de seguridadPermisos de seguridad

Verificación del códigoVerificación del código

Verificación del tipoVerificación del tipo

GACGAC

Ensamble .NET

Name.dll

Ensamble .NET

Name.dll

Ensamble .NET

Name.dll

Ensamble .NET

Name.dll

Compilador JITCompilador JIT

Código específicode plataforma.NET

Aplicación.NET

Descripción general de .NET FrameworkCommon Language Runtime

Page 8: TNT1-142. Implementar y actualizar aplicaciones.NET.

Descripción general de .NET Framework¿Qué es un ensamble?

Un ensamble .NET es un conjunto de tipos y recursos integrados para trabajar en conjunto y formar una unidad lógica de funcionalidad.

Un ensamble .NET es un conjunto de tipos y recursos integrados para trabajar en conjunto y formar una unidad lógica de funcionalidad.

Ensamble .NETEnsamble .NET

Archivos de texto

Archivos de gráficas

Iconos

Código de la aplicación

Bibliotecas de códigos

MSILMSIL

RecursosRecursos

Número de ensamble

Número de versión

Cultura

Clave pública

Lista de archivos

Información sobre la referencia de tipo

Información sobre el ensamble alque se hace referencia

ManifestoManifesto

Page 9: TNT1-142. Implementar y actualizar aplicaciones.NET.

Descripción general de .NET FrameworkCaché de ensambles global

.NET Framework.NET Framework

Caché de ensambles globalCaché de ensambles global

Almacenamiento de ensambles compartidosAlmacenamiento de ensambles compartidos

Name1.dllVersión 1.0Name1.dll

Versión 1.0

Name3.dllVersión 4.6Name3.dll

Versión 4.6Name1.dll

Versión 2.0Name1.dll

Versión 2.0

Políticas obligatoriasPolíticas obligatorias

AppA=Name1.dll

Versión 1.0

La Caché de ensamble global (GAC) es un área de almacenamiento para el ensamble .NET que se puede compartir entre diferentes aplicaciones .NETLa Caché de ensamble global (GAC) es un área de almacenamiento para el ensamble .NET que se puede compartir entre diferentes aplicaciones .NET

Name2.dllVersión 1.3Name2.dll

Versión 1.3 AppB=Name1.dll

Versión 2.0

También consulte Utilizar la utilidad de configuración de Microsoft .NET Framework 1.1 http://www.awprofessional.com/articles/article.asp?p=333857

Page 10: TNT1-142. Implementar y actualizar aplicaciones.NET.

Descripción general de .NET FrameworkOpciones de configuración de Framework

• Archivo de configuración

• Herramienta de Framework

• Herramientas del SDK de .NET – CASPOL.EXE

– GACUTIL.EXE

– PERMVIEW.EXE

– REGASM.EXE

– SN.EXE

– Muchas más…

También consulte Utilizar la utilidad de configuración de Microsoft .NET http://www.awprofessional.com/articles/article.asp?p=333857

Page 11: TNT1-142. Implementar y actualizar aplicaciones.NET.

Descripción general de .NET Descripción general de .NET FrameworkFramework

DeDesmitificarsmitificar .NET .NET Examinar la GAC desde Windows ExplorerExaminar la GAC desde Windows Explorer Examinar la GAC desde el indicador de Examinar la GAC desde el indicador de

comandoscomandos

demodemo

Page 12: TNT1-142. Implementar y actualizar aplicaciones.NET.

Agenda

• Descripción general de .NET Framework• Implementación sin intervención• Implementación con un archivo MSI• Firmar ensambles de .NET• Actualizar las aplicaciones implementadas

Page 13: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación sin intervenciónDescripción general

• Implemente las aplicaciones .NET Windows a través de HTTP

• “Descarga JIT (justo a tiempo)”• Auto actualizaciones con UAB• Principales desventajas

– Áreas de seguridad restrictivas– No puede instalar ensambles en la GAC– Por lo general debe estar continuamente en línea

Guía sobre el ciclo de vida de la implementación de aplicaciones .NET (MSDN), pp. 47-49, 136

Page 14: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación sin intervenciónCómo funciona con Internet Explorer

• Ejemplo: http://myserver/myapp.exe• IE 5.01+ escucha los ensambles solicitados• En caso de ser necesario, se pueden descargar los

ensambles desde:– C:\windows\assembly\download– Carpeta de Archivos temporales de Internet

• La aplicación se inicia en el proceso IE (IEExec)

Guía sobre el ciclo de vida de la implementación de aplicaciones .NET (MSDN), pp. 47-49

Page 15: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación sin intervenciónProblemas de seguridad con el esquema

• La seguridad del acceso del código es la clave• Correlaciona las aplicaciones con el conjunto de

permisos• Basada en evidencias

– Basada en ubicaciones (sitio / URL / zona?)– Basada en autores (¿Nombre seguro? ¿Quién lo firma?)

http://msdn.microsoft.com/library/en-us/dnadvnet/html/Vbnet12112001.asp

Page 16: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación sin intervenciónProblemas de seguridad con el esquema

• Los grupos del código se configuran en torno a las zonas IE

• Es predeterminado para las confianzas parciales– “Código seguro” de manera inherente

• Granular, fácilmente administrable, ampliable• Diseñado para el “menor número de permisos

posible”

http://msdn.microsoft.com/library/en-us/dnadvnet/html/Vbnet12112001.asp

Page 18: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación sin intervenciónModificar la política de seguridad• Para ensambles o grupo de códigos / zona

– Asistente para ajustar la seguridad– Herramientas | Opciones de Internet | Seguridad– Confiar en un Asistente para ensambles

• Herramienta de configuración de Framework• Caspol.exe

Page 19: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación sin intervenciónImplementación sin intervención

Realizar la implementación sin intervención y ejecutar Realizar la implementación sin intervención y ejecutar el cliente inteligenteel cliente inteligente

Implementar y ejecutar una actualizaciónImplementar y ejecutar una actualización Modificar la política de seguridadModificar la política de seguridad Ejecutar el cliente inteligente en Ejecutar el cliente inteligente en InternetInternet Utilizar un cargador de aplicacionesUtilizar un cargador de aplicaciones

demodemo

Page 20: TNT1-142. Implementar y actualizar aplicaciones.NET.

Agenda

• Descripción general de .NET Framework• Implementación sin intervención• Implementación con un archivo MSI• Firmar ensambles de .NET• Actualizar las aplicaciones implementadas

Page 21: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación con un archivo MSIDescripción general

• Windows Installer crea archivos .msi• Tecnología probada, pero no es la panacea• La mejor opción para la implementación tradicional• Ampliada para respaldar las necesidades de .NET• Visual Studio .NET 2003:

– Utiliza Windows Installer 2.0– Plantillas del proyecto Instalación e Implementación

http://msdn.microsoft.com/library/en-us/msi/setup/Descripción general_of_windows_installer.asp

Page 22: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación con un archivo MSIImplementar .NET Framework

• Framework no se instala de manera automática• Distribuya utilizando Dotnetfx.exe• No puede incluir un proyecto de instalación de Visual

Studio .NET• Opciones de implementación

– Instalación manual– Programa previo– Distribución electrónica de software– Active Directory o SMS

Guía sobre el ciclo de vida de la implementación de aplicaciones .NET (MSDN), pp. 13 y sig.

Page 23: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación con un archivo MSIPersonalizar un MSI

Guía sobre el ciclo de vida de la implementación de aplicaciones .NET (MSDN), pp. 49 y sig., 76 y sig.

Opción de personalización Descripción

Propiedades del proyecto de instalación

Autor, nombre del producto, descripción, programa previo, nombre del MSI, etc.

Resultado del proyecto Los ensambles y otros archivos que está

implementando

Condiciones del lanzamiento Condiciones específicas que deben existir

antes de la instalación

Menú del programa y accesos directos del PC

Agregar elementos al menú Inicio o PC

Editor de la interfaz Agregar/quitar/personalizar cuadros de diálogo

utilizados en el asistente para Instalación

Acciones de personalización Lanza secuencias de comando o ejecuta

programas externos de administración

Page 24: TNT1-142. Implementar y actualizar aplicaciones.NET.

Implementación con un archivo MSIImplementación con un archivo MSI

Modificar el cliente inteligenteModificar el cliente inteligente Agregar y configurar el Proyecto de instalación Agregar y configurar el Proyecto de instalación Implementar MSI e instalar el cliente inteligenteImplementar MSI e instalar el cliente inteligente

demodemo

Page 25: TNT1-142. Implementar y actualizar aplicaciones.NET.

Agenda

• Descripción general de .NET Framework• Implementación sin intervención• Implementación con un archivo MSI• Firmar ensambles de .NET• Actualizar las aplicaciones implementadas

Page 26: TNT1-142. Implementar y actualizar aplicaciones.NET.

Firmar ensambles de .NETNombres seguros

• Identidad + firma + clave pública• Ofrece tres aspectos• Se requiere para la GAC• No implica nivel de confianza• Condiciones de la membresía

Guía sobre el ciclo de vida de la implementación de aplicaciones .NET (MSDN), pp. 29 y sig.

Page 27: TNT1-142. Implementar y actualizar aplicaciones.NET.

Firmar ensambles de .NETFirmar con un par de claves

http://msdn.microsoft.com/library/en-us/cptools/html/cpgrfStrongNameUtilitySNexe.asp

Asigne un nombre, versión y cultura (en caso de contar con ella) al ensambleAsigne un nombre, versión y cultura (en caso de contar con ella) al ensamble11

Asocie el ensamble con el archivo de la clave: <AssemblyKeyFile(“c:\SecureStorage\key.snk")>Asocie el ensamble con el archivo de la clave: <AssemblyKeyFile(“c:\SecureStorage\key.snk")>33

Compile e implemente el ensambleCompile e implemente el ensamble44

Cree u obtenga un par de claves públicas/privadas (sn.exe)Cree u obtenga un par de claves públicas/privadas (sn.exe)22

Page 28: TNT1-142. Implementar y actualizar aplicaciones.NET.

Firmar ensambles de .NETCertificados y Authenticode X.509

• ¿Qué es un certificado X.509?• ¿Qué es Authenticode?

– Tecnología del uso de certificados Microsoft– Se basa en los Certificados del editor de software

• Ambos se integran en las claves públicas-privadas• CAS puede utilizar certificados como evidencia

http://www.verisign.com.au/developer/msauthenticode.shtml

Page 29: TNT1-142. Implementar y actualizar aplicaciones.NET.

Firmar ensambles de .NETFirmar con herramientas de Authenticode

Para firmar un ensamble con un certificado:Para firmar un ensamble con un certificado:

Solicite un certificado de una autoridad que emita certificados. Para fines de la prueba: makecert.exe

Solicite un certificado de una autoridad que emita certificados. Para fines de la prueba: makecert.exe

11

Genere un Certificado de compañía de software (SPC). Para fines de la prueba: Cert2spc.exeGenere un Certificado de compañía de software (SPC). Para fines de la prueba: Cert2spc.exe22

Firme el ensamble final con la clave privada y el SPC (signcode.exe)Firme el ensamble final con la clave privada y el SPC (signcode.exe)33

http://msdn.microsoft.com/workshop/security/authcode/signing.asp

Page 30: TNT1-142. Implementar y actualizar aplicaciones.NET.

Firmar ensambles de .NETFirmar ensambles de .NET

Firmar un ensamble con un nombre seguroFirmar un ensamble con un nombre seguro Firmar un ensamble utilizando Firmar un ensamble utilizando AuthenticodeAuthenticode

demodemo

Page 31: TNT1-142. Implementar y actualizar aplicaciones.NET.

Agenda

• Descripción general de .NET Framework• Implementación sin intervención• Implementación con un archivo MSI• Firmar ensambles de .NET• Actualizar las aplicaciones implementadas

Page 32: TNT1-142. Implementar y actualizar aplicaciones.NET.

Actualizar las aplicaciones implementadasDescripción general de la auto actualización

• Facilita su vida laboral• Cuatro desafíos principales

– Descubrir las actualizaciones– Descargar las actualizaciones– Mantener la seguridad– Aplicar las actualizaciones

Guía sobre el ciclo de vida de la implementación de aplicaciones .NET (MSDN), pp. 135 y sig.

Page 33: TNT1-142. Implementar y actualizar aplicaciones.NET.

Actualizar las aplicaciones implementadas Descripción general del UAB

• Uno de los “patrones y prácticas” de Microsoft • Componentes “Plug-and-play”• Tres configuraciones• Cinco partes funcionales principales

UAB para .NET: http://msdn.microsoft.com/library/en-us/dnbda/html/updater.asp y el SDK de UAB

Page 34: TNT1-142. Implementar y actualizar aplicaciones.NET.

Actualizar las aplicaciones implementadasAuto actualización con el UAB

1.01.0

AppStart.exeAppStart.exe

MyAppMyApp

1.11.1

AppStart.exeAppStart.exe

AppStart.configAppStart.config

MyApp V1 MyApp V1 DomainDomain

Web ServerWeb Server

Verifique Verifique el el manifiesto paramanifiesto para actualizacionesactualizacionesDescargue actualizacionesDescargue actualizaciones

utilizando BITSutilizando BITS

DominioDominioMyApp V1.1 MyApp V1.1

HTTPHTTP

Page 35: TNT1-142. Implementar y actualizar aplicaciones.NET.

Actualizar Actualizar las las aplicaciones aplicaciones implementadasimplementadas

Configurar el servidor de implementaciónConfigurar el servidor de implementación Revisar la aplicación AppStartRevisar la aplicación AppStart Revisar el proyecto de instalaciónRevisar el proyecto de instalación Implementar, instalar y ejecutar la versión unoImplementar, instalar y ejecutar la versión uno Implementar una actualizaciónImplementar una actualización

demodemo

Page 36: TNT1-142. Implementar y actualizar aplicaciones.NET.

Resumen de la sesión• .NET Framework posibilita la implementación sin intervención• Sin embargo, es deseable utilizar la implementación MSI para los escenarios tradicionales• El UAB es una excelente forma de dar fácilmente a las aplicaciones la capacidad de “auto actualización”

Page 37: TNT1-142. Implementar y actualizar aplicaciones.NET.

Para mayores informes

• Visite TechNet en www.microsoft.com/technet• Para obtener información adicional sobre los libros, los

cursos y otros recursos que apoyan esta sesión, visite

www.microsoft.com/technet/tnt1-142www.microsoft.com/technet/tnt1-142

Page 38: TNT1-142. Implementar y actualizar aplicaciones.NET.

Microsoft PressInformación interna para profesionales de informática

Para encontrar los títulos más recientes, visitePara encontrar los títulos más recientes, visite

www.microsoft.com/learning/books/www.microsoft.com/learning/books/

Page 39: TNT1-142. Implementar y actualizar aplicaciones.NET.

Publicaciones de tercerosComplementarias para los Profesionales de informática

Estos libros se pueden encontrar y adquirir en todas las Estos libros se pueden encontrar y adquirir en todas las librerías de prestigio y tiendas al menudeo en línealibrerías de prestigio y tiendas al menudeo en línea

Page 40: TNT1-142. Implementar y actualizar aplicaciones.NET.

Microsoft LearningRecursos de capacitación para los Profesionales de informática

Para ver el programa detallado o localizar un proveedor de Para ver el programa detallado o localizar un proveedor de capacitación, visitecapacitación, visite

www.microsoft.com/learning

Curso Título Disponible

2350 Desarrollar e implementar aplicaciones seguras de Microsoft .NET

Nov 2002

Page 41: TNT1-142. Implementar y actualizar aplicaciones.NET.

Evalúe su preparación con la evaluación de habilidades de Microsoft

¿Qué es la Evaluación de habilidades de Microsoft?• Una herramienta de auto-estudio para evaluar su preparación para

las soluciones de productos y tecnología, en lugar de roles de trabajo (certificación)

• Windows Server System, Seguridad, Visual Studio .NET, Office 2003• Gratuita, en línea, sin procuración y disponible para todos• Responde a la pregunta: “¿Estoy listo?”• Determina brechas en habilidades y ofrece planes de estudio con los

cursos de Microsoft Official Curriculum • Coloque su calificación más alta para ver en dónde se encuentra

• visite www.microsoft.com/assessment

Page 42: TNT1-142. Implementar y actualizar aplicaciones.NET.

Conviértase en un Microsoft Certified Systems Administrator (MCSA)

• ¿Qué es la certificación MCSA?– Para profesionales de informática que administran y

mantienen redes y sistemas basados en Microsoft Windows Server

• ¿Cómo me convierto en un MCSA en Windows Server 2003?– Apruebe tres exámenes centrales– Apruebe un examen optativo o dos certificaciones

CompTIA

• ¿Dónde obtengo más información?www.microsoft.com/mcsa

Page 43: TNT1-142. Implementar y actualizar aplicaciones.NET.

www.microsoft.com/technet/subscriptions

Suscripciones a TechNet ¿Ya escuchó la noticia?

¡Software sin límites de tiempo! Software completo para evaluación que ofrece más flexibilidad a los suscriptores a TechNet Plus.

Soporte técnico sin costo. Dos incidentes de soporte técnico gratuitos incluidos con cada suscripción a TechNet Plus le ahorran tiempo en la resolución de problemas de misión crítica.

Tenga a mano los recursos más recientes para evaluar, implementar y dar soporte a las soluciones de se entregan cada mes en CD o DVD, sin tener que depender de conectividad a Internet o firewalls.

Page 44: TNT1-142. Implementar y actualizar aplicaciones.NET.

¿Dónde puedo encontrar ayuda?• Chat y transmisiones Web gratuitas

www.microsoft.com/technet/community/chatswww.microsoft.com/technet/community/webcasts

• Lista de grupos de noticiaswww.microsoft.com/technet/community/newsgroups

• Sitios de la comunidad de Microsoftwww.microsoft.com/technet/community

• Eventos de la comunidad www.microsoft.com/technet/community/events

• Columnas de la comunidadwww.microsoft.com/technet/community/columns

Page 45: TNT1-142. Implementar y actualizar aplicaciones.NET.