miércoles, 26 de febrero de 2014

Une o Divide archivos PDF

Bueno, este post tiene doble intención, aunque...... os voy a dejar con las ganas, sólo diré que con esta aplicación que os voy a contar se está cocinando a "fuego lento" parte de un post que espero que os guste, pero bueno, vamos al tema de hoy.

La aplicación en cuestión se llama PdfSam y bueno, como viene siendo habitual, lo instalaremos desde el synaptic o la terminal como siempre:

sudo apt-get install pdfsam

Bueeeno, ya lo tenemos y lo encontraremos en nuestro menú de oficina (para variar, jejeje), lo primero que haremos, al menos los que no dominen mucho la lengua de William Shakespeare, es ponerlo en Español, nos iremos a  Settings y seleccionaremos donde pone Language nuestro idioma.



le damos donde pone "save" y reiniciamos el programa para que nos inicie en Español.

Ahora vamos a suponer que tenemos un archivo en Pdf que contiene 20 o 30 paginas, aunque sólo necesitamos guardar 5 paginas concretamente, ¿que haríamos?, bueno, si lo que queremos es imprimir, es fácil, ya que cuando seleccionamos para imprimir nos pregunta si queremos imprimirlo todo o sólo la página actual, pero nosotros lo que queremos es guardar sólo las paginas que queremos así que vamos a separarlas y dejarlas como archivos independiente.

Seleccionamos, Dividir y pulsamos sobre Añadir, buscamos el archivo en cuestión y lo marcamos.


 Como podéis ver, nos da varias opciones de división del archivo, podemos separarlos por números "pares" "impares", seleccionar a partir de que pagina, etc, en el interrogante que veis indicado con la flecha, os da una pequeña explicación de para que sirve cada opción.
Elegimos la carpeta donde queramos extraer los archivos y pulsamos ejecutar.
He creado una carpeta en el escritorio y ahora varéis el resultado, este archivo concreto tiene 75 paginas y vais a ver como se ha quedado.


 Ahora ya sólo queda que seleccionéis el archivo que realmente os interesa y eliminar el resto, sencillo ¿verdad?....

Bueno, pues ahora vamos a hacer todo lo contrario, vamos a unir todos los pdf en un sólo fichero, supongamos que tenemos X hojas en formato pdf y nos interesaría tenerlo todo agrupado en un mismo archivo, el mecanismo es igual de sencillo.

Nos iremos donde pone Unir/Extraer buscamos los archivos que queramos juntar y los seleccionamos, un truquito que muchos sabréis, si queréis ir seleccionando de uno en uno, mantened pulsado la tecla CTRL mientras dais al ratón y se irán marcando, pero si marcáis un archivo, pulsáis la tecla SHIFT y seleccionáis otro archivo, todos los que estén entre medio serán seleccionados, (por si acaso alguien no lo sabía pues ya está, informado), venga una imagen vale más que mil palabras.


Seleccionamos archivos, pulsamos abrir y se añadirán, una vez añadidos todos, seleccionamos donde pone buscar el directorio donde queramos que nos aparezca el fichero pdf y pulsamos sobre ejecutar.

Una vez los tengáis añadidos podéis seleccionar el orden de los archivos, subiendo o bajándolos según os interese.



Y más de lo mismo, una vez a nuestro gusto, pulsamos ejecutar y en un par de segundos nos lo habrá unido, quedando así.


Pues bueno, ya veis como se ha quedado, a la izquierda, el archivo unido y a la derecha pues como se ve cualquier fichero en pdf.

Espero que pueda servir de ayuda a alguien y lo dicho, se está cocinando algo muuuuuyyyy muuuuuyyyyy interesante,

miércoles, 19 de febrero de 2014

HTTPS. ¿Seguro que es seguro?

Aunque algunos de vosotros se sientan desazonados ante el título de este post, quiero  ante todo tranquilizaros. No es tan malo como parece. O sí. Todo es según el color del cristal con que se mire. Llevamos años escuchando la frase: “El protocolo HTTPS es seguro”. Pero también llevamos años escuchando que lo peor de la crisis ha pasado…

Voy a intentar destripar este “infalible” protocolo. Como siempre, primero os voy a explicar en qué consiste.

HTTPS son las siglas de HiperText Transfer Protocol Secure. Para los de “nivel medio” de inglés en sus CV, Protocolo Seguro de Transferencia de Hipertexto. Ea, ¿cómo os habéis quedado...? ¿Igual...? Pues intentaremos volver a traducirlo. 

Todos sabéis ya que las páginas web utilizan un lenguaje llamado HTML, y que se puede crear o modificar con un simple editor de texto. Navegar por Internet, de manera predeterminada, es hacerlo de manera abierta, o lo que es lo mismo, la información que va y viene desde la página web que estamos visitando y nuestro PC, se transmite en texto plano y es susceptible de ser escuchada y entendida por métodos no excesivamente complicados (incluso fáciles, diría yo). Así que para poder intercambiar datos sensibles, utilizamos el protocolo HTTPS, que no es otra cosa que aplicar cifrado a la información. Como recordaréis los que hayáis leído mis anteriores post, existen diversos métodos de cifrado, unos más seguros que otros. 

En concreto, HTTPS procede a cifrarse utilizando SSL/TLS, que son unas bonitas siglas que corresponden a Secure Sockets Layer/Transport Layer Security, diferentes sistemas de cifrado que podemos simplificar diciendo que son “razonablemente” seguros, por no decir completamente, algo que ya sabéis que es imposible. 

[Frannoe dixit]
Entonces, ¿a qué viene el título del post? ¿Para crear un flame…? 

[Jose respondere]
Je, je, je… No hombre, después de la última experiencia, no quiero volver a pasar por ello…

Vamos a ver el porqué de mis reparos a la navegación segura bajo HTTPS. La seguridad de este protocolo está basada en un proceso de cifrado robusto, difícilmente o imposible de descifrar, y una relación de confianza con el sitio web donde nos conectamos de forma segura, ya que sólo si confiamos en el sitio que estamos visitando, se generará el tráfico cifrado entre el servidor y nosotros.

Para el cifrado de la información, HTTPS utilizaba de manera predeterminada el conocidísimo RC4, desarrollado por Ron Rivest (coautor de RSA). De este mozo ya os hablé en el post de cifrado de Thunderbird. También os he hablado de RC4 en el post de Wi-Fi, ya que es el algoritmo de cifrado de WEP y WPA/WPA2. Es un algoritmo de cifrado robusto, simple y efectivo. También os comenté que, aunque su código no ha sido liberado nunca, una descripción de éste fue publicada de forma anónima en una lista de correo y después se expandió como la espuma por la web. Esto ha hecho que el certificado haya sido marcado como "DEPRECATED", aunque Ron Rivest ha insistido en que su uso sigue siendo perfectamente válido. Creo que en este caso Ron no va a ganar...

El protocolo funciona aplicando dos protocolos más sencillos, que generan unos arrays de números en los que los valores son colocados de manera aleatoria. El caso es que el año pasado se descubrió que esa aleatoriedad no era lo bastante aleatoria, valga la redundancia. Y eso no es bueno, nada bueno. RC4 continúa usándose, aunque cada vez menos, debido a su velocidad. Claro, a los administradores de páginas HTTPS les interesa un protocolo rápido, que no haga que la navegación sea lenta y que no sobrecargue al servidor. Así que a pesar de la vulnerabilidad, continuó usándose durante todo el año pasado. Hoy en día, en las páginas seguras que yo uso habitualmente, ya está sustituido, pero lo podreis comprobar cada uno en sus propios accesos, como os explicaré más adelante. ¡Ojo! No estoy declarando con esto que sea fácil romper este protocolo. Sólo que existe una probabilidad más alta que con otro. Probabilidad no es igual a posibilidad. La mecánica cuántica establece que existe una probabilidad de que corras contra un muro y lo atravieses, sin que ninguno de tus átomos colisione contra cualquiera de los átomos del muro, apareciendo al otro lado con las narices intactas…. ¿Queréis probar vosotros? A mí es que da la risa floja sólo de pensarlo…

Pasamos a estudiar el otro parámetro de la ecuación. La relación de confianza.  Ésta se establece mediante el uso de certificados de autenticación. Los más antiguos del Blog, recordarán que en la serie que publiqué para montar nuestro propio servidor, creamos nuestro certificado de autenticidad. Claro, servía para nuestros propósitos, ya que no íbamos a autenticarnos ante nadie, excepto ante nosotros mismos. Comentaba entonces, que la única diferencia entre nuestro certificado y el de Google, por poner un ejemplo, era que el nuestro no estaba validado por ninguna entidad validadora de certificación (CA o Certificate Authority). Así, si llegamos a una página web https, y su certificado no es válido, nuestro explorador nos avisará del error del mismo. 

¿Y qué es lo que hace que salten las alarmas en nuestro navegador? Pues que dicho certificado no esté reconocido por una de las entidades en las que confiamos. Y aquí viene el problema. ¿En cuales confiamos? Porque la lista, lamentablemente, se está volviendo infinita. 

Veréis, en el caso de Firefox, Mozilla mantiene una lista de entidades de confianza seguras. A éstas se las denomina Entidades de Certificación Raíz de Confianza.
Podemos verlas accediendo a las preferencias de Firefox->Avanzado->Certificados->Ver Certificados:


Bien, vamos a dar por válidas las Entidades Raíz que nos indica Mozilla. El problemas es que estas Entidades pueden emitir certificaciones para que otras Certificadoras emitan a su vez certificados válidos (parece un trabalenguas, ¿verdad?). Éstas se llaman Entidades Certificadoras Intermedias, y son tan válidas como las Entidades Raiz. Estas Certificadoras intermedias, pueden, a su vez, emitir certificados para otras Entidades Certificadoras, y suma y sigue. Mientras dependan, en el origen, de una Entidad Raíz, nuestro navegador confía en ellas.

Ahora imaginemos una situación que puede llegar a ser real. Imaginar que una persona de dudosa moral, monta una tienda en Internet para la venta de portátiles a mitad de precio. Un chollo, ¿no? Bien, como no nos fiamos un pelo, no vamos a comprar en una página en donde tengamos que poner los datos de nuestra tarjeta de crédito, si ésta no empieza por https, que llevamos años escuchando que es lo que hay que hacer para estar seguros. Pero, ¿qué necesita nuestro chorizo de turno para crear una página https que no haga saltar todas las alarmas en nuestro navegador? Eso que estáis pensando, un certificado validado.

Y, ¿cuánto cuesta obtener un certificado validado? Pues depende del tipo, porque lo puedes obtener desde poco más de 10 €. E incluso menos si nos buscamos una Entidad dos o tres pasos por debajo de una Entidad Raíz. Y si está en un país de esos que tienen “mucho control”, pues mejor que mejor. ¿Por qué no nos vamos a fiar de una Entidad Certificadora China, eh? Ya, para rizar el rizo, podemos incluso conseguir un certificado totalmente válido gratuitamente, por un periodo de prueba de 90 días. 

Así que por poco más de 10 €, alguien puede montar una página donde dejaremos tranquilamente el número de nuestra tarjeta bancaria, CVC incluído. ¿A que mola? Ah!, se me olvidaba… todo esto de forma totalmente segura, encriptada y tal, ¿eh?. No seais mal pensados…

¿Entendéis ahora porqué tengo reparos a la expresión esa de “navegar bajo protocolo https es totalmente seguro”? 

[Frannoe dixit]
¿Y se puede hacer algo?

[Jose respondere]
Algo se puede hacer, si. Aunque siempre tendremos que estar con mil ojos, por si las moscas.

Empezando por el cifrado, podemos desactivar en nuestro Firefox el uso de RC4. Aclaración: Yo lo tengo desactivado. No me interesa entrar en una página https que tenga dicho cifrado. Debería ser trabajo del administrador de dicha página utilizar otro sistema de cifrado. Pero es decisión de cada uno. Quiero decir, que yo ya he comprobado que las páginas potencialmente peligrosas para mí (bancos y compras on-line) no utilizan dicho protocolo. Pero si una página de una compañía del gas o de seguros lo tiene… pues a lo mejor no es tan grave, siempre y cuando no vengan los datos de nuestra cuenta corriente o tarjeta, ¿no?

¿Y cómo sabemos si utiliza un cifrado u otro? Vamos a verlo. Vamos a conectarnos primero a un banco famoso:

 

Vemos el candado en la barra de direcciones, lo que significa que estamos navegando bajo https. Pulsamos en él y nos da cierta infomación:


Pulsando en más información vemos… más información. Paradójico, ¿verdad?  


Y aquí abajo vemos que el protocolo de cifrado no es RC4. ¿Y en esta otra página?



Vaya, pues estos siguen utilizando RC4... Pues eso, que yo paso de esta gente… Para desactivar el RC4 en nuestro Firefox es tan sencillo como acceder a about:config, y buscar RC4. Después, dejaremos en False todas las opciones que nos salgan:




¿Qué ocurrirá ahora si queremos acceder a esa página? Pues en el caso que nos ocupa, ocurre esto: 


¿No es pa matarlos? Claro, es que RC4 es más ligero y rápido que AES, así que yo, por defecto, te cuelo el RC4… No, si tontos no son...

Alguien puede pensar que lo siguiente que deberíamos hacer, es verificar la lista de las Entidades Raíz en las que confiamos. Hay que tener cuidado con esto. Si nos cargamos por ejemplo a Verisign, dejaremos de confiar en la mitad de las páginas seguras de Internet. Pero tal vez una buena idea sería eliminar aquellas entidades pertenecientes a países, digamos, oscuros. Cualquier buscador te dará información de las entidades que desees eliminar. No seré yo quien me eche encima al departamento jurídico de una Entidad Certificadora secundaria por deciros que no la aceptéis. Pero a veces me pregunto, ¿qué se me ha perdido a mí en Turquía, por poner un ejemplo?

En definitiva lo que tenemos que hacer es fijarnos en nuestro navegador, que es muy listo y nos dice más cosas de lo que pensamos.

Vamos a acceder, por ejemplo, a VeriSign (https://www.verisign.es)


Esto viene a ser una página certificada “de pata negra”, con un certificado del tipo Extended Validation (EV). Para empezar, nos describe en la propia barra de navegación el certificado. Si pulsamos de nuevo en más información, y a continuación en Ver cerfificado, pestaña Detalles, nos adentramos en las entrañas del mismo:
  

Aquí vemos quién es la Autoridad que ha ratificado como correcto dicho certificado, en concreto se trata de una Autoridad Primaria de Certificación o Certificadora Raíz. Claro que certificarse a sí mismo no debería ser ético, pero el caso que nos ocupa es ciertamente peculiar, al tratarse de una Autoridad Primaria. Veamos a nuestros amigos de Google:



Vaya, de momento no aparece en verde, ni especifica a quién pertenece…. Porque es Google, porque si tratara de una página de compraventa, ya estaría con la mosca detrás de la oreja. Además, eso de que alguien se certifique a sí mismo… Salvo que seas una Autoridad Primaria, como que no convence, ¿no?...Más información, please:



Insisto, porque se trata de Google, porque este sería un ejemplo de lo mal que está el tema de los certificados en la web. Así que GeoTrust Global CA (Autoridad Certificadora Raíz) autoriza a Google Internet Authority G2, y ésta es la que certifica a *.google.com, o sea, a sí misma…. Pues qué queréis que os diga… En las Notarías son más serios… Ya la repanocha hubiera sido que la autorizara una entidad China o Coreana… 

[Frannoe dixit]
Pero, ¿hay problema porque Google se certifique a sí mismo?

[Jose respondere]
No, Fran, con Google no hay problema… de momento. Como objeción, puedo decirte que con el dinero que gana Google, bien podía tener un certificado extendido. Eso como mínimo. Pero lo mismo te diría de los bancos. Ahora bien, siendo muy paranoicos, podemos pensar que al ser Google una empresa norteamericana, se puede doblegar ante las presiones de la NSA, por poner un ejemplo. Así, Google podría generar un nuevo certificado para ellos, y entonces no necesitarían romper ningún encriptado, sea RC4 o RSA. Teniendo el certificado original, un ataque Man-in-the-Middle desencriptaría todo el tráfico HTTPS con Google. Jodido,  ¿eh? ¿Lo estarán haciendo ya?... Qui lo sá…

¿Con esto terminamos? No, todavía queda una pequeña cosita. Hay algo que es superior a mis fuerzas. No puedo, soy incapaz de entender porqué configuran por defecto la caché de esta manera. Vamos a ver, Firefox, alma de cántaro… ¿por qué la información de las páginas https se queda cacheada en el disco? Y, ¿qué es lo que estás cacheando exactamente? Venga, hombre, mi hijo de doce años cuando trae una nota y no quiere que me entere, la esconde para que no la encuentre, no la deja guardada en el cajón…


Así que about:config de nuevo, y buscar cache.disk. De las claves que salen, cambiamos a False la clave browser.cache.disk_cache_ssl


Y como recordatorio final, hagamos caso al Firefox, que tan mal hecho no está después de todo. La información que nos da en cuanto a las páginas seguras es esta:

 

El globo terráqueo de color gris indica que el sitio no proporciona ninguna información de su identidad y la conexión a dicho sitio no está cifrado o está cifrado parcialmente, con lo que no puede garantizarse la seguridad. ¿Qué hago yo? Vade retro Satanás...

La señal de advertencia naranja indica que el sitio no proporciona ninguna información de su identidad y la conexión a dicho sitio está cifrada sólo parcialmente, con lo que tampoco está garantizada la seguridad. ¿Qué hago yo? Vade retro, Satanás…

El candado gris nos indica que el propietario del sitio ha comprado un certificado que demuestra que son los propietarios, y el sitio en sí no es falso. El cifrado el correcto, y la página segura. Sin embargo, no nos confirma quién es el propietario del sitio. ¿Qué hago yo? Bueeeno, vaaale… Hay que ser rata para no gastarse el dinero en un certificado completo… Si la página es conocida, adelante. El problema es que la inmensa mayoría de sitios seguros utiliza este tipo de certificado.

Y por último el candado verde nos indica que el sitio ha sido verificado mediante un certificado extendido (EV), que es un tipo de certificado que exige un proceso de verificación de la identidad muy riguroso. Asimismo, nos indica que el sitio está cifrado correctamente. Ojalá fueran así todas las páginas seguras.

Espero que os sirva de orientación.

lunes, 17 de febrero de 2014

Wifi hasta el infinito y más allá...

Ahora mismo, tengo activos en mi casa dos smartphones, cuatro tablets, tres portátiles, tres sobremesa, y cuatro consolas de juegos que acceden a mi red inalámbrica. No todos a la vez, pero puedo aseguraros que he llegado a tener hasta siete dispositivos conectados al mismo tiempo, tirando de la red. Y claro, se lía el carajal padre. Porque el pobre no da abasto a servir de señal aceptable todos los rincones de la casa. Al principio era fácil, sólo yo utilizaba el portátil y con que tuviera señal en el salón y mi habitación, me bastaba. Ahora, me exigen que llegue la señal hasta al baño. Y por otro lado, yo mismo me impongo que llegue señal a mi trastero, situado justo bajo mi casa. Y si lo consigo por un lado, me chillan por el otro. Así que, harto de que me chillen, decidí arreglar la situación. La solución era sencilla, o bien montar un nuevo emisor más potente, o bien instalar un repetidor de señal.

En esas estaba, decidiendo por cuál de las opciones me decidía, cuando la que no quiere ser nombrada me dijo que no entraba otro trasto más en casa. Que me las apañara con lo que tenía... Y yo, en un ataque de testosterona, le dije: ...si cariño, lo que tú digas...

Así que, una vez más, me sumerjí entre las cajas de restos informáticos del trastero y encontré dos routers wifi antiguos Speedtouch. Los encendí y descubro que tienen implementada la función WDS. Esto son las siglas de Wireless Distribution System, y consiste en que puedes conectar entre sí varios puntos de acceso inalámbricos, sin necesidad de un cable. El problema que tiene es que en estos aparatos no funciona con encriptación WPA. Tiene que ser WEP. ¡Vaya por Dios! Y yo acabo de escribir un post en el que os cuento que no utilicéis WEP… ¿Con qué cara me pongo yo ahora delante de vosotros? Además, con WDS disminuimos la velocidad en cada salto de access point que montemos… Gran dilema… Bueno, si los conecto con un cable, no pierdo velocidad, pero tengo que montar dos redes distintas… Vaya, pues no sé... bueno, ya veré cómo lo monto, ahora no lo tengo que decidir. Lo que sí tengo que asegurar es la seguridad de la misma. Y aquí es donde entra Radius. Este tema lo voy a dividir en dos post. El primero tratará totalmente de teoría, y en el segundo implementaré todo el rollo que os voy a soltar en este. Quiero que entendáis bien todo lo que vamos a hacer, así que intentaré explicarlo de la manera más sencilla posible.

Empezando por el principio, todos sabemos lo que es una red wifi... o no. Realmente Wi-Fi es una marca registrada. Hace unos años, en concreto en 1999, una serie de empresas se unieron para crear un estandar de conexión inalámbrica. Unos meses más tarde, se certifica la norma IEEE 802.11 bajo una marca, Wi-Fi Alliance, que después se ha usado para nombrar cualquier tipo de dispositivo inalámbrico.


Comparando la norma 802.3 (Ethernet) y la 802.11 (Wi-Fi), encontramos que son exactamente iguales. De hecho, la norma Wi-Fi se creó para sustituir las capas Física y Enlace de datos de la norma Ethernet, por lo que el funcionamiento de ambas es idéntico, a excepción del módo de transmisión de las tramas o paquetes de datos. Por eso es perfectamente compatible el uso en la misma red de dispositivos inalámbricos y de cable.

[Frannoe dixit]
 ¿Capas? ¿Eso qué es?

[Jose respondere]
Pufff.... Eso sí que es una buena pregunta. A ver cómo lo explico para que lo entendáis.

En los años 60 y 70 se produjo un boom en las tecnologías de las comunicaciones. Se crearon muchísimas tecnologías de redes, pero cada una era de su padre y de su madre. Es decir, cada una tenía sus propias normas, protocolos, hardware, etc. Ya en los 80, el cacao era tan grande, que la ISO se sentó a trabajar para crear un modelo de red que guiara a los fabricantes para crear redes compatibles entre sí. Y, después de mucho trabajar, se sacaron de la manga el modelo OSI (Open System Interconnection). El modelo OSI establece una serie de capas, que definen cómo se va relacionando el paquete o trama de una capa a otra. Así, define siete capas, a saber, Física, Enlace, Red, Transporte, Sesión, Presentación y Aplicación. Y en este modelo se han basado todas las arquitecturas de red desde entonces.

Volviendo a las redes inalámbricas, las que todos conocéis son la 802.11b, 802.11g y 802.11n. Si, os aseguro que las conocéis... Cada vez que entráis en vuestro router o access point a la sección de red inalámbrica, véis un desplegable en el que casi todos tenéis seleccionado 802.11 b/g. Los que tengan un aparato más moderno, incluso puede ser que tengan seleccionado 802.11 b/g/n. Pero realmente hay más, aunque no vamos a entrar a conocerlas todas.

La 802.11b fue el primer estándar comercial de Wi-Fi Alliance. Es una revisión del estándar original 802.11a, desarrollado en 1.999, y tiene una velocidad máxima de 11 Mbit/s. Bajo este estándar, el cifrado utilizado es el archifamoso WEP, Wired Equivalent Privacy, o Privacidad Equivalente a Cableado (Ja!). Proporciona un cifrado con claves de 128 bits, y todos sabéis ya que descubrir un clave WEP es más fácil que quitarle un caramelo a un niño.

Avanzando un poco en el tiempo, en el 2003 se liberó un nuevo estándar, usado hasta la saciedad hasta el día de hoy, en el que la inmensa mayoría de los dispositivos inalámbricos están funcionando. Este es el denominado 802.11g. Establece una velocidad teórica máxima de 54 Mbit/s. En este mismo año 2003, la Wi-Fi Alliance libera el cifrado WPA (Wi-Fi Protected Access) y poco tiempo después, WPA2, al publicar la norma 802.11i. Podríamos decir que WPA es una versión de migración desde WEP, mientras que al publicarse la 802.11i, se establece como sistema definitivo WPA2.

Mas recientemente, en 2004, se reunieron de nuevo para desarroyar una nueva norma, 802.11n. Este estándar está implementado desde 2008, aunque no fué definitivamente publicado hasta el 2009 (los fabricantes, que ya saben por donde van los tiros...) Este último estándar establece una velocidad teórica de 300 Mbit/s.

Bien, pues llegamos a un punto en el que estamos ya en una red 802.11g o 802.11n, con cifrado WPA o WPA2. Pero, ¿es seguro este cifrado? Pues no del todo, ya que heredó muchos de los defectos del cifrado WEP. Vamos a verlo un poquito.

Estamos hartos de ver siglas como WPA-PSK con TKIP, WPA-PSK con AES, WPA2-PSK con TKIP... ¿Qué demonios significan estas siglas? Como os he dicho anteriormente, WPA fue creado por la Wi-Fi Alliance para implementar un sistema seguro de encriptación. Fue desarrollado para utilizarse con un servidor de autenticación (aka RADIUS). Claro, eso obligaría a que en cada red doméstica o similar, estuviese presente dicho servidor. Para evitarlo, WPA permite la utilización de una clave precompartida, que es el modo que utilizamos casi en el 100 x 100 de redes domésticas o de pequeño formato. Esto es lo que conocemos como WPA-PSK o WPA2-PSK (Pre-Shared Key).

Una PSK es una clave secreta compartida con anterioridad entre las dos partes de una comunicación, usando un canal seguro. A la hora de autenticarnos ante una red WPA/WPA2-PSK, todos sabemos que debemos introducir la clave de dicha red, y el S.O. se encarga de comunicarse con el punto de acceso y trasmitir dicha clave para establecer la autenticación. Esto en sí mismo es un problema, ya que cualquier atacante capturando tráfico, puede escuchar dicha clave, y mediante ataques de diccionario y/o fuerza bruta, puede descubrir la clave. Lógicamente, cuanto mayor sea la longitud de la clave, más difícil será romperla, entendiendo por difícil que más tiempo se tardará en ser descubierta.

Existen dos tipos de algoritmos de cifrado con PSK. Se denominan TKIP y AES. 

TKIP o Temporal Key Integrity Protocol, funciona de la siguiente manera: el proceso comienza con una clave temporal que tienen tanto el cliente como el punto de acceso. Esta clave temporal es combinada con la MAC Address del cliente, y le agrega un bloque de bits para generar la clave de cifrado. Cada 10000 paquetes (por defecto), se cambia la clave temporal y se vuelve a generar una clave de cifrado. Para cifrar los paquetes, se utiliza el protocolo de cifrado RC4, método de cifrado utilizado también por WEP. RC4 es un método de cifrado simétrico, que tuvo la "desgracia" de ser publicado su algoritmo en una lista de correo por algún "graciosillo". Así que ya no es considerado seguro.
AES (Advanced Encription Standard) es el otro método de cifrado utilizado en WPA/WPA2-PSK. Es el estándar de cifrado actual con clave simétrica. Puede utilizar claves de 128, 192 ó 256 bits de longitud, que se aplican a bloques de datos de 16 bits, ya que este cifrado funciona por bloques. Es un cifrado muy seguro, pero claro, aplicado sobre una PSK, se vuelve vulnerable. Insisto para que quede claro: el protocolo es seguro, pero si nos descubren la clave, estamos vendidos.

Así que ya sabemos que toda red que utilice PSK es vulnerable. Con WPA/WPA2, no tanto como con WEP, pero vulnerable a fin de cuentas.

Para evitar esto, vamos a utilizar el modo WPA/WPA2-ENTERPRISE (que en realidad es el modo "natural" de WPA/WPA2). Este modo, como bien habréis adivinado ya, consta de un servidor que recibe las peticiones de autenticación enviadas por el punto de acceso. A este servidor se le conoce como RADIUS. En principio son las siglas de Remote Authentication Dial-In User Service, y en concreto, se trata de un protocolo de autenticación de usuarios. Muchos de vosotros, sin saberlo, usáis un servidor Radius a la hora de conectaros a Internet. Sí, vuestro proveedor, dependiendo del tipo de autenticación que tengáis habilitada, usará un servidor Radius para verificar vuestros datos y ver si podéis navegar por la red.

El servidor Radius utiliza para su proceso de autenticación la norma 802.1X, y en concreto utiliza un protocolo llamado EAP (Extensible Authentication Protocol). En realidad, EAP no es un protocolo como tal, sino más bien un framework de autenticación. Como tal, provee diversos métodos para realizar dicha autenticación. Veamos los principales:

EAP-TLS. Establece un túnel cifrado para realizar la autenticación mediante TLS (Transpor Layer Security). Para crear dicho túnel, tanto el cliente como el servidor tendrán un certificado privado, así que es un método ciertamente muy seguro. Se envía un certificado del cliente al servidor para la autenticación.

PEAP. Aquí la autenticación se realiza mediante la introducción de un usuario y una contraseña. El problema es que tanto el usuario como la contraseña se transmiten en texto plano, con lo que se pueden captar dichas credenciales.

EAP-TTLS. Aquí se establece un túnel cifrado utilizando un certificado del servidor, y a través de él se transmiten el usuario y la contraseña. 

PEAP-TLS. Autenticación por certificados, pero el certificado del cliente se encripta antes de ser enviado al servidor para su autenticación.

¿Y qué método es mejor? Pues depende de las ganas y las necesidades de cada uno. Me explico. Conectarse mediante usuario y contraseña para algunos puede resultar un trastorno, pero en entornos empresariales es lo más común. Ahora bien, en mi caso, os he comentado que voy a dar acceso a doce dispositivos. ¿Puedo crear para ellos certificados y evitar tener que utilizar usuario y contraseña para conectarme? Pues si, pero tengo el inconveniente de que no podré dar acceso a ningún invitado en un momento puntual. Es algo que tenéis que valorar cada uno de vosotros.

[Frannoe dixit]
¿Y no se pueden implementar los dos sistemas a la vez?

[Jose respondere]
Pues ahí me has pillao con las bragas en los tobillos... Creo que no, pero lo veremos con seguridad en el próximo post...

Antes de despedirme, os voy a enseñar mi nuevo servidor casero:


¿Quién dijo que hace falta mucho sitio para montar un servidor? Este chiquitín mide 166 mm de ancho x 164 mm de profundo x 48 mm de alto... Y tiene 4 GB de RAM, Gráfica GeForce 9300 con salida HDMI, Intel Core 2 Duo y HD de 1 TB. ¿Suficiente...? Me sobra la mitad. 

Nos vemos en el próximo post.

jueves, 13 de febrero de 2014

"Esconde" tus cosas importantes o personales....

¿Quien no tiene algo en su ordenador que quiera mantener lejos de miradas indiscretas......?
Casi todo el mundo sabe que renombrando el archivo y poniéndole un simple . delante se nos quedaría oculto, salvo que alguien pulse ctrl+h  y ya lo podría ver tranquilamente, con lo cual no está excento de "curiosos".

Bueno, para ese tipo de "cositas" tenemos un programa que va de lujo en este caso, el programa en cuestión se llama CRYPTKEEPER y como todos sabemos, se puede instalar facilmente desde nuestro querido synaptic o desde la terminal como siempre:

sudo apt-get install cryptkeeper

Antes que nada, tenemos que tener a nuestro usuario en el grupo fuse

sudo adduser TuUsuario fuse

Vamos al lío, ya lo tenemos instalado, nuestro usuario agregado al grupo y queremos empezar a "esconder" nuestras cosas, así que buscaremos el programa en cuestión en Aplicaciones / Herramientas del sistema.

Cuando se inicie, veremos en nuestro panel que nos sale un "candado" o una especie de "caja fuerte" bueno, dependerá del tema de escritorio que tengais instalados, pero vamos, que lo vereis facilmente.
Bien, nos pondremos sobre el, daremos click con el botón izquierdo del ratón y veremos que nos sale un menú muy simple, más simple que el salpicadero de un seat panda vamos, nos encontraremos esto:

  • importar carpeta cifrada
  • nueva carpeta cifrada
Creo que es fácil la elección ¿no?, pues venga vamos a decirle que queremos crear una nueva carpeta y nos abrirá una ventana como esta




Como podéis ver nos da la opción de darle nombre y de elegir el sitio donde queramos que se nos "aparezca" una vez que decidamos abrirla, en este caso he puesto mi escritorio y continuamos pulsando "adelante"

La siguiente ventana que se nos abrirá es la que nos pide que pongamos la contraseña con la cual queremos encryptar nuestra carpeta, para que así no pueda verla nadie, si no se pone la contraseña no habrá forma de ver su contenido, de echo no veremos ni tan siquiera la carpeta en sí, puesto que no llegará a montarse.


Más de lo mismo, adelante y..... ¡¡¡ya está!!! tenemos nuestra carpeta cifrada y lista para poner lo que nos apetezca dentro y a salvo de curiosos.


Ahora que lo tenemos, sólo nos queda abrirla, nos iremos al "candado" y pulsando botón izquierdo veremos que a parte de lo mencionado anteriormente, de importar o crear carpeta nueva, arriba nos dice que hay un directorio creado, yo he creado uno con el nombre de la distro DMDc, como podréis ver, bueno, y hay otro que fue con el que hice los "experimentos" antes de publicarlo, jejeje, aquí lo veis.


Lo marcamos y nos pedirá la contraseña que pusimos en el momento de crearla.


Y ya está, como podéis ver, en nuestro escritorio nos aparecerá la carpeta que he creado para la ocasión, el uso pues como haríamos con cualquier otra carpeta, copiar, pegar, etc etc.
Ahora ya podemos guardar todo lo que nos interesa proteger de miradas indiscretas.


Sobretodo y muy importante, para desmontar (hacer que desaparezca vamos), no olvidaros de ir al "candado" y desmarcarla, puesto que si le dais a salir de CRYPTKEEPER y no la hayais desmarcado, tened en cuenta que se quedará abierta, con lo cual de poco nos servirá todo esto.
Para salir del programa, pulsamos botón derecho y damos a salir.

Y bueno, esto es todo, espero que os guste y os sirva de ayuda.
Un saludo a todo el mundo.

martes, 11 de febrero de 2014

Google Drive (Montarlo en Linux)

Hace bien poco, Malcon me consultaba como hacer que Google Drive se integrara de forma similar a como lo hace Dropbox en Linux. Como es habitual en mi, aprovecho una consulta para hacer un artículo al respecto y así siempre es útil para más de uno.

En realidad la integración de Google Drive en Linux no es tan "pulida" como con Dropbox, donde incluso se nos muestra en el menú contextual de nuestro explorador de archivos opciones para éste. Pero sí conseguiremos de manera efectiva montar nuestro disco virtual de Google para poder trabajar cómodamente con él.

Lo primerísimo que tenemos que hacer es descargarnos el paquete correspondiente a nuestra arquitectura desde aquí:
Instalamos dicho paquete y una vez finalizada dicha instalación lo ejecutamos desde un terminal así:
  • google-drive-ocamlfuse
Esta primera ejecución nos abrirá una ventana en nuestro navegador para poder dar los permisos necesario a la aplicación que lo gestionará:

Luego debemos acceder a nuestra cuenta de la forma habitual:
Damos permiso para acceder a los datos de nuestra cuenta:


Y ya estará lista para acceder a ella desde nuestro Pc.

Todo ello, al finalizar, creará un archivo por defecto en la siguiente ubicación: /home/TuUsuario/.gdfuse/default. Tenéis más detalles sobre el funcionamiento de este archivo aquí: Configuración, pero por ahora no es necesario que toquéis nada en él.

Lo que haremos es montar nuestro disco virtual de Google en nuestra sesión como de cualquier otro disco físico se tratase.
Para ello, es primordial tener a nuestro usuario añadido al grupo fuse ya que de  lo contrario el montaje no será posible salvo que lo realicemos como root. Y eso no nos interesa para nada.
La forma de añadir a nuestro usuario al grupo fuse es muy simple. Abrimos un Terminal y tipeamos:
  • sudo adduser TuUsuario fuse
_______________________________________________________________

Nota: Este cambio no será efectivo hasta que se reinicie. Si quieres evitar un reinicio puedes abrir un terminal y ejecutar:
sudo init 1
Una vez salida de la sesión cuando se solicite: (or Type Contro-D Continue) pulsa las teclas Contro+D o pon tu clave root . En este último caso luego teclea exit. De una forma u otra te devolverá a la pantalla de login.
_______________________________________________________________

Una vez instalada la aplicación, configuránda con los permisos necesarios y habiendo añadido tu usuario al grupo fuse, toca decidir donde quieres montar tu disco virtual de Google. Supongamos que quieres hacerlo en tu carpeta de usuario /home/TuUsuario/goodrive. Pues para que se te sea montado en dicha hubicación tienes que correr el siguiente comando:
  • google-drive-ocamlfuse /home/TuUsuario/goodrive
Si quisieras desmontarlo:
  • fusermount -u /home/TuUsuario/goodrive 
Por último, si queremos que nuestro disco virtual se monte al inicio de nuestra sesión, tan solo tenemos que crear una nueva entrada en Sistemas/Preferencias/Aplicaciones al Inicio poniendo la línea correspondiente en la ventana Comando: google-drive-ocamlfuse /home/TuUsuario/goodrive

Como se puede apreciar en la captura, en mi carpeta de usuario extrañamente se encuentra montado un disco que no es otro que el de Google Drive:


Fuente