Configurar SSL
Este tema describe la configuración del servidor Web de Internet Information Services (IIS) para proporcionar páginas Web y otros recursos a través del Protocolo seguro de transferencia de hipertexto (HTTPS). HTTPS es el enfoque estándar para comunicaciones seguras entre cliente y servidor en Internet. HTTPS permite que la comunicación se pueda cifrar para que, en caso de ser interceptada, los terceros no puedan ver ni usar la información fácilmente. Debe asegurarse de que toda información confidencial transferida al servidor se proteja con HTTPS. Todos los nombres de usuario deben usar HTTPS, al igual que las páginas que transfieren los datos que no desea que vean terceros que no sean los usuarios finales.
Para páginas y otros recursos a través de HTTPS, debe obtener e instalar el certificado para la Capa de sockets seguros (SSL) en el servidor IIS. Generalmente, una Entidad emisora de certificados (CA), reconocida por los navegadores y otros software cliente compatibles con Internet, otorga los certificado de SSL. Si el certificado está otorgado por una entidad reconocida por el navegador, la comunicación con el servidor se desarrolla sin que el usuario tenga que realizar ninguna acción especial. Por lo tanto, se recomienda que para los servidores de producción, se obtenga un certificado otorgado por una entidad emisora de certificados. Consulte Obtener e instalar un certificado SSL de una entidad emisora de certificados para obtener más información.
Una vez que instaló el certificado SSL, puede acceder a las páginas Web y otros recursos en el servidor mediante HTTPS. Si el recurso posee información confidencial, se recomienda requerir a los clientes que utilicen HTTPS para utilizar el recurso. Consulte Requerir el uso de HTTPS para obtener más detalles.
Puede utilizar un certificado SSL autofirmado para fines de desarrollo y evaluación. Los navegadores y otros clientes no aceptarán esos certificados automáticamente y mostrarán un mensaje de advertencia para el certificado. Consulte Utilizar un certificado SSL autofirmado para obtener más detalles.
Este tema contiene los pasos para IIS 6 (Windows Server 2003) y también IIS 7 (Windows Vista, Windows 7 y Windows Server 2008). Si utiliza IIS 5.1 (Windows XP), puede seguir los mismos pasos que para IIS 6.
Determinar si se instaló un certificado SSL
Si no está seguro de haber instalado un certificado SSL en el servidor Web IIS, siga estos pasos:
Pasos para IIS 6
- Abra Panel de control > Herramientas administrativas > Administrador de Internet Information Services (IIS).
- En el panel izquierdo del Administrador de IIS, expanda el árbol para buscar el servidor, después busque Sitios Web dentro del servidor, y finalmente Sitio Web predeterminado. (Si se crearon sitios Web adicionales, debe aplicar estos pasos al sitio donde se instaló el sitio Web de la instancia de ArcGIS Server).
- Haga clic con el botón derecho del ratón en Sitio Web predeterminado y elija Propiedades del menú contextual.
- En el cuadro de diálogo Propiedades para el sitio Web, haga clic en la ficha Seguridad del directorio. Si aparece el botón Ver certificado dentro de la sección Comunicaciones protegidas del panel de esta ficha, se instaló un certificado SSL. Si aparece el botón Solicitar certificado, no se instaló un certificado SSL.
Pasos para IIS 7
- Abra Panel de control > Herramientas administrativas > Administrador de Internet Information Services (IIS).
- Seleccione el equipo en el panel Conexiones.
- Asegúrese de que la ficha de IIS Vista de entidades esté seleccionada y haga clic en Certificados del servidor. Aquí se enumera cualquier certificado que estuviera instalado.
Obtener e instalar un certificado SSL de una entidad emisora de certificados
Esta sección describe el procedimiento para obtener e instalar un certificado SSL de una entidad emisora de certificados. Para obtener toda la información, consulte al administrador del sistema, consultor externo u otros recursos de seguridad. Para obtener más información, vea Utilizar SSL para cifrar datos confidenciales.
- Crear una solicitud de un certificado para utilizar el Administrador de IIS. Para obtener instrucciones, vea Solicitar certificado de servidor (IIS 6.0) o Solicitar un certificado de servidor de Internet (IIS 7).
- Enviar la solicitud a una entidad emisora de certificados reconocida. Para obtener la lista de las entidades emisoras que funcionan con Microsoft, consulte Miembros del programa de certificados raíz de Microsoft.
- Una vez obtenido el certificado, instale el certificado en el servidor IIS. Para obtener instrucciones, vea Instalar certificado de servidor (IIS 6.0) o Instalar un certificado de servidor de Internet (IIS 7).
- Si está utilizando IIS 7, agregue la vinculación HTTPS al sitio. Para obtener instrucciones, consulte Agregar una vinculación a un sitio (IIS 7).
Después de instalar el certificado, los clientes podrán acceder a las páginas y otros recursos utilizando el protocolo HTTPS. También puede requerir que se utilice HTTPS cuando se accede a un recurso. Si después de un tiempo necesita quitar el certificado SSL, consulte la documentación de IIS sobre las herramientas como HTTPCfg (IIS 6.0) o vea Quitar un certificado de servidor (IIS 7).
Puerto SSL en el servidor Web
Las solicitudes de SSL al servidor Web se envían a un puerto específico del servidor. Un puerto (o puerto TCP) le comunica al equipo de destino cuál es el programa que manejará la solicitud. Por defecto, los servidores Web manejan las solicitudes de SSL en el puerto 443. Si se utiliza el puerto predeterminado, los clientes no necesitan especificar el puerto en la solicitud. Si se configura un puerto que no es el predeterminado en el servidor Web, las URL deberán incluirlo, por ejemplo, https://gis.example.com:8443/mywebapp.
Puede utilizar un puerto SSL que no es el predeterminado en el sitio Web IIS, pero debe configurarlo antes de instalar ArcGIS Server (en especial, las aplicaciones Web de ArcGIS Server o la instancia de ArcGIS). Si instala la instancia de ArcGIS Server y después configura SSL en un puerto que no sea el predeterminado, es posible que deba actualizar el valor del puerto de ArcGIS Server. De la misma manera, si cambia el puerto SSL después de configurar la seguridad para ArcGIS Server, deberá actualizar ArcGIS Server con el nuevo número de puerto.
Solo debe actualizar el puerto SSL en ArcGIS Server si habilitó o pretende habilitar la seguridad para los servicios Web de SIG y si la seguridad utilizará tokens. La seguridad de los servicios utilizará tokens si almacena los usuarios en SQL Server o en un proveedor personalizado.
Para actualizar la instancia de ArcGIS Server con un número de puerto SSL nuevo o que no sea el predeterminado, siga estos pasos:
- Si utiliza un editor de texto o XML, abra el archivo <instancia de ArcGIS>\Security\web.config. La <instancia de ArcGIS> es generalmente la carpeta C:\Inetpub\wwwroot\ArcGIS, pero si tiene una ubicación diferente para el sitio Web IIS o si instaló las aplicaciones Web con otro nombre, busque la carpeta y utilice la carpeta Security.
- En el archivo web.config de seguridad, busque esta configuración (el valor del puerto SSL puede variar): <add key="SSLPort" value="443" /> y cambie el valor por el nuevo número de puerto SSL. Guarde y cierre el archivo
- Si todavía no configuró la seguridad, puede pasar por alto los pasos que quedan. De lo contrario, abra el Administrador de ArcGIS Server, inicie sesión y seleccione Seguridad > Configuración > Configurar.
- Siga los pasos del asistente para configurar la seguridad para la ubicación de usuario y rol deseada. Aun si ya configuró la seguridad, debe repetir el proceso para activar el nuevo puerto SSL.
- Después de completar el asistente de seguridad, intente acceder a los servicios protegidos para confirmar si la configuración se aplicó correctamente.
Requerir el uso de HTTPS
Debe requerir que los clientes utilicen HTTPS para acceder a las páginas Web y recursos con datos confidenciales. Esto incluye las páginas de inicio de sesión pero también puede incluir aplicaciones Web completas.
El uso de HTTPS agrega una sobrecarga a las comunicaciones entre el cliente y el servidor. Utilice o requiera HTTPS solo para recursos que no deben ser vistos por terceros.
Si desea requerir HTTPS para un servicio o carpeta de ArcGIS Server, puede utilizar ArcGIS Server para requerir HTTPS. Para obtener más detalles, vea Requerir HTTPS para carpetas y servicios en el tema "Asegurar las conexiones de Internet a los servicios".
También puede utilizar el servidor Web IIS para requerir HTTPS (SSL) para una aplicación Web, página Web u otro recurso:
Pasos para IIS 6
- Inicie el Administrador de IIS abriendo Panel de control > Herramientas administrativas > Administrador de Internet Information Services (IIS).
- Expanda el nodo Sitios Web y, a su vez, expanda el sitio Web que contiene el recurso que va a restringir al HTTPS. Por defecto, IIS sirve sitios que se encuentran en Sitio Web predeterminado. En el sitio Web, navegue por la jerarquía para buscar la aplicación Web, la carpeta, la página Web u otro recurso que desee restringir al HTTPS.
- Haga clic con el botón derecho del ratón en el recurso y elija Propiedades.
- Haga clic en la ficha Seguridad del directorio (o archivo). En el área Comunicaciones protegidas de esta ficha, haga clic en el botón Editar. Si este botón no está disponible, el servidor IIS no tiene un certificado SSL instalado. Consulte la sección anterior "Obtener e instalar un certificado SSL de una entidad emisora de certificados" para obtener e instalar un certificado.
- En el cuadro de diálogo Comunicaciones protegidas que se abre, marque la casilla Requerir canal seguro (SSL).
- Haga clic en Aceptar para cerrar el cuadro de diálogo y también el cuadro de diálogo Propiedades para el recurso. Cierre el Administrador de IIS.
- Intente acceder al recurso utilizando http:// como prueba. Aparece un mensaje que indica que debe utilizar HTTPS. Acceda al recurso utilizando https://.
Pasos para IIS 7
- Inicie el Administrador de IIS abriendo Panel de control > Herramientas administrativas > Administrador de Internet Information Services (IIS).
- Expanda el nodo Sitios Web y, a su vez, expanda el sitio Web que contiene el recurso que va a restringir al HTTPS. Por defecto, IIS sirve sitios que se encuentran en Sitio Web predeterminado. En el sitio Web, navegue por la jerarquía para buscar la aplicación Web, la carpeta, la página Web u otro recurso que desee restringir al HTTPS.
- Navegue en la vista de árbol del servidor y seleccione el elemento para el que desea requerir SSL.
- Asegúrese de que la Vista de entidades IIS esté habilitada, y después haga doble clic en Configuración de SSL
- Marque Requerir SSL y, en el panel Acciones, haga clic en Aplicar.
- Haga clic en el botón Atrás en el Administrador de IIS para volver a la Vista de entidades.
- Haga una prueba haciendo clic en Buscar *:80 (http) en el panel Acciones. Debería ver un mensaje que indica que se requiere SSL. Ahora haga clic en Buscar *:443 (https) en el panel Acciones para acceder a las páginas utilizando HTTPS.
Tenga en cuenta que si los clientes solicitan una página o recurso a través de HTTP, y esa página requiere HTTPS, no serán redireccionados en forma automática a la URL HTTPS del recurso. Se pueden redireccionar esas solicitudes (recursos de búsqueda de Internet para varios recursos de desarrolladores) de forma programada, pero no existen herramientas directo de fábrica disponibles. Asegúrese de que los usuarios sepan que deben utilizar https:// para acceder al recurso.
Utilizar un certificado SSL autofirmado
Puede utilizar un certificado SSL autofirmado para propósitos de desarrollo y evaluación. No se recomienda utilizar certificados SSL autofirmados para sitios de producción. Los usuarios del navegador verán una advertencia de seguridad cuando carguen el recurso desde un sitio que utiliza un certificado autofirmado. No debe confiar en ningún certificado autofirmado a menos que conozca la identidad del servidor y la organización a la que se está conectando. Además de los problemas con el navegador, algunas aplicaciones de servidor no funcionan bien con los certificados autofirmados. En los pasos que siguen a continuación se incluyen algunas sugerencias para algunas aplicaciones de servidor, pero para otros tipos de aplicaciones, debe instalar el certificado del servidor de manera tal que el servidor y la aplicación lo reconozcan.
Los certificados autofirmados se pueden generar de distintas maneras. Consulte textos sobre seguridad, expertos en seguridad o sitios Web para conocer las distintas opciones.
Con IIS 7, puede usar el Administrador de IIS para crear un certificado autofirmado. Para obtener instrucciones, consulte Crear un certificado de servidor autofirmado en IIS 7. Una vez creado el certificado autofirmado, deberá agregar la vinculación HTTPS al sitio. Para obtener instrucciones, consulte: Agregar una vinculación a un sitio (IIS 7).
Con IIS 6, debe utilizar la herramienta SelfSSL del kit de recursos de IIS 6.0 para crear un certificado autofirmado. Los siguientes pasos explican cómo hacerlo.
-
Descargue e instale el Kit de recursos de IIS 6.0 de Microsoft. Instale al menos la herramienta SelfSSL. Las demás herramientas son opcionales.
Nota:
Esta herramienta es compatible con Windows Server 2003 y Windows XP. Las otras plataformas pueden requerir una herramienta diferente.
-
Ejecute SelfSSL e instale el certificado en el equipo IIS:
- En el equipo IIS, haga clic en Inicio > Programas > Recursos IIS > SelfSSL > SelfSSL. Esto abre una ventana de comando para la ubicación de SelfSSL.
- Introduzca el comando para crear e instalar el certificado. Este ejemplo crea un certificado válido por 365 días, para el servidor www.example.com, que será aceptado por el navegador local: SelfSSL /V:365 /N:CN=www.example.com /T
- El argumento del nombre (N) debe configurarse con el nombre que los usuarios introducen en el servidor. Consulte la ayuda de SelfSSL para obtener más información sobre las opciones, como instalar un sitio Web IIS que no sea el predeterminado.
- Escriba exit y presione INTRO para cerrar la ventana de SelfSSL.
- Pruebe el certificado abriendo el navegador y cargando una página en el servidor con https://. Aparece un mensaje que informa que el certificado no proviene de una autoridad de certificados. Haga clic para continuar; la página se carga normalmente.
- Si desea utilizar servicios ArcGIS protegidos en una aplicación Web ADF, que se ejecute en un servidor diferente, importe el certificado al almacenamiento de certificado del equipo local. Siga las instrucciones a continuación:
El certificado se reconoce solo cuando se lo solicita con el nombre especificado con el argumento N (o el nombre del equipo, si no se especificó N) mencionado anteriormente. Por ejemplo, si se utiliza el nombre de equipo predeterminado "myserver" y el cliente solicita la página con el nombre de dominio calificado completo "myserver.example.com", el cliente advierte que el nombre en el certificado no coincide con la solicitud.
Instalar el certificado autofirmado en equipos cliente
Con un certificado autofirmado, el cliente mostrará una advertencia al comienzo de cada sesión con el servidor. Si crea una aplicación Web ADF que utiliza seguridad protegida en un servidor con un certificado autofirmado, es posible que el servicio no funcione en la aplicación. Para evitar estas advertencias y problemas de seguridad, puede exportar el certificado desde el servidor e importarlo a los equipos cliente. Esto debe realizarse solo con fines de evaluación internos y de desarrollo, no para sitios de producción.
Exportar el certificado en IIS 6
- Abra el Administrador de IIS y navegue hasta el Sitio Web predeterminado.
- Haga clic con el botón derecho del ratón en el Sitio Web predeterminado y después elija Propiedades.
- En la ficha Seguridad del directorio, dentro de Comunicaciones seguras, haga clic en Ver certificado.
- En la ventana Certificado, haga clic en la ficha Detalles y después en Copiar a archivo.
- En el Asistente de exportación de certificados, acepte todos los valores predeterminados (no exporte la clave privada; use el formato DER), introduzca un nombre para el archivo (por ejemplo, mymachine-ssl-cert-export.cer) y después haga clic en Finalizar. Por defecto, el archivo del certificado se guarda en \Windows\System32\inetsrv\, pero lo puede guardar en cualquier ubicación.
- Comparta el certificado con equipos cliente a través de un correo electrónico, un recurso compartido de archivos o en el servidor Web.
Exportar el certificado en IIS 7
- Abra el Administrador de IIS y seleccione el equipo.
- En Vista de entidades de IIS, haga doble clic en Certificados del servidor.
- Haga clic en el certificado que desea exportar.
- En el panel Acciones, haga clic en Ver.
- En la ventana Certificado, haga clic en la ficha Detalles y después en Copiar a archivo.
- En el Asistente de exportación de certificados, acepte todos los valores predeterminados (no exporte la clave privada; use el formato DER), introduzca un nombre para el archivo (por ejemplo, mymachine-ssl-cert-export.cer) y después haga clic en Finalizar. Por defecto, el archivo del certificado se guarda en \Windows\System32\inetsrv\, pero lo puede guardar en cualquier ubicación.
- Comparta el certificado con equipos cliente a través de un correo electrónico, un recurso compartido de archivos o en el servidor Web.
Una vez que el certificado esté habilitado, continúe con los pasos correspondientes que siguen debajo para importarlo al equipo cliente.
Importar un certificado en IIS 6
- Obtenga una copia del archivo del certificado generado anteriormente y guárdelo de manera local.
- Haga doble clic en el archivo .cer para visualizar la información del certificado.
- Haga clic en Instalar certificado.
- Cuando abra el Asistente de importación de certificados, haga clic en Siguiente.
- En el panel Almacenamiento de certificado del asistente, elija dónde desea instalar el certificado.
- Si el equipo solo ejecuta aplicaciones cliente (ArcGIS Desktop o navegadores), mantenga seleccionada la opción Seleccionar automáticamente el almacenamiento de certificado basado en el tipo de certificado.
- Si el equipo es un servidor Web que alberga aplicaciones Web ADF .NET, haga clic en la opción Colocar todos los certificados en el siguiente almacenamiento. Después haga clic en el botón Examinar, y en el cuadro de diálogo Seleccionar almacenamiento de certificado que aparece, marque la opción Mostrar almacenamiento físico. Expanda Entidades emisoras de certificados raíz de confianza y seleccione la carpeta Equipo local. Haga clic en Aceptar para volver al Asistente de importación de certificados.Nota:
Si el quipo ejecuta aplicaciones cliente como se describe arriba, vuelva a ejecutar el asistente de importación después de finalizar el paso 6 e instale el certificado con la opción Seleccionar automáticamente el almacenamiento de certificado.
- Haga clic en Siguiente y después en Finalizar. Aparece un mensaje que indica que el certificado se importó correctamente. Cierre el cuadro de diálogo Certificado.
Importar un certificado en IIS 7
- Haga clic en Inicio, después en el marco de búsqueda, introduzca mmc.exe y haga clic en Aceptar.
- En la Consola de administración de Microsoft (MMC), haga clic en Archivo y haga clic en Agregar/Eliminar complemento.
- Haga clic en Certificados y después en el botón Agregar.
- Haga clic en Mi cuenta de usuario y después en Finalizar.
- Haga clic en Aceptar en el cuadro de diálogo Agregar o quitar complemento. Se agrega el complemento Certificados a la ventana de la Consola de administración de Microsoft (MMC).
- Expanda el nodo Certificados > Usuario actual y expanda Entidades emisoras de certificados raíz de confianza para ver el subnodo Certificados.
- Haga clic con el botón derecho del ratón en el nodo Certificados, haga clic en Todas las tareas y después en Importar.
- Cuando se abre el Asistente de importación de certificados, haga clic en Siguiente y, en el panel Archivo para importar, haga clic en Examinar y navegue hasta el certificado que desea guardar de manera local. Elija el certificado en el cuadro de diálogo Abrir y haga clic en Abrir. Se muestran la ruta y el nombre en el panel Archivo para importar.
- Haga clic en Siguiente. En el panel Almacenamiento de certificado, verifique que la opción Colocar todos los certificados en el siguiente almacenamiento esté seleccionada y que el almacenamiento de certificado que se visualice sea Entidades emisoras de certificados raíz de confianza. Haga clic en Siguiente.
- Vea la información de resumen para la importación del certificado y después haga clic en Finalizar.
- Haga clic en Sí para la advertencia de seguridad y después haga clic en Aceptar.
- Si el equipo es un servidor Web que alberga aplicaciones Web ADF .NET, repita los pasos desde el 2 hasta el 11, pero, en el paso 4, elija Cuenta de equipo en lugar de Mi cuenta de usuario.
Una vez que realice estos pasos, Internet Explorer y otros clientes basados en IE pueden utilizar HTTPS con el servidor sin advertencias. Los navegadores que no sean Internet Explorer pueden requerir otra aprobación de certificado por separado.
Si planea utilizar una aplicación Web ADF Java de ArcGIS Server para acceder a los servicios Web de SIG, debe instalar el certificado en el Entorno de Runtime de Java (JRE) del administrador de Java mediante la keytool. Si vuelve a implementar la aplicación en un servidor Web diferente, debe agregar el certificado al JRE del servidor Web.
Requerir SSL para las páginas de inicio de sesión y administración del directorio de servicios
Por defecto, el directorio de servicios utiliza HTTP para todas las páginas. Debido a que el inicio de sesión en el directorio de servicios pasa las credenciales al servidor, debe requerir HTTPS para las páginas de inicio de sesión y de administración una vez que haya configurado SSL en el servidor. Para requerir SSL en estas páginas, sigas estos pasos:
- Abra el archivo < Instancia de ArcGIS Server >\rest\rest.config en un editor de texto. Por ejemplo, si el nombre de la instancia es ArcGIS e IIS está instalado en la unidad C:, la ruta sería C:\Inetpub\wwwroot\ArcGIS\rest\rest.config.
- Busque el elemento UseSslForLoginAndAdmin en la parte inferior del archivo.
- Cambie el contenido del elemento a verdadero.
- Guarde y cierre el archivo
Cuando los usuarios hagan clic en el vínculo o los administradores naveguen hasta la página de administración REST, serán redireccionados a una URL HTTPS para proteger las credenciales.