Archivo de Categoría: Tecnología

Todo lo que tenga que ver con tecnología y que la mundo geek le gusta

Solucionar cambio de hora Dual Boot Ubuntu – Windows

Es habitual que cuando tengamos alguna versión de Linux y Windows instalados con Dual Boot se cambie la hora cada vez que nos cambiamos.

Básicamente esto pasa porque Linux trabaja el reloj del PC por defecto como hora universal y Windows, al contrario, lo hace como hora local. Para solucionar esto hay dos opciones, configurar Linux como local o Windows como universal.

A mi me gusta más configurar Windows como Universal, así que eso vamos a hacer…

  • Abrir regedit
  • Navegar hasta:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
  • Boton derecho y seleccionar “Nuevo -> Valor de DWORD (32 bits)”

regedit-1

  • Como nombre agregamos “RealTimeIsUniversal” (sin las comillas, obviamente)
  • Se hace doble click para editar el valor y cambiarlo de 0 a 1.regedit-2

Con eso ya está listo. Ahora solamente hay que reiniciar y entrar a Linux nuevamente para que cambie la hora. La próxima vez que se se inicie con Windows ya no se habrá cambiado la hora y no volverá a pasar.

La gran decepción de Allo

Tanto se habló de Allo y que sería el gran rival de Whatsapp que no aguanté las ganas de probarlo cuando fue anunciado, pero como no estaba disponible en Play Store lo bajé desde apk mirror.

allo

Después de unos minutos de uso y maravillarme por el asistente de Google, que ahora solo está disponible en inglés,  y una que otra opción novedosa sentí una gran decepción y supongo que será un gran fracaso para Google, al menos hasta que lo actualicen y se pongan al nivel que hoy tienen sus rivales.

El asunto es simple, no tiene ni la mitad de las funciones de Whatsapp que lo hacen ser el líder indiscutido.

Es muy básico, pero con funciones novedosas, el gran problema es que le faltan demasiadas opciones básicas.

¿Que le falta?

  • Poder ver o configurar la hora de conexión de nuestros contactos o si están en linea.
  • Emoticons, si emojis o como quieran decirle. Usa los mismos de hangouts que francamente son horribles.
  • Respaldos de las conversaciones. No somos pocos a los que nos gusta mantener nuestras conversaciones pese a cambiar el telefono, y eso hoy no es posible con Allo, no sé hace un respaldo diario como whatsapp y tampoco están sincronizadas en linea.
  • Chat desde el PC. Una de las grandes características es Whatsapp Web ya evita tener que sacar el teléfono a cada rato cuando estamos frente a un computador. Esa opción brilla por su ausencia.
  • Llamadas.
  • Videollamadas. Si bien esta tampoco es una caracteristica de Whatsapp era esperable que al menos Allo contara con integración a Duo (la nueva aplicación de Google simple y fácil de usar para hacer video llamadas).

¿Y qué tiene de bueno?

  • Chats privados con duración configurable. Es posible iniciar una conversación paralela con cualquiera de nuestros contactos de forma privada, eso significa que todos los mensajes durarán un tiempo especificado y luego de borrarán.
  • Stickers tal como los tiene Facebook, vienen con un parquete básico pero hay un gran número disponibles para bajar.
  • Tamaño de los mensajes. Puede ser una tontería pero a más de alguno le parecerá interesante. Antes de enviar cada mensaje es posible cambiar el tamaño de ese mensaje particular.
  • Google Asistent. Por lejos esto es lo más sorprendente, útil y novedoso, pese a que por ahora solo esta disponible en ingles pero no deja de ser útil.

screenshot_20160924-111851

¿Entonces qué?

No se puede negar que promete, pero le falta un laaaaargo camino por recorrer.  Me parece rara la jugada de Google de querer competir con Whatsapp pero no tener cosas básicas que ellos si tienen.

Obtener A+ en Qualy’s SSL Labs

En el post anterior expliqué cómo obtener un certificado gratuito y dejarlo con A en Qualy’s SSL Labs, pero si eso no es todo y queremos tener A+ aquí explicaré cómo hacerlo.

instantánea118

En realidad en términos de configuración es bastante simple, basta con agregar lo siguiente en la configuración del server de nginx:

add_header Strict-Transport-Security max-age=63072000;

Pero, ¿qué es esto?

Para explicarlo en simple (o en Cetáceo) básicamente se fuerza que toda la navegación sea por HTTPS, incluso la primera comunicación, para evitar que al momento de generar una redirección desde un HTTP un “atacante” se pueda poner “al medio” e interceptar la comunicación antes que sea segura.

*NOTA: El max-age lo pueden configurar como quieran, está en segundos y el del ejemplo es igual a 2 años.

Certificado SSL gratis con Let’s Encrypt en nginx

Vamoh a calmarno’ y dejaré de lado todas las flores a la fundación Linux que siempre se merece junto con todo lo que un  lo que el código abierto y GNU/Linux ha aportado en nuestras vidas geeks y me centraré en un tutorial paso a paso, que espero me sirva como ayuda memoria, de cómo generar un certificado SSL gratis, ponerlo en un proxy reverso con nginx y dejarlo tiqui taca para que pase las más exigentes pruebas de blancura para obtener un A en la prueba de Qualys SSL Labs.  

instantánea96

