JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Usar varios certificados SSL en el mismo servidor IIS: Limitaciones de SSL y certificados comodín.

El título es así de largo proque realmente trato varios temas que están relacionados yq ue a muchos programadores Web les pueden a resultar útiles. Primeramente, pregunta típica: ¿puedo utilizar varios certificados SSL (Secure Sockets Layer) en un mismo servidor Internet Information Server (IIS)? Respuesta: Sí y No. Un servidor IIS 6.0 permite por defecto asignar varios certificados a servidores virtuales diferentes siempre y cuando éstos funcionen cada uno en un puerto distinto. Así, si usamos en alguno un puerto no estándar (distinto al 443), pues entonces sí nos deja, pero vamos, esto dista bastante de ser una buena solución. También nospermite tener dos certificados en dos servidores virtuales diferentes si cada uno de ellos utiliza una IP distinta. Tampoco es muy útil. Si vamos al diálogo "Avanzadas" de la pestaña general de propiedades de un sitio Web de IIS, veremo... [Más]

Hackeando un NAS Lacie o de como cualquier chorrada puede comprometer la seguridad de un sistema

El otro día os hablaba de un problemilla con un NAS que tenemos y alguno me ha comentado que cómo podía hacer para lanzar la línea de comandos ya que este tipo de sistema vienen completamente cerrados a cal y canto. Voy a explicar cómo hackearlo y veremos que esta es la prueba evidente de que cualquier chorrada por pequeña que sea puede ser un agujero de seguridad. Resulta que en efecto el NAS viene completamente "capado". Lleva Windows XP Embedded y te deja acceder a través de Terminal Server pero te saca una interfaz muy restringida de administración que la verdad no merece la pena puesto que desde la interfaz web que trae se pueden hacer más cosas aún. Esta interfaz reducida tiene el aspecto de una página Web y es en realidad una pequeña aplicación ejecutable que es lo único que se ejecuta al arrancar. no tienes acceso a minimizarla, ni al escritorio, ni responde a las teclas rápidas de sacar el explorador (Windows + E), ni nada similar. Pero sí hay una tecla rápida que responde: C... [Más]

Clon de RunAs.exe (II): petición segura de contraseña

En mi anterior post hablaba de cómo construir un programa "clon" de la utilidad de línea de comandos Windows RunAs. En esta primera parte vimos cómo se lanzaba un proceso suplantando a un usuario, que era el objetivo principal de la aplicación, si bien es la parte más fácil. La tarea que nos quedó pendiente de ver es la más complicada y consiste en solicitar al usuario la clave de manera segura, sin que llegue a estar almacenada en claro en la memoria siquiera. Para ello usamos la clase SecureString, que apareció para estos menesteres en la versión 2.0 del framework. Sin más vueltas vamos a ver directamente cómo se solicita dicha clave y pasamos a explicar los puntos de interés: private static SecureString PideClave(string nomUsuario) { Console.WriteLine("Escriba la contraseña para {0}:", nomUsuario); int top, left; ConsoleKeyInfo cki; SecureString clave = new SecureString(); top = Console.CursorTop;... [Más]

Clon de RunAs.exe: cómo suplantar a un usuario con .NET 2.0

Esta es la primera parte de una serie de dos. El planteamiento es crear un programa que replique la funcionalidad básica de "RunAs", la utilidad de línea de comandos que permite ejecutar cualquier programa suplantando a otro usuario. Nuestro particular RunAs se encargará de solicitarnos de forma segura la clave para el usuario indicado y luego lanzará el .exe indicado suplantando al mismo y por lo tanto permitiéndonos hacer una escalada de privilegios o, por el contrario, ejecutar un programa con menos privilegios que el usuario actualmente autenticado en el sistema. Su uso básico es este: runas usuario ejecutable.exe o bien runas dominio\usuario ejecutable.exe si queremos indicar el dominio también. En este primer post voy a mostrar lo más sencillo que es lanzar el proceso suplantando a un usuario. Dejaré para el próximo la obtención de la clave del usuario y su almacenamiento seguro y pondré el código completo para descarga. El código principal del programa es el que muest... [Más]

Cifrado de información en los archivos de configuración de ASP.NET

Una pregunta muy típica con la que me suelo encontrar es la de: "¿Cómo puedo hacer para proteger la información de mi cadena de conexión a la base de datos si ésta la pongo en mi web.config?". Bueno, lo primero que he de decir es que siempre conviene usar mejor la seguridad integrada de Windows (cadena de conexión con "Integrated Security=SSPI;") que las cuentas propias de SQL Sever, por lo que en ese caso no sería necesario encriptar nada. Por otro lado existe un manejador de peticiones de IIS que impide que el contenido de los archivos web.config sea accedido mediante HTTP, por lo que sólo debería preocuparnos que alguien viera nuestra configuración en caso de tener un agujero de seguridad en el servidor o bien en nuestro código (por cierto, aprende a evitarlos), en cuyo caso tendríamos un problema mucho mayor que el hecho de que sepan las credenciales de un usuario de SQL Server, que ya de po... [Más]

IIS frente a Apache: ¿Cuál es más seguro?

La sabiduría popular suele ser útil para muchas cosas. Sólo hay que darse una vuelta por el rico refranero español para obtener una gran cantidad de sabios consejos grátis. No obstante el saber popular muchas veces que se confunde con lo que son simplemente mitos y leyendas urbanos, que están alejados de la realidad. En el mundo de la informática existen multitud de estas leyendas urbanas. Algunas están sustentadas en hechos "históricos" acaecidos al principio de los tiempos que sin embargo perduran hasta nuestros días como si las cosas permaneciesen inmutables. Por ejemplo, hay quien sigue comparando Windows 98 con Linux para decir que éste último es más estable, etc... (claro que no dicen nada del nefasto "98" en cuestión, sólo de "Windows"), o SQL Server 6.5 con Oracle, etc... Una de estas posibles leyendas urbanas es la de que Apache es mucho más seguro que Internet Information Server. Todo esto viene a raíz de un artículo aparecido en Computer World el pasado día 7, en el que R... [Más]