tnt1-142. implementar y actualizar aplicaciones.net
TRANSCRIPT
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
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
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
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
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
.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
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
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
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
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
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
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
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
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
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
Implementación sin intervenciónZonas de seguridad y permisos de IE
mismo acceso al sitio
mismo acceso al directoriomismo acceso al sitio
UNC o URL sin puntos\\CORPSVR\SmartApps\MyApp.exehttp://localhost/apps/app1.exe
IP numérica o URL con puntoshttp://www.appdev.com/SmartApps/MyApp.exehttp://127.0.0.1/SmartApps/MyApp.exe
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
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
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
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
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.
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
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
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
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.
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
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
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
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
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
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.
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
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
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
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”
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
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/
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
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
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
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
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.
¿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