Requisitos, y cosas que no enseñaré cómo hacer porque hay un montón de tutoriales en internet

  • Servidor Linux, en mi caso CentOS 6 (Sí, aun no me pego el salto a RHEL 7)
  • Dominio o subdominio
  • nginx configurado como proxy
  • Acceso a internet desde el servidor para generar el certificado
  • Un poco de paciencia

Tampoco puedo saltarme todo, así que… ¿Qué es Let’s Encrypt? Básicamente es una autoridad certificadora libre, abierta, automática y gratuita, como debe ser, patrocinada por la Linux Foundation. En otras palabras se cagó a todas las empresas que cobraban lo que querían por hacer algo tan básico y simple como generar un certificado de seguridad para hacer Internet un lugar más seguro para todos los que día a día interactuamos y enviamos información sensible por la red (como las fotos de mis vacaciones, cof cof).

Para obtener el certificado  se debe usar el cliente certbot que nos ayudará a instalar todas las dependencias necesarias en nuestro servidor y generar el certificado en un par de pasos.

OJO: Todo esto se debe realizar solamente en el servidor de nginx, no en el servidor donde realmente esta nuestro sitio, que como es un proxy reverso no necesariamente es el mismo donde corre nuestra web, esto debido a que nginx es nuestro extremo expuesto a internet y será el quién se encargará de la seguridad de la comunicación que finalmente llega al usuario.

En este caso a modo de ejemplo, nginx no lo configuraré como proxy reverso apuntando a otro servidor, simplemente servirá el index por defecto que viene cuando se instala.

Instalar el certbot

Antes de todo, se deben instalar los repositorio epel

yum install epel-release

Ahora se obtiene una copia de certbot y se le dan los permisos necesarios,

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

¿certbot-auto? Es lo mismo que certbot pero instala todas las dependencias necesarias para hacer todo más fácil.

Ahora vamos a ejecutarlo y generar el certificado. Pero antes de eso, para facilitar la verificación de nuestra propiedad del sitio web en cuestión, vamos detener nginx o apache (o lo que tengamos corriendo en puerto 80) para que certbot-auto levante temporalmente un servicio corriendo en ese puerto.

./certbot-auto certonly -d seguro.fpipe87.com

instantánea99

instantánea100

Ahora se debe configurar nuestro sitio web en nginx, en este caso yo lo haré en /etc/nginx/conf.d/ssl.conf para que sea un poco más ordenado.

La configuración debe ser tal cual como está abajo, solamente se debe cambiar el dominio en cuestión y lo que va dentro de location / { } porque es qué se mostrará cuando se acceda.

server {
listen       443 ssl;
server_name  seguro.fpipe87.com;

ssl_certificate      /etc/letsencrypt/live/seguro.fpipe87.com/cert.pem;
ssl_certificate_key  /etc/letsencrypt/live/seguro.fpipe87.com/privkey.pem;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers “EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA38
4:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-A
ES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES1
28-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4”;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security max-age=600000;

location / {
root   html;
index  index.html index.htm;
}
}
instantánea104

Con esa configuración ya estamos casi listos y tenemos lo más dificil listo. El test marcará B y para dejarlo A basta solo un paso más.

instantánea103

Ahora se ejecuta un comando para generar un nuevo grupo Diffie-Hellman. Google Chrome, Mozilla Firefox, and Microsoft Internet Explorer aumentaron el mínimo de bits necesarios en la encriptación a 1024. En este caso vamos a generar uno de 4096 bits para evitar futuros problemas con OpenSSL

openssl dhparam -out /etc/letsencrypt/live/seguro.fpipe87.com/cert.dhparam.pem
4096

instantánea106

Esto se puede demorar un par de minutos dependiendo obviamente de la potencia de nuestro servidor.

Luego basta con agregar esto a la configuración de nginx

ssl_dhparam          /etc/letsencrypt/live/seguro.fpipe87.com/cert.dhparam.pem;

instantánea111

Reiniciamos nginx y probamos nuevamente (OJO, para re scannear hay que presionar donde dice “Clear Cache”)

instantánea107

Ok, con esto sacamos el error de Diffie-Hellman pero sigue siendo marcando B porque nos falta agregar algo más. Si bajamos y vemos los detalles solo falla esto:

instantánea108

Esto es porque nos falta agregar la información de Let’s Encrypt en el certificado generado. Basta con abrir el archivo y agregar lo siguiente al final del certificado.

https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt

vim /etc/letsencrypt/live/seguro.fpipe87.com/cert.pem

Para que quede así más o menos así:

instantánea109

Ahora sí está todo listo, reiniciamos por última vez nginx para que tome los cambios y vamos a probar nuevamente en la página. Tal como se muestra en la imagen a continuación marcará A y estará en verde.

instantánea110

Bueno, eso es todo y pese a que parece largo en realidad no lo es tanto y tenemos nuestro certificado gratis y seguro.

Cualquier duda o sugerencia lo pueden dejar en los comentarios y con gusto los ayudaré.

CentOS: Instalar “setup”

“setup command not found”

La versión minimal no trae esta utilidad así que hay que instalarla, basta con estos comandos.

yum install setuptool -y
yum install system-config-network* -y
yum install system-config-firewall* -y
yum install system-config-securitylevel-tui -y
yum install system-config-keyboard -y
yum install ntsysv -y