Archivo de Categoría: Tecnología

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

Instalar Android Orange Pi PC Plus

Hace algún tiempo me compré una Orange Pi PC Plus más que nada por curiosidad ya que no tenía ningún proyecto en mente. Cuando me llegó y lo encendí me di cuenta que venía con una versión en Chino y muy extraña de Android. Intuitivamente no fui capaz de hacer nada. Así que comencé inmediatamente mi búsqueda.

Aquí me lleve mi primera decepción con la Orange Pi, el sitio oficial es realmente HORRIBLE. Hay varias versiones para descargar pero muchos enlaces están rotos o el link de descarga es de Baidu (algo así como el Google Chino), el gran problema es que la velocidad de descarga, al menos de este lado del mundo es pésima. La velocidad varia entre 100 – 200 kb/s. Me hizo recordar una decada atrás.

La versión de Android disponible en el sitio es la misma que venía instalada así que no era una opción. Buscando por aquí por allá me encontre con una opción más o menos limpia que explicaré como instalar. Pese a que uso normalmente Linux esta vez haré la guia de cómo hacerlo con Windows para no agregar una complejidad innecesaria.

Lo primero, lógicamente, es descargar todo lo que usaremos:

Como no los quiero torturar, les dejo un link directo para cada archivo.

Manos a la obra

Instalamos SDFormater y ejecutamos.

Aquí no hay donde perderse, simplemente seleccionar Format y dejar todo como viene.

Ahora vamos con PhoenixCardV3.0.9

Lo primero es seleccionar la memoria SD, luego pinchar en “Img File” y buscar el archivo de Android que descargaron.

En Write Mode hay dos opciones:

  • Product: Si seleccionan esta cuando pongamos la microSD en la OrangePi se instalará Android en le memoria interna
  • Startup!: Si selecionan esta opción Android quedará instalado en la microSD y si prenden la OrangePi sin la memoria partirá tal como venía de fabrica.

Personalmente preferí instalarla en la memoria interna porque la versión de Android que trae no sirve para nada.

El proceso dura un par de minutos, dependiendo de la velocidad de la memoria.

No sé si a todos les pasará pero al menos a mi me hizo pasar hartas rabias un error absurdo que me salia cuando trataba de hacer “Burn” a la imagen. Leyendo por ahí encontré que la solución era con el programa abierto y sin extraer de forma segura con Windows sacar la SD y ponerla nuevamente. No me pregunten por qué pero funciona.

Cuando ya termina el proceso solo nos queda poner la microSD en la Orange Pi y esperar que se instale en la memoria interna. No se demora mucho, creo que no más de 2 minutos. Verán algo como esto:

Finalmente partirá Android y se sentirán como en Casa.

Algunos tips:

  • No hay boton atrás, pero si conectan un mouse con el botón secundario lo podrán hacer
  • No sé por qué pero no funciona el Wifi, en todo caso para mi no es necesario porque solo lo uso cerca del tv y tengo cable de red
  • Trae varios programas utiles instalados, como por ejemplo Kodi. Funciona super bien para ver IPTV.

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