Información Tecnica

Información Tecnica, Seguridad

Cómo funciona la clave pública y clave privada (cifrado asimétrico).

Hoy en día se usa mucho el cifrado con clave pública y clave privada, el llamado cifrado asimétrico. Navegando lo usáis con SSL (aunque es mixto), lo usáis con certificados digitales, los monederos de las criptomonedas (Bitcoin etc) lo usan etc. Así que hemos hecho un pequeño vídeo explicando cómo funciona este tipo de cifrado y por qué es más seguro en muchos casos. Aunque, como explicamos en el vídeo, es algo más lento que el cifrado simétrico y, por ejemplo, en SSL se usa el método híbrido donde algunos pasos son simétricos y otros asimétricos para tener la ventaja de ambos métodos. Si queréis más sobre cómo se calcula y obtiene la clave pública y la privada, de manera matemática, este es el algoritmo para RSA: Cifrado:    C = M^e ( modulo n )  Descrifrado:    M = C^d ( modulo n ) donde: M = Texto plano a cifrar expresado como un número entero. C = Texto cifrado expresado como un número entero. n = el producto de dos números primos grandes aleatorios p y q. d = un número primo relativo de (p-1)*(q-1) grande y aleatorio. e = el inverso multiplicando de d, es decir:         ( e * d ) = 1 ( modulo ( p – 1 ) * ( q – 1 ) ) La clave pública es el par ( n, e ). La clave privada es el par ( n, d ). El método es seguro porque la única manera de encontrar el factor primo de un número es probar las divisiones. Y claro, números primos hay infinitos y en este caso trabajamos con números muy grandes y aleatorios. En una clave privada de 128 bits hay 2^128 / ln( 2^128 ) = 3,835,341,275,459,350,000,000,000,000,000,000,000  números que se pueden probar. Si se pudieran comprobar un trillón de números por segundo (ya es mucho)… ¡se tardaría 121,617,874,031,562,000 en probar todos! En este ejemplo de wikibooks explican muy bien cómo se obtienen todos los elementos de este tipo de cifrado.

Información Tecnica, Noticias Informáticas, Seguridad

Meltdown y Spectre: ENORMES problemas de seguridad que afectan a casi todos los equipos

Para hoy teníamos programados otros artículos. No íbamos a hablar de Meltdown, que apareció hace dos días. Pero el progreso de este GRAVE problema con los procesadores, y la aparición de Spectre hace que tengamos que dedicar el artículo de hoy a explicarlo. Para que os hagáis una idea, esto, en el mundo informático, es mucho más grave y afecta a más equipos que el sonado caso de Volkswagen en los coches. Y además, todo indica que también se sabía desde hace un tiempo. Se va a convertir en una verdadera pesadilla para los fabricantes de procesadores Intel, AMD (esos dos tienen el 96% del mercado) y AMR (móviles también). Obviamente esto es independiente de sistemas operativos, afecta a Windows, Mac y Linux porque es fallo del procesador. Como siempre vamos a intentar hacerlo de manera sencilla, no técnica. Si queréis entrar en más detalle os dejo este artículo y este otro. se lo han currado.  Chema Alonso le da su toque también en este otro. Nuestro objetivo es explicarlo para gente normal. El martes 2 de enero algunos medios especializados empezaron a hablar de un fallo de diseño en los procesadores Intel. En casi todos los procesadores fabricados desde 1995. Este fallo, llamado ahora Meltdown, es un kernel memory leak, una “fuga de memoria” del kernel que permite a aplicaciones sin derecho de administrador a acceder a cualquier dato de otros procesos. El kernel es la parte del sistema operativo que comunica software con hardware (procesador). Es la primera capa del sistema operativo, su parte central. El fallo del CPU hace que el kernel no pueda gestionar bien los permisos y cualquier aplicación pueda acceder a datos como contraseñas o datos personales.     Muy grave. Manda al garete la seguridad de cualquier ordenador, servidor, cloud computer etc. No se libra nadie. Os dejamos un ejemplo: Using #Meltdown to steal passwords in real time #intelbug #kaiser #kpti /cc @mlqxyz @lavados @StefanMangard @yuvalyarom https://t.co/gX4CxfL1Ax pic.twitter.com/JbEvQSQraP — Michael Schwarz (@misc0110) January 4, 2018 La solución era parchear los sistemas operativos, cosa que Linux hizo enseguida y los demás se pusieron a trabajar en ello. Con un inconveniente. Dicho parche parece que podía ralentizar los equipos entre un 5% y un 30%. Imaginaos lo que puede hacer eso para los servidores (30% más lentos en las webs o servicios cloud) o para los particulares que vean que sus ordenadores van 30% más lento. Un desastre. Y son lentejas, hay que hacerlo si queremos conservar un mínimo de seguridad. En principio se pensaba que afectaba sólo a Intel (que lo ha confirmado pero como diciendo “sí pero no sólo soy yo”), aunque se sospechaba que podía no ser así. Y apareció su “colega” Spectre. Más serio, que afecta también a AMD y AMR (por lo tanto a más del 96% de ordenadores y muchos dispositivos móviles).  Y sin solución inmediata. Meltdown y Spectre son similares. El primero se carga el sistema que evita que las aplicaciones accedan a otras. El segundo engaña a otras aplicaciones para que le dejen cotillear sus entradas de memoria. El primero tiene solución, el segundo se está estudiando. ¿Te afecta esto? Sí, con que tengas un ordenador te afecta. Si usas servidores o Cloud también. ¿Qué puedes hacer? Actualizar. Como siempre hay que mantener los sistemas operativos de todos los dispositivos actualizados. Les toca a las empresas trabajar para sacar las actualizaciones. Y en cuanto salgan dichas actualizaciones te toca a ti instalarlas. A menos que quieras equipos totalmente desprotegidos. Los que tenemos servidores dedicados también debemos actualizar y parchearlos. ¿Afectará al rendimiento? Nadie lo sabe. Todo apunta a que sí en alguna cuantía. Seguramente en los equipos personales poco y más en los servidores. Pero no hay más remedio. O totalmente vulnerables, o algo más lentos. Y por último, ya no en el plano informático, puede que hayan implicaciones también legales. Porque parece ser que los directivos de Intel (y a saber otras empresas) ya conocían este fallo y “sospechosamente” vendieron parte de sus acciones hace unos meses (sacar rendimiento de información privilegiada, ocultar información etc).  Veremos qué ocurre con este tema.  

Compartir, Información Tecnica, Internet

Explicamos de manera sencilla las criptomonedas y los Bitcoin

Nos lo habéis pedido algunos, y es un tema en el que muchos estamos interesados. Las criptomonedas y los Bitcoin en particular, son un tema de IT, y este aspecto es mucho más importante del que la gente cree. Así que hemos decidido aportar nuestra explicación sencilla desde el punto de vista tecnológico. No financiero, porque yo soy autónomo, y de ganar dinero sé poco. Muchos piensan que el Bitcoin es sólo una moneda más…pero no lo es. Detrás hay un protocolo de moneda por Internet, necesario (mucho) en nuestra forma de operar por Internet, y una tecnología que promete cambiar drásticamente muchos de los procesos de Internet: el Blockchain. De hecho a esta última la dedicaremos otro vídeo en un futuro, porque es realmente prometedora (una base de datos descentralizada y autoregulada). Sus futuras aplicaciones van creciendo cada día. Hoy, os dejamos una sencilla explicación de lo que son las criptomonedas y el Bitcoin, como primera y la que lleva más rodaje. También un poco cómo se usan y por qué son necesarias. Esperemos que os sirva de ayuda. Nota: en el vídeo tuvimos un lapsus. Satoshi Nakamoto publicó su documento con las especificaciones del Blockchain y Bitcoin en el 2009.

Información Tecnica, Smartphones, Telefonía, Webs

Will My Phone Work? Página para comprobar si un teléfono funcionará en tu país

Yo suelo comprar mis teléfonos en China. La diferencia de precio respecto a otras marcas es abismal, puedo conseguir modelos mejores a mucho  menos precio. Ahora es verdad que muchas de las marcas (como Xiaomi) o los distribuidores están vendiendo en España, pero aún así suben entre 50-100€ el precio respecto a China. Os recuerdo la mejor página para comparar los modelos de móviles en cuanto a calidad/precio. Pero cuando estás comprando un móvil chino tienes dos dudas importantes: Que esté en tu idioma. A mi personalmente no me importa demasiado, me vale el inglés. Pero para muchos es importante que tenga la traducción española. Eso es fácil de ver en idiomas en la información que proporciona el vendedor. Que funcione en tu país. Porque las bandas de telefonía no son iguales en Asia y en España, y puedes encontrarte con que en tu nuevo móvil no funcione la banda 3G o 4G. En España las bandas son: 3G: 900 y 2100 MHz 4G: 800 (desde abril de 2015), 1500 MHz (próximamente), 1800 MHz y 2600 Mhz 5G:  700 Mhz (a partir de de 2020), 1500 MHz (próximamente), 3.500 MHz (próximamente). Normalmente tienes que ir comprobando la banda y asegurándote que funciona. Pero hoy compartimos con vosotros una página que lo hace por tí: https://willmyphonework.net/ En Will My Phone Work sólo tienes que poner la marca del móvil que vas a comprar, el modelo, la ROM que tiene (si es pertinente), tu país y tu operador, y te pondrá de manera sencilla con qué bandas funciona. Fácil y rápido. Otra manera de asegurar que haces una buena compra. Nota: también es importante ver el duplex que usa un teléfono. Existen dos tipos: FDD o TDD (Frequency Division Duplex vs Time Division Duplex). En Europa se usa FDD y en China TDD, asi que asegúrate que te venden el modelo FDD.

Información Tecnica, Internet, Noticias Informáticas, Seguridad

KRACK: el ataque que ha vuelto todas las claves wifi actuales (WPA2) inservibles

Hace unos días un investigador belga, Mathy Vanhoef, ha sorprendido al mundo informático “cargándose” todas las contraseñas Wifi actuales (WPA2) de un plumazo. Además con una solución muy elegante. Su ataque, llamado KRACK (Key Reinstallation AttaCK) no descubre la contraseña, sino que engaña al protocolo de Wifi, y le permite conectarse, pudiendo obtener toda la información que pasa sin cifrar por esa red. Es, por lo tanto, un fallo grave que afecta a todas las redes wifi y a todos los dispositivos (porque no es a nivel de dispositivo, sino de protocolo). WPA2, lo que se ha roto, es el protocolo que hace la negociación con los dispositivos para ver si se pueden conectar a una red o no. Esta negociación la hace en 4 pasos, y es en el tercero en el que KRACK engaña al sistema. KRACK intercepta los paquetes de negociación, hace que se reenvíen y lo hace con la misma clave. Al reenviar los paquetes con la clave original de nuevo es posible descifrar esos, y cualquier otro que se envíe con esa clave. Aquí está explicado en detalle por Vanhoef. ¿Qué puedo hacer para evitarlo? Lo primero es navegar siempre de manera segura. Es decir por páginas https o usando VPN. Porque este hack permite al criminal conectarse a la red y ver su contenido en texto plano. Pero no aquel contenido que esté, a su vez, cifrado. En ese caso, él estará en la red, pero verá el contenido cifrado. Lo segundo es esperar, como este es un ataque al protocolo directamente, tenemos que esperar a que los desarrolladores y fabricantes lo arreglen. De hecho ya lo están haciendo: Microsoft ha anunciado que los sistemas con soporte (Windows 7 hasta Windows 10) ya lo tiene solucionado desde el 10 de Octubre. Si instaláis actualizaciones. Los sistemas anteriores seguramente sean vulnerables (pero no deberías estar usándolos). Apple también ha anunciado que lo tiene solucionado en todos sus dispositivos y que los usuarios tienen que actualizarlos lo antes posible. Es de esperar que las diferentes distribuciones de Linux lo vayan actualizando el los próximos días. Todos deberíamos verificar si nuestros routers, móviles, tablets etc tiene firmwares nuevos o actualizaciones y, de ser así, actualizar lo antes posible. ¿Que riesgo real tenemos? Evidentemente en tu casa nadie va a intentar usar este ataque. Requiere ciertos conocimientos. Eso si, no sabéis la cantidad de chavalines que hay en cafeterías o desde su casa probando estos métodos para ganar experiencia. Y más en redes públicas. Como siempre, recomendamos usar https y vpns. Cada día tiene más sentido. Porque aunque hayan arreglado esto…saldrán otros fallos.    

Compartir, Información Tecnica, Noticias Informáticas, Redes Sociales

Es muy fácil crear Tweets y post de Facebook falsos. Contrastad las noticias antes de compartirlas.

Llevamos un tiempo viendo publicaciones falsas de políticos y celebridades compartidas en las redes sociales sin contrastar. Simplemente ven que alguien a publicado un supuesto Tweet de esa persona, diciendo alguna barbaridad, y lo comparten sin contrastar. Como verdad absoluta. Así que pensamos que debíamos escribir este artículo para hacer ver a la gente (muchos no harán caso) lo fácil que es crear un Tweet (publicación de Twitter), o un post de Facebook falso. Antes esto se podía hacer con algo de habilidad con Photoshop (o Gimp), pero ya disponemos de generadores online que lo hacen realmente sencillo. Os pongo algunos ejemplos: No, obviamente ni Megan Fox se muere por mis huesos, ni voy a ser el próximo rey de España ni Google nos vende toda su empresa. Son tweets falsos, hechos en 5 minutos. Lo mismo se puede hacer con las publicaciones de Facebook, los mensajes privados de ambas redes y realmente con cualquier red. Aquí os dejo algunos generadores para que juguéis (es muy divertido). Conclusión: ¡contrastad antes de compartir o de indignaros! http://simitator.com/generator/twitter http://www.prankmenot.com/  Para Twitter y Facebook

Diseño Web, Información Tecnica, Trucos

Activar y desactivar el modo debug en Laravel

Laravel, el conocido framework de Php, tiene muchas ventajas, pero hay que reconocer que los errores que da no son muy explícitos. La mitad de las veces es algo como : Whoops looks like something went wrong Siempre podemos ver los logs, que están en storage/logs  y ahí podemos mirar mucha información. Pero puede que queramos ver algo más en pantalla. Para ello tenemos que activar el modo debug. Aquí os dejamos cómo. En versiones anteriores estaba definido en el fichero .env como APP_DEBUG=false. Ese campo había que cambiarlo a APP_DEBUG=true. Pero en la versión 5, el modo debug se activa en el fichero config/app.php  Ahí veréis una línea como: ‘debug’ => env(‘APP_DEBUG’, false), Que se puede poner en true si quieres que aparezcan los mensajes de error en pantalla. Una vez hayas corregido los errores, asegúrate de desactivar este modo, porque da demasiada información que los usuarios no deberían tener. Ahí podréis definir también si queréis registros diarios, semanales etc y el nivel de error que queréis que aparezca. Más información aquí.  

Diseño Web, Información Tecnica, Sistemas

Gestionar Mysql por línea de comandos. Comandos básicos

Si, como nosotros a veces, tenéis que gestionar bases de datos Mysql por línea de comandos (porque, por seguirdad, no admita gestión web por phpMyadmin), seguramente os olvidaréis de los comandos. Nosotros no estamos todo el día trabajando con Mysql, y usamos muchos tipos de lenguaje, así que solemos olvidarnos de los detalles. Os dejamos aquí los comandos que más necesitaréis. Recordad que esto es una guía MUY básica. Acceder a mysql. Lo ideal es acceder un un usuario que tenga permisos totales para las bases de datos o permisos tipo root. Aunque en muchos sistemas el usuario root no puede entrar en mysql. Todo depende de cómo hayas configurado el sistema. En Debian al instalar creo que lo llama debian-sys-maint. No es buena idea poner tu contraseña de mysql en línea de comandos, así que lo mejor para acceder es:mysql -u nombreusuario -p Mostrara las bases de datos: show databases; Acceder a una base de datos: use nombrebasededatos; Mostrar tablas de una base de datos: show tables; Crear una base de datos:  CREATE DATABASE nombrebasededatos; Borrar una base de datos: DROP DATABASE nombrebasededatos; Ver una lista de usuarios:  select user,host from mysql.user; Ver los permisos de un usuarios:  show grants for ‘nombredeusuario‘@’%’;% es localhost, si eso otra máquina es: show grants for ‘nombredeusuario‘@’ipdelservidor‘; Crear un usuario: CREATE USER ‘nombre_usuario’@’localhost’ IDENTIFIED BY ‘tu_contrasena’; Dar permisos a un usuario en una base de datos. En general, para todos los permisos es: GRANT ALL PRIVILEGES ON nombredelabasededatos.* TO ‘usuario’@’servidor’; Todo esto puede ampliarse con los permisos de Mysql y las opciones. Por ejemplo para una tabla sólo: GRANT ALL PRIVILEGES ON nombredelabasededatos.tabla TO ‘usuario’@’servidor’; Por ejemplo si quieres crear otro super-usuario: GRANT ALL PRIVILEGES ON *.* TO ‘usuario’@’servidor’; Quitar permisos para un usuario: REVOKE permission ON nombrebasededatos.tabla FROM ‘user’@’localhost’; Hacer copia de seguridad de la base de datos. Para esto es mejor hacerlo desde FUERA de Mysql, desde el shell del servidor, la línea de comandos de Linux, usando Mysqldump.$ mysqldump -u nombreusuario -p nombrebasededatos > nombrefichero.sql’; Para exportar una tabla:mysqldump -p –user=username database_name tableName > tableName.sql Esto lo copiará a la ruta donde estés en Linux. Más avanzado:$mysqldump –user=nombreusuario -p –all-databases > nombrefichero$(date +%Y-%m-%d-%H.%M.%S).sql; Esto hace una copia de todas las bases de datos a un fichero donde pone fecha al final del nombre. Recordad que todo esto se puede poner en un fichero para hacer copias cada cierto tiempo. Importar fichero a una base de datos. Se puede hacer de dos maneras. 1) Mysqldump. mysql -p -u username database_name < filename.sql O para una tabla: mysql -u username -p -D database_name < tableName.sql 2)Desde dentro de mysql (la que uso yo) Entrar en la base de datos con: use basededatos; Importar el fichero con source: source rutaalfichero/nombredelfichero.sql; Iremos poniendo más según vayamos echando en falta algún comando.

Diseño Web, Información Tecnica, SEO, Trucos

Google Disavow: herramienta avanzada para eliminar el SEO negativo. Enlaces tóxicos.

Hoy os queremos hablar de la herramienta Google Disavow. Como indica el título, es una herramienta avanzada, la mayoría de los sitios no la necesitarán. Pero explicamos quién puede necesitarla, por qué y cómo usarla. Si no te preocupa tu posicionamiento, o no tienes problemas con él y vas bien…el artículo no es para ti. Disavow es decirle a Google “por favor no cuentes estos enlaces para mi SEO”. No es la herramienta del derecho al olvido, no va a eliminar los enlaces del buscador, sólo no los contará para tu posicionamiento. Pero, si tengo muchos enlaces, ¿mejor no? NO. Desde el algoritmo Penguin (2012 creo), existe lo que se llaman enlaces tóxicos y SEO negativo. Google no considera positivo cualquier enlace. De hecho sitios con poca reputación influirán negativamente, las famosas “granjas de enlaces” que tanto afectaron a quien las contrataron. Es decir, no puedes crear artificialmente 50 000 enlaces a tu página: tienen que ser enlaces naturales y relevantes. ¿Cuándo se crean estos enlaces tóxicos? De muchas maneras, pero las más comunes son cuando contratas a una empresa para mejorar el SEO y una de las cosas que hace (mal) es poner enlaces a tu página en todos los sitios que puede (foros, webs, etc). Estos enlaces PENALIZAN, no son positivos. La otra surgió después de Penguin, y es que empresas de la competencia pueden poner enlaces tuyos en sitios que penalizan, para perjudicar tu posicionamiento. Ese es el SEO negativo. No hay que obsesionarse, el número de enlaces que entran a una web es “sólo” uno de los muchos factores por los que Google te posiciona. No el único ni el que más cuenta. Es importante, y cada enlace puede ser un voto, pero subirás a la “primera página” sólo por eso. ¿Cómo usar la herramienta Disavow? Evalúa los enlaces entrantes. Puedes ver fácilmente qué enlaces apuntan a tu sitio haciendo un escaneo de tu web con herramientas online (ya hemos hablado de algunas y pondremos más) pero también es un apartado de Webmaster Tools. Ahí puedes y debes hacer un análisis de los enlaces entrantes si tienes problemas. Si detectas enlaces que no deseas. Si detectas enlaces tóxicos (normalmente porque una  empresa contratada los ha puesto), ponte en contacto con los administradores (webmaster) de esos sitios para intentar eliminarlos. Disavow es siempre la última opción. Si no pudes eliminarlos: usa Disavow. Cuidado: si no sabes lo que haces puedes afectar negativamente a tu posicionamiento. Pero si no encuentras otra solución usa Disavow. Para ello tienes que crear un fichero txt con las url o dominios que quieras desautorizar. Por ejemplo: # example.com removed most links, but missed these http://spam.example.com/stuff/comments.html http://spam.example.com/stuff/paid-links.html # Contacted owner of shadyseo.com on 7/1/2012 to # ask for link removal but got no response domain:shadyseo.com La última línea desautoriza todos los enlaces de ese dominio. Sube ese fichero a la herramienta Disavow.  Recuerda que no es algo inmediato, puede tardar varias semanas porque evaluarán tu petición. Así que ve mirando los enlaces entrantes de nuevo hasta ver si se han eliminado tus peticiones. Más información aquí.

Diseño Web, Información Tecnica, Sistemas, Trucos

Crear un archivo phpinfo para ver módulos, parámetros y versión de php

Este es uno de esos artículos que deberíamos tener desde hace tiempo en el blog, porque es básico…pero uno siempre vuelve a buscar cómo hacerlo. Así que hoy corregimos esa falta. Si quieres ver toda la información sobre el php de tu servidor (dedicado o virtual), puedes hacerlo por línea de comando usando los siguientes comandos: php -i php -v Pero no siempre tienes acceso ssh, y la presentación de esta información no es ideal. Afortunadamente podemos crear un archivo phpinfo.php en nuestro servidor, y ejecutarlo desde el navegador, para tener toda la información: módulos, versiones, parámetros, límite de descargas, límites de memoria etc. Todo. Nota: no tiene que llamarse phpinfo.php. Muchas veces lo puedes querer crear con otro nombre, para que la gente no obtenga esa información fácilmente (cuanta más información, mejor atacan). Cómo crear el archivo phpinfo. Abre un editor de texto, o en tu ordenador, o por línea de comando en el servidor (nano, vim etc). Pon el siguiente código: <?php phpinfo(); ?> Guarda le fichero con el nombre que quieras acabado en php. Por ejemplo phpinfo.php, o info.php, o loquesea.php. Ahora accede por el navegador en http://www.tudominio.com/rutaquehaspuesto/phpinfo.php Debería abrirse una pantalla como esta  en el navegador con toda la información. Para más opciones de phpinfo mira este manual.  

Scroll al inicio