Tu propia distribución Linux modificada

Estás harto de tener que instalar siempre los mismos paquetes, la misma distribución, la creación de usuario….

Tenemos tu solución!

Después de mucho tiempo buscando, como modificar una ISO en Linux para instalarle tus propios paquetes, he encontrado una opción bastante interesante, y en este artículo la explicaremos.

Se basa en una web en la cual todo esto es posible, te deja elegir IP o Hostname del nombre de la máquina en la cual vas a instalar ese sistema operativo, o en caso contrario, marcarle la opción de Forzar a usar un servidor DHCP.

En enlace a esta web es www.instalinux.com

Entre las distribuciones que deja modificar, esta CentOS, Debian, Fedora, Mind, Ubuntu, junto con sus versiones y su arquitectura. Si quieres realizar el proceso con Suse tenemos este otro artículo.

Como personalizar tu instalación de linux

El siguiente paso es elegir que red será la principal, junto al servidor proxy en caso que sea necesario.

Leer más

¿Qué es multicast y para qué sirve?

Quizás alguna vez hayas escuchado la palabra multicast y no has sabido su significado. Vamos a intentar explicar de una manera muy sencilla y resumida lo que significa.

Multicast es un método de envío simultáneo de paquetes (a nivel de IP) que tan sólo serán recibidos por un determinado grupo de receptores, que están interesados en los mismos.

Cómo funciona multicast

Para que el equipo reciba paquetes, antes deben de haberse subscrito a ese grupo, haciéndolo saber mediante un mensaje de tipo IGMP (este tipo de mensaje no solo sirve para que un equipo se apunte para recibir paquetes multicast de una dirección, sino también sirve para que un router sepa que en su interfaz tiene a un equipo interesado en recibir paquetes de una determinada dirección multicast). Cuando el router sepa esa información y le lleguen paquetes con la dirección de destino a la que el host estaba interesado, el router los redigirá y los enviará al host.

Imagen de una comunicación multicast

Cuando hablamos de direcciones, multicast tiene un rango de direcciones IP que va desde la 224.0.0.0 hasta la 239.255.255.255 (esto para IPv4, en IPv6 las podemos identificar porque comienzan con ff00).

Multicast es ampliamente utilizado para tráfico multimedia (video, música, restransmisiones en streaming etc).

Un ejemplo de uso de este tipo de comunicaciones es el reproductor de vídeo VLC que permite realizar una emisión multicast en una determinada dirección. Si algún PC se subscribe a la dirección en la que estés emitiendo, será capaz de verlo.

Leer más

¿Son nuestro certificados seguros?

Una de las cosas en las que más se basa la seguridad en nuestros días, consiste en generar los famosos certificados  que entre otras cosas nos aseguran que nuestros datos vayan cifrados de forma segura cuando los transmitimos a través de la red. Pero no solo se usa en el protocolo HTTPS sino en multitud de protocolos seguros como los de correo.

 

¿Cómo se genera un cerfificado?

Imagen de un certificado RSA con números primos

Básicamente los certificados se basan en un conjunto de información que se intercambia con el cliente, a cerca de las claves que van a utilizar para comunicarse, el tipo de encriptación que van a utlizar y datos sobre el proveedor del servicio.

Uno de los algoritmos que se usan en los certificados es RSA, este algoritmo es un método de cifrado de clave pública, que consta de dos claves que se intercambian, si queréis saber más sobre como funciona el mismo os dejamos este enlace.

Pero este tipo de algoritmos necesitan normalmente de un par de números que forman las claves del sistema. En este caso se necesitan unos números que tienen que tener unas propiedades especiales. Es por ello que normalmente se suele contratar con una empresa dedicada a ellos, para que te genere el certificado, aunque también hay formas de hacerlo por tus propios medios.

Leer más

Haciendo seguro y privado tu teléfono móvil

Hoy nos centraremos en uno de los aspectos de la seguirdad y el hacking que, por su relevancia y su extensión, más debe interesarnos a todos aunque a veces pequemos por descuidar la privacidad allí donde más la necesitamos: nuestros teléfonos móviles.

Resulta alarmante comprobar la importancia (y siempre es poca) que le damos a la seguridad y a la privacidad en nuestros equipos informáticos (PC y teblets, aunque en menor medida), así como a nuestras comunicaciones online, olvidando implementar con el mismo celo la seguridad y la privacidad en nuestras comunicaciones móviles. Es decir, allí donde más necesaria es.

Incluso las personas más concienciadas y mejor formadas en materia de hacking y seguridad, tienden a olvidar que sus teléfonos móviles son ya auténticos ordenadores, conectados a internet y desde los que, además de comunicaciones online, acogen nuestras comunicaciones por voz, nuestros contactos personales y no poca información íntima (fotos, vídeos, mensajes de texto, etc…)

Por ello, conviene centrarnos en cómo lograr que nuestros terminales móviles sean verdaderamente seguros, privados y carentes de la mayor cantidad posible de bugs o agujeros potencialmente explotables por terceros.

El Blackphone: un teléfono pensado y diseñado para resistir ataques contra tu privacidad y tus comunicaciones.

El blackphone

El proyecto Blackphone se puso en marcha con único objetivo en la mente de sus creadores: desarrollar el terminar inexpugnable en una época en la que instituciones públicas, corporaciones privadas e individuos parecen muy interesados en nuestras comunicaciones e información personal.

Su configuración de fábrica incluye encriptación de punto a punto tanto en opciones de mensajería como en procesos de voz. También sustituyen no pocas aplicaciones como whatsapp, por otras open-source y con encriptación de alta calidad para garantizar la privacidad de las comunicaciones de los usuarios.

En suma, sus creadores lo comercializan (así lo anuncian) como un teléfono antiespionaje y antihacking. Como siempre, el tiempo será el encargado de que alguien logre romper su seguridad pero mientras tanto es una referencia a tener en cuenta a la hora de lo más importante: Convertir nosotros mismos a nuestro teléfono móvil en un terminal seguro y blindado, sin tener que recurrir a una marca o desarrollador determinado.

Leer más

Nuevos modelos de aprendizaje en la informática

En algunas de nuestras entradas hemos hablado sobre las distintas maneras de acercarse a la informática, mediante alguna metodología que certifique además los conocimientos alcanzados. Sabemos que muchos hemos aprendido la mayoría de cosas de manera autodidacta, pero este tipo de formación puede suponer un problema cuando nos piden que presentemos un título que demuestre lo que decimos.

Hace algún tiempo hablábamos de los MOOC como un nuevo sistema para aprender con contenidos de calidad, encontrar gente con intereses en nuestros mismos temas y además certificar unos conocimientos.

Hoy os vengo a hablar de otra manera que está teniendo un gran auge en los últimos tiempos en otros países y de cómo se está realizando en España.

Cursos intensivos de desarrollo

Cursos de desarrollo intentivos de IronHack

De un tiempo a esta parte, se están poniendo de moda los cursos intensivos de desarrollo y desde mi punto de vista no es una moda pasajera. Estamos hablando de cursos que para las personas que ya llevamos tiempo en la informática, nos van a permitir en poco tiempo (suelen durar menos de 3 meses), adaptarnos a un conjunto de tecnologías. Pero están pensados también para explicar lo básico y necesario que una persona debe saber si quiere entrar a trabajar en ese tipo de desarrollos.

Pongamos un ejemplo: ahora mismo podemos saber de programación lo básico que comparten todos los lenguajes, las sentencias condicionales, las de control de flujo, los tipos de las variables etc. Si nos ponemos a comparar, esto lo tienen todos los lenguajes y su sintaxis es prácticamente igual, así que sabiendo uno bien podemos irnos moviendo hacia otros de una manera más o menos sencilla.
Si venimos de programación orientada a objetos (Java, C#, C++ etc) y quizás queremos cambiar de puesto y empezar a desarrollar proyectos web, lo único que necesitamos es que nos expliquen las cuestiones, tecnologías y herramientas que se necesitan para este tipo de proyectos. Puesto que ya sabemos algoritmia, estructuras de datos, manejar alguna fuente de datos como una base de datos etc, así que justo lo que necesitamos es un curso intensivo de 2-3 meses que nos ayude a pivotar. Este concepto tan usado últimamente que indica movernos de una posición a otra pero sin partir de cero, ya que nosotros vamos a aprovechar los conocimientos que ya tenemos. Sin embargo como digo estos cursos no son sólo para informáticos, sino para cualquier que sea inquieto y quiera entrar en el sector de las nuevas tecnologías.

Ironhack

Ironhack te enseña a programar
Ironhack es una plataforma bastante nueva, que busca implantar en España este concepto de cursos de desarrollo intensivos centrados en un nicho de mercado. Llevo siguiendo sus pasos desde hace un par de años, cuando seguí una charla que impartieron y donde nos invitaban a participar en este reto. Lo primero que me extrañó mucho fue que el reto había que programarlo en Ruby. En aquellos días yo no sabía ni que existía algo que se llamaba así y mis compañeros estaban más o menos en la misma situación así que empecé a investigar.
Algunas de las conclusiones que alcancé fueron que era una plataforma de formación innovadora, con la metodología de cursos de desarrollo intensivos, pero con la característica de que sus cursos son sobre tecnologías muy actuales. Muchas veces cuando estamos en la universidad estudiando informática vemos que lo que estudiamos es el pasado, en Ironhack era todo lo contrario enseñaban el presente y en algunos casos el futuro, o las tecnologías que se iban a usar dentro de un año.
La verdad Ruby, bases de datos NoSQL, Node.js etc son tecnologías muy usadas hoy en día, pero fuera de los planes de estudio de la mayoría de las instituciones, así que yo creo que faltaba algún sitio, donde formarte en las tecnologías actuales.

La experiencia in Ironhack

Debido a que yo no he participado en ninguno de sus cursos, he intentado buscar opiniones y contactar con gente que sí los ha realizado y este es lo que he encontrado:

  • Se parte de una selección de un pequeño grupo de personas con gran motivación por aprender todo lo posible sobre esa tecnología, de edades y procedencia muy diversas.
  • La metodología de trabajo es de 9AM a 7PM de lunes a viernes, donde se da la teoría y luego se realiza la práctica sobre los conceptos explicados. Además se apoya esta formación con charlas y clases de refuerzo los sábados y los domingos.
  • Se cuenta con un grupo de profesores amplio, que es experto en cada tema, de tal manera que cada concepto, tecnología o lenguaje será impartido por alguien con grandes conocimientos de la misma, huyendo de la típica enseñanza generalista donde una persona sabe de todo. También se cuentan con profesores asistentes para facilitar el éxito en la realización del curso para todos los usuarios, siendo en algunos casos los propios profesionales que prestan apoyo antiguos alumnos del curso.
  • Además del esfuerzo por enseñar cómo programar, se pone mucho énfasis en la calidad del código, explicando a los alumnos conceptos como clean code y evaluando como lo aplican en sus propios trabajos.
  • Desde IronHack ayudan a los propios alumnos a desarrollar su propia idea y es un punto de encuentro muy importante, para hacer contactos, conocer gente del sector (ya que hay empresas colaboradoras que van a dar charlas) y en definitiva tener más oportunidades de conseguir un trabajo. Labor que se toman muy en serio desde Ironhack ayudando en todo lo posible a sus usuarios.

Los alumnos de los que he podido conocer su opinión tiene una formación muy variada, en algunos casos son ingenieros que quieren entrar en el campo de la informática, en otros alumnos que buscan una formación rápida en lugar de elegir una carrera universitaria para entrar directamente en el sector, otros buscan cambiar de trabajo y reorientar su carrera en la informática en otra dirección etc. Pero lo que todos me han transmitido es que es son cursos duros porque son intensivos, pero que merecen la pena realizar.

Si queréis conocer algo más de información sobre Ironhack les podéis visitar desde aquí.

¿Qué os parecen este tipo de cursos de formación intensiva? ¿Creéis que serán una moda pasajera o algo que ha llegado para quedarse? ¿Forzarán a las universidades a actualizarse? Esperamos vuestros comentarios.

SSH conectandónos remotamente.

¿Qué es SSH?

SSH (Secure SHell), es el nombre de un protocolo y del programa que lo implementa, su funcionalidad es acceder a máquinas remotas a través de una red. Su característica básica, es que permite utilizar por completo el ordenador servidor (al cual conectamos) mediante un intérprete de comandos. Este protocolo es válido para sistema Windows y Linux.

Entre otras cosas, SSH nos permite copiar datos de forma segura, gestionar claves RSA para no escribir claves al conectar a dispositivos, entre otras opciones.

SSH trabaja de forma similiar como lo hace telnet. La diferencia principal es que SSH usa técnicas de cifrado que hace que la información viajan de manera no legible, evitando así que terceras personas puedan descubrir el usuario y la contraseña de conexión.

¿Cómo instalamos SSH?

 

Para empezar instalamos el paquete openssh-server en la máquina que hará de servidor.

instalacion_paquete_ssh

 

Leer más

¿Por qué elegir un servidor VPS?

En las últimas dos semanas vengo trabajando con un servidor VPS (Virtual Private Server) para realizar un pequeño proyecto propio de una aplicación. La verdad el cambio de pasar de usar un hosting compartido a un VPS es notorio. En esta entrada os propongo realizar un análisis de qué nos puede ofrecer un VPS y por qué deberíamos usar uno en algunos casos.

¿Qué es un VPS?

Para empezar a hablar sobre este término lo primero que debemos decir es definir qué es un VPS. Un VPS es una instancia normalmente virtualizada sobre un gran servidor, donde tu lo puedes gestionar con acceso total. A diferencia del hosting compartido, aquí tienes garantizado una serie de recursos únicos para ti y puedes instalar el sistema operativo que quieras, cambiar la configuración del servidor web, instalar programas etc. Luego hay otro concepto importante que es el de servidor dedicado en este caso tenemos una máquina física únicamente para nosotros.

¿Debería elegir un servidor VPS?

La respuesta a esta pregunta es depende, lo primero de todo para manejar un VPS es importante que el usuario cuente con conocimientos de administración de servidores, ya que una mala configuración de alguno de los programas nos puede llevar a tener grandes fallos de seguridad. Esto suele ser habitual cuando empezamos, por lo que no es aconsejable que nuestros primeros pasos con un VPS sea para un proyecto serio.

Los servidores compartidos en muchos casos son suficientes para la mayoría de usuarios comunes, si solo quieres tener un blog, una web que muestra información, una base de datos etc, es la manera más sencilla y barata de tener estos servicios.

El servidor VPS tiene la ventaja de que te va a permitir por ejemplo instalar la versión de PHP que necesites, esto es importante si utilizas un proyecto antiguo o si vas a utilizar las nuevas características del lenguaje. De la misma manera te va a permitir instalar compiladores de Java, C, C# etc para poder usar el lenguaje que prefieras.
Otra de las ventajas es la flexibilidad que nos proporciona, al ser tú el que va a administrarlo hoy puedes instalar Node.js como servidor, mañana Apache y pasado Ngnix e ir probando el que mejor se adapte a tus necesidades. Cosa que en muchos compartidos es imposible porque ya te dan ciertas instancias preconfiguradas.

En resumen con un VPS puedes conectarte por SSH o cualquier otro tipo de Shell remota y vas a encontrar una terminal para hacer cualquier cosa que podrías hacer en el ordenador de tu casa. Lo que implica riegos y ventajas.

Leer más

Los Trigger en una base de datos

¿Qué es un Trigger?

Un Trigger, también llamado Disparador, en una base de datos, es un procedimiento que se ejecuta cuando se cumple una condición establecida.

Depende de la base de datos, los Triggers pueden ser antes o después de ejecutar un INSERT, UPDATE o DELETE.

Un Trigger funciona tanto al insertar,actualizar o borrar datos en una base de datos o incluso al crear o editar usuarios.

¿Qué funcionalidad tienen?

Los Triggers son usados para mejorar la administración de la Base de Datos, sin necesidad de que el usuario ejecute esas sentencias SQL.

La utilidad que se le acostumbra mayoritariamente a dar, es para prevenir errores de datos, actualizar tablas, modificar valores, entre muchas utilidades que el administrador le quiera dar.

¿Qué necesito para hacer mi propio Trigger?

Un programa en el cual poder escribir sentencias SQL/MySQL, por ejemplo MySQL Workbench, y en él una base de datos, con tablas, campos o inserciones.

Creando un trigger en una base de datos MySQL

Leer más

Aprendiendo a trabajar con Node.js

Node.js es lo que comúnmente se conoce como JavaScript del lado del servidor, esto es nos permite montar un servidor web, con un motor JavaScript en este caso el motor que utiliza es el motor de ejecución de JavaScript de Chrome.

Aprendiendo a usar Node.js

Aprendiendo Node.js con node School paso a paso

Hoy os proponemos una gran guía para que aprendáis a usar esta tecnología, para ello vamos a usar los recursos de Node School. Así que vamos a ver que recursos son esos:

Los recursos son módulos del propio Node.js así que lo primero que debemos hacer es instalarlo, para ello nos lo bajamos de la web oficial.
Una vez que lo tenemos podremos instalar los módulos de Node.js con la orden “npm“.

Probando Node.js

Ahora lo único que necesitamos es ejecutar el primer módulo y ver que contiene:

Empezando a usar Node.js

Leer más

Creando y codificando la contraseña indescifrable

Hace tiempo que algunos “gurús” de esos que hay por Internet, aseguran que las contraseñas tienen los días contados y que, en breve, las nuevas tecnologías de reconocimiento y seguridad (iris, huella dactilar, comandos de voz…) se encargarán de convertir la seguridad en algo más serio de lo que es hoy en día.

Pero ese “futuro” no termina de llegar, y por el contrario, lo que sí está universalizado es el acceso y protección de datos, tanto offline como online, por contraseña. A lo más, podemos ver que de vez en cuando (casos de Google, Microsoft, etc…) implementan protocolos de doble check para la contraseña. Es decir, que puedes emplear tu móvil para verificar, en un segundo paso, tu acceso por contraseña o su confirmación, pero poco más al respecto de la innovación en este sentido.

Todo lo anterior sumado a que el tema de la seguridad, los secuestros de información y datos, la encriptación delictiva de sistemas ajenos, los ataques por fuerza bruta y demás lindezas están a la orden del día, nos encontramos con un panorama cada día menos fiable en materia de seguridad personal de nuestra información, datos, contenidos y vida digital.

Así que se hacía indispensable hacer un post en el que nos encargásemos de dar las nociones necesarias, para todos (con cualquier nivel de formación y especialización) para ayudar a que cualquiera pueda implementar y crear la contraseña más segura, actualizable, memorizable y a la vez indescrifrable posible, para cuantos servicios, sistemas y procesos se puedan imaginar.

¿Cómo debe ser la contraseña perfecta?

Para empezar, debemos saber cómo ha de ser la contraseña más segura posible. Qué requisitos/características debe tener. Pues bien, toma nota mental, porque ha de ser así:

Compleja, muy compleja: que no pueda ser descifrada por los llamados “ataques de diccionario” en la que un sistema potente compara todas las palabras posibles para ejecutar la apertura. Normalmente se utilizan las palabras que están en el diccionario así que cosas como colcreta que no existen son más “fuertes” que casa o amapolas.

Alfanumérica: que contenga letras y números.

Memorizable: que sea tan fácil de recordar por su legítimo dueño, como difícil o imposible de descubrir por terceras personas. Al fin y al cabo, la contraseña que se olvida no sirve de nada y, además, puede hasta perjudicar a quien la olvidó. Por supuesto, que no deba ser apuntada en ninguna parte para ser recordada. Esto no hace falta ni explicar por qué.

Que no necesite ser recuperada: uno de los agujeros de seguridad más explotados para descubrir una contraseña, es el proceso de recuperación de la misma por parte de un tercero que se hace pasar por el legítimo dueño que la ha “olvidado”.

Que nada tenga que ver con nosotros, a simple vista: es decir, nada del número del DNI, las fechas de nacimiento, los códigos postales, o las siglas de los nombres y apellidos…. Mejor aún, que ni las personas más cercanas y que mejor nos conocen pudieran imaginarla. Así de profunda debe ser una buena contraseña.

Podríamos mencionar otras características, pero si una contraseña recoge o cumple estos requisitos con garantías, ya podemos ir considerando que estamos bien protegidos.

Creando una contraseña fuerte Leer más