por Daniel Monza
- IIS : Internet Information Services
- RDP : Remote Desktop
- HSTS: HTTP Strict Transport Security
Es utilizado por GeneXus para enviar WebNotifications.
El módulo rewrite tiene varios usos, entre ellos sirve para publicar servicios rest en GeneXus.
Para ello, primero se debe instalar Microsoft Web Platform Installer:
https://www.microsoft.com/web/downloads/platform.aspx
Para ello, siempre nos conviene crear una carpeta donde estarán todas nuestras aplicaciones, Ej.: C:\Sites
Dentro del sitio creado en IIS accedemos a "Authentication\Anonymous Authentication":
Luego creamos la carpeta de nuestra app, ej.: c:\Sites\MyApp
El usuario se valida según: IIS AppPool[nombre de application pool]
Si queremos que nuestro sitio sea accedido solo bajo HTTPS, es encesario definir el encabezado HSTS. De esta forma, los navegadores interpreten que nuestro sitio debe ser accedido de forma segura.
Para ello, accedemos a nuestro sitio dentro del IIS e ingresamos al módulo "HTTP Response Headers" donde agregamos el siguiente encabezado:
Name : Strict-Transport-Security Value: max-age=108000; includeSubDomains; preload
max-age: Tiempo en segundos que el navegador recordará la configuración. includeSubDomains: Incluir sub-dominios en la configuración HSTS preload: Indica que se agregará el dominio a la lista Chromium, safari e IE para su revisión.
Corroborar que nuestro sitio sea únicametne accesible por los puertos TCP 80 y TCP 443 desde el exterior.
Tener en cuenta si accedemos al servidor por RDP, filtrar el acceso para que solo se pueda ingresar desde la IP pública desde donde estamos accediento. Lo mismo para la base de datos.
Para configurar ésta propiedad, revisar la siguiente url:
https://wiki.genexus.com/commwiki/servlet/wiki?8068,Encrypt%20URL%20Parameters%20property
Se pueden generar nuevas claves con la función GetEncryptionKey de GeneXus.
En GeneXus 15 esto se puede hacer directamente desde la opción Deploy.
Aquí dejo los links para hacerlo en versiones anteriores a GeneXus 15.
https://www.genexus.com/developers/websac?en,,,29874;;
https://www.genexus.com/developers/websac?en,,,29369;;
- Configurar "Session State" según las imágenes siguientes:
- Luego se debe iniciar y dejar automático el servicio "ASP.NET State Service".
Como GeneXus generea la aplicación Asp.Net de forma compilada (con dll's), es necesario crear en la carpeta base (donde está el web.config), un archivo con el nombre de nuestro Webpanel por defecto, ej.: home.aspx
Luego en IIS, dentro de nuestro sitio, en el módulo "Default Document", agregamos el hombre de nuestro panel por defecto "home.aspx".
Lo mejor es que solo quede éste, de forma que no haya posibilidad que quede otro panel por defecto, ya sea por un descuido o intrusión.
No subir el developer menu.
Hacerlo stateless, o sea, no especificar manejador de sesiones.
Generalmente los webservices no necesitan manejar sesión y si se especifica, se puede incurrir en problemas de performance por lockeo de sesiones.