Archivos Mensuales: octubre 2016

Securiza tus dominios de tus Web Apps de Azure con HTTPS.


Buenos dias,

Una práctica habitual es la de securizar los dominios de nuestras aplicaciones web a través de un certificado SSL. Hoy vamos a ver cómo habilitar HTTPS para nuestra aplicación web con dominio personalizado.

¿Qué necesitamos?

  • Configurar el dominio personalizado en nuestra Web App de Azure.- Desde el portal de Azure, Web Apps, “Custom domains” o dominios personalizados …. aqui tenemos que tener nuestro dominio, por ejemplo: http://www.xyz.es

generateCSRAzure000

generateCSRAzure000a

  • Obtener un certificado SSL.-Si no lo tenemos, necestiaremos un certificado SSL emitido por una Entidad  Certificadora oficial con los siguientes requerimientos:
    • Que esté firmado por una Entidad Certificadora Oficial.
    • Que contenga la clave privada (importante).
    • Que esté creado en formato de intercambio de claves y sea exportable, vamos .PFX.
    • Que utilice, como mínimo, un cifrado de 2048 bits.
    • Que el nombre del asunto coincida con el del dominio personalizado (no entrea a valorar certificados Wildcard *).
    • Que combine todos los certificados intermedios utilizados. Para que no haya ningún salto de confiabilidad.

Y eso es lo que os voy a explicar …

Step 1. Creación de Petición para la CA (Certificate request = csr).

Vamos a realizar este paso directamente desde nuestro equipo utilizando la herramienta Certreq.exe.

  • Creamos un fichero de texto con todos los datos importantes que va a contener la petición como el nombre del certificado, Unidad Organizativa, cifrado, exportable y, sobre todo el OID para “Server Authentication”
[NewRequest]
Subject = "CN=<your-domain>"  ; E.g. "CN=www.contoso.com", or "CN=*.contoso.com" for a wildcard certificate
Exportable = TRUE
KeyLength = 2048              ; Required minimum is 2048
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
HashAlgorithm = SHA256

[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.1         ; Server Authentication

Le damos un mobre a nuestro fichero, por ejemplo, NewRequest.txt

  • Abriremos una consola (CD) y ejecutaremos el siguiente comando:

certreq -new pathtomyrequest.txt  pathtocreatemyrequest.csr

siguiendo con nuestro ejemplo, ejecutaremos:

generateCSRAzure0002

Vemos que nos ha generado nuestro fichero csr que es el que tenemos que enviar a la Entidad Certificadora para que nos devuelva el certificado a desplegar en nuestro Web Site

generateCSRAzure0003

  • Enviar a la Entidad Certificadora (CA) nuestro fichero newrequest.csr  para que nos devuelva el certificado SSL a desplegar en nuestro Web Site. En unos casos habrá que cargar el archivo en un formulario web y en otros enviarlo por correo y esperar respuesta.

No hay que olvidarse de que si la CA utilizada Entidades Certificadoras Intermediarias, habrá que bajarse toda la cadena de certificados.

Step 2. Instalación de Certificado expedido por la CA.

Si abrimos una consola (mmc), con el Snap-in de Certificados, podemos observar que estamos a la espera de recibir el fichero, normalmente en formato .P7b, de la entidad Certificadora del certificado que hemos generado:

generateCSRAzure0010

Una vez la CA nos ha respondido guardamos dicho fichero en nuestro directorio de trabajo y ejecutaremos el siguiente comando

certreq -Accept C:tempCertscert.p7b

Este comando almacenará el certificado en el almacén de certificados de Windows. A través de nuestra consola (mmc) podemos observar que la solicitud de certificados ha desaparecido y se ha convertido en un Certificado SSL:

generateCSRAzure0011

Step 3: Exportación del Certificado.

Ahora, lo que necesitamos es exportar este cerfificado con formato .pfx, clave pública y clave privada. Desde la misma consola de Certificados, nos situamos encima del certificado, botón derecho, Todas las tareas, Exportar Certificado. Nos lanzara un asistente de exportación. Siguiente, y seleccionaremos que queremos exportar la clave privada:

Despues, seleccionaremos que se incluya toda la cadena de certificados en el mismo fichero y que se exporten todas las propiedades del mismo:

introduciremos una contraseña….

Y, para finalizar, escribimos el nombre del certificado.

Step 4: Importación en Azure.

Ahora, desde el portal de azure (https://portal.azure.com), accederemos a las Web Apps, al Web Site que queremos importar el certificado

generateCSRAzure0012

Accederemos a Certificados SSL y seleccionaremos “Cargar certificado“. Seleccionaremos nuestro certificado (archivo .pfx) y especificaremos la contraseña del paso 3. Una vez cargado el certificado tenemos que enlazarlo a nuestro Web App

generateCSRAzure0013

Agregaremos el enlace SSL y utilizaremos los menus desplegables para seleccionar el nombre de dominio que va a proteger con SSL, así como el certificado que pretende utilizar. Es posible que también queramos seleccionar el uso de Indicación de nombre de servido (SNI) o SSL basada en IP, dependiendo de nuestras necesidades.

Las principales diferencias entre uno y otro,  SSL basada en IP asocia un certificado a un nombre de dominio mediante la asignación de una dirección IP pública dedicada del servidor al nombre de dominio.En este caso es necesario que cada nombre de dominio (contoso.com, fabrikam.com, etc.) asociado a un servicio tenga una dirección IP dedicada. Este es el método tradicional de asociación de certificados SSL a un servidor web, y SSL basada en SNI es una extensión de SSL y TLS que permite que varios dominios compartan la misma dirección IP con certificados de seguridad independientes para cada dominio. Los exploradores más modernos (entre los que se incluyen Internet Explorer, Chrome, Firefox y Opera) son compatibles con la extensión SNI.

Solo nos quedaría comprobar que nuestra Web App ya tiene acceso por HTTPS.

Links interesantes:

Que tengais una buena semana.

Microsoft Azure Storage Explorer


Buenos dias

Hoy quiero mostraros esta increible herramienta gratuita para gestionar nuestras cuentas de almacenamiento en Azure, Microsoft Azure Storage Explorer, y tiene esta pinta:

Os dejo link de descarga de la última versión, la 0.8.5 de la semana pasada, vamos, calentita, calentita aqui.

Con todos mis respetos, mucho mejor que el Azure Storage Explorer, su antecesor, que ya ha hecho su labor 😉

Os comento las mejoras incluidas en la versión anterior y en esta:

0.8.5

 

  • Podemos utilizar las llaves SAS generadas desde el portal para adjuntarlas a las cuentas y los recursos de almacenamiento.
  • Corregido: El uso de HTTP no funciona cuando conectamos cuentas de almacenamiento directamente con el nombre de la cuenta y su llave.
  • Corregido: Problemas a la hora de importar tablas, como que a veces la inversión entre la clave de partición y de fila, o a la hora de leer claves de paticiones las leia con valor nulo.

 

0.8.4

  • Generar enlaces directos a las cuentas de almacenamiento, contenedores, colas, tablas o recursos compartidos de archivos para facilitarnos el acceso a nuestros recursos en la nube.
  • Busquedas for contenedores blob, tablas, colas, archivos compartidos, o cuentas de almacenamiento.
  • Renombrado y copia/pega de contenedores blob, file shares, tablas, blobs, ficheros y directorios.
  • Renombrar y copiar / pegar contenedores blob, recursos compartidos de archivos, tablas, gotas, gota carpetas, archivos y directorios desde el interior de las cuentas y contenedores.
  • Posibilidad de cambiar nombre y la copia de contenedores blob y recursos compartidos de archivos preservando  sus propiedades y metadatos.

Ademas de sus principales características:

  • Compatibilidad con Windows, Linux y Mac OS.
  • Visualizar todas nuestras cuentas de almacenamiento agrupadas por suscripción.
  • Soporta ambos paradigmas de Azure, tanto ASM como ARM
  • Generar Llaves SAS para blobs, contenedores, colas, tablas o file shares.
  • ……..

Os dejo este video demostrativo del funcionamiento de esta gran herramienta:

Como instalar Microsoft Security Essentials en un Windows Server 2012 R2.


Microsoft_Security_EssentialsHola a todos,

Una de las situaciones mas habituales cuando tienes servidores standalone es decidir qué antivirus le instalo. En entornos empresariales te encuentras que ya tienes este servicio cubierto con productos con Kaspersky, Panda, McAfee, etc., que cubren la mayoría de los supuestos. pero, como he dicho,  ¿qué hacemos con aquellos servidores que están en lugares donde no puedo implementar este tipo de soluciones? por ejemplo en servidores en la nube (AWS o Azure).

Pues nada, sabemos que Microsoft tiene un Antivirus que funciona bastante bien y que podemos instalarlo en Windows 7, 8 y Windows 10 sin problemas, pero ¿se puede instalar en Windows Server 2012 R2? No vamos a entrar en debatir si está bien o no, si es el mejor antivirus gratuito o no, etc., Tenemos la necesidad de securizar un servidor hoy mismo, y esta es la respuesta.

Por defecto, si procedemos a lanzar la instalación sobre nuestro Servidor nos dará diversos errores asi que os dejo aqui una guia Step by Step de la instalación en un Windows Server 2012 R2.

installmse0000

Microsoft Security Essentials cannot be installed on your operating system.

Your version of the Windows operating system is not supported by this program.

Error code:0x8004FF04

Descarga.

Nos descargamos Microsoft Security Essentials desde este link y vemos que únicamente está designado para windows 7, Windows 8, Windows RT y Windows 10, tanto Security Essentials como Windows Defender y tenemos versión de 32 y 64 bits.

installmse0001

Instalación.

Como nos hemos descargado el fichero de instalación, por ejemplo en la ruta c:temp, botón derecho del ratón sobre el fichero mseinstall.exe y obtenemos las propiedades del mismo. En la pestaña de “Compatibilidad”, seleccionaremos que se ejecute en Modo de Compatibilidad para Windows 7.

installmse0002

Volvemos a lanzar la instalación de Essentials y ahora nos da otro error distinto:

installmse0003

Microsoft Security Essentials cannot be installed on your operating system. 

Windows Program Compatibility mode is not supported by this program.

Error code:0x8004FF71

Para solucionar la no soportabilidad de la instalación en modo de compatibilildad de Essentials, abriremos una consola como administrador, nos posicionaremos en la ruta donde hemos descargado el instalable y lanzaremos la instalación con el siguiente flag /disableoslimit :

installmse0004

Ahora si!!!! Siguiente,

Una vez instalado, es recomendable realizar un primer análisis de nuestro servidor así como chequear si hay alguna actualización del producto y de las bases de datos de definiciones de virus

Para terminar, como ya he comentado, este producto no está soportado pero ante situaciones no controladas, por falta de presupuesto, falta de toma de decisión, etc., ya sabeis, hay que actuar.

Y, como colofón a este artículo, aprovechar la aparición de Windows Server 2016 que si tiene un antivirus desplegado en su interior ……

installmse0005Buena semana a todos.

Elevar limite de subida de archivos para sitios PHP alojados en Microsoft Azure.


WAWP_MaxUploadFile0002Buenos dias,

Una de las limitaciones que tiene WordPress es la imposibilidad de subir archivos de un tamaño superior a 8 MB. Esto ocurre si lo tienes en AWS, en Azure, corriendo sobre un Linux o sobre un Windows, ya que es un parámetro definido por defecto.

He visto diversas formas de habilitar la capacidad de “upload files”, muchas de ellas son temporales o dependen de la versión de PHP. Yo os dejo la que me ha funcionado en todas las ocasiones.

WAWP_MaxUploadFile0001

Lo que vamos a realizar es editar un fichero denominado php.ini y definirle los valores máximos de subida de ficheros utilizando un cliente FTP para tal fin. Pasos:

1 Encontrar archivo php.ini

Utilizando, por ejemplo, un cliente FTP FileZila, nos conectaremos a nuestra Web App con WordPress y buscaremos el fichero php.ini,

WAWP_MaxUploadFile0004

La ubicación de este fichero normalmente es en el raiz, o sea, /site/wwroot o en la carpeta wp-admin. También puede ocurrir que no exista. No hay problema, lo creamos con cualquier editor de texto (Notepad++, Sublime, etc.,).

2 Modificar archivo

Una vez editado dicho fichero tenemos que introducir o cambiar el valor de los siguientes parámetros:

upload_max_filesize=32M

post_max_size=100M

max_execution_time=120

Max_input_time=120

Guardamos el fichero php.ini y …….

Os dejo la definición de cada variable:

  • upload_max_filesize => Tamaño máximo de fichero a subir.
  • post_max_size => Tamaño máximo de datos permitidos en un post.
  • max_execution_time => Tamaño máximo en segundos que se permite ejecutar un proceso.
  • Max_input_time => Tamaño máximo en segundos que se permite a un script analizar datos de entrada.

Con incluir las dos primeras variables bastaría para lo que buscamos 😉

3 Comprobamos lo que hemos hecho.

Pues eso, volvemos a entrar en nuestro WordPress y probamos a subir un fichero de gran tamaño. O simplemente con ver este pequeño detalle:

WAWP_MaxUploadFile0005

…. efectivamente, 32 MB de subida.

 

Lectura recomendada:

Windows Azure Web Sites: File upload limit for PHP sites hosted on WAWS.

masrobeznoquenunca

Comparto lo que hago y lo que veo.

El camino de un ITPro

El camino de un ITPro

adumont

Just another WordPress.com weblog

Marcelo Ruiz

Network and SocialMedia

A Digital Frontier...

Blog personal de Robert Garrandés Simancas ("Versión Beta")

Javier Trejo

Para mis amigos, mi comunidad y los amantes de la literatura

El blog de Josep Ros

Comparto lo que hago y lo que veo.

A %d blogueros les gusta esto: