Protege tu .git

Hasta hace poco en mi empresa utilizábamos subversion como repositorio, no somos un equipo grande y las funcionalidades que nos ofrecía el repositorio eran suficiente para nuestros proyectos.
Recientemente, debido a que un cliente nos ha impuesto utilizar git como repositorio principal y dado que nuestra relación con ellos es muy importante, decidimos mover todos nuestros repositorios a git. Tampoco es que vayamos a utilizar extensivamente las ventajas que nos ofrece, pero si que nos obligaría a funcionar de manera más fluida con una herramienta que vamos a necesitar si-o-si.

El caso es que, en nuestra anterior configuración, utilizábamos subversion para mantener el código de producción de algunas webs y al modificar el repositorio hicimos lo propio con git, teniendo una «feliz transición». El problema vino en que, realmente, no eramos conscientes de las diferencias reales que tenían los dos repositorios y dentro de los directorios servidos junto a la web en cuestión se encontraba el directorio .git.

¿Qué significa esto? Pues ni más ni menos que todo el mundo mundial tiene acceso a tu repositorio local y puede, entre otras cosas, acceder a todo el código de lo que hay allí publicado… Y eso no puede ser. ¿Qué hacemos para evitarlo?

Hay varias formas de hacerlo, dependiendo de si tienes o no un .htaccess en tu web o no y de la configuración de tu servidor, en mi caso la solución que implementamos fue añadir las siguientes líneas al archivo de configuración de cada web:

        <Directory /directorio.de.la.web/.git>
		Options FollowSymLinks
		AllowOverride All
		Require all denied
	</Directory>

Esto indica al servidor que todo lo que hay bajo el directorio .git no está autorizado para ser visto… Reiniciamos el servidor o recargamos la configuración y ya tendremos el problema resuelto.

Y con esto y un bizcocho… Podemos empezar nuestra semana.

¿Seguridad en la red?

Lo digo muchas veces, pero yo ya soy viejuno en esto de internet. Mi primera cuenta de correo electrónico me la abrieron en 1989 (si, la web no se había inventado todavía) y tuve la suerte de ser el administrador de la red del laboratorio de investigación en el que estaba estudiando, lo que me dió la oportunidad de configurar y usar las news de internet (a alguno ya ni les sonará). El caso es que llevo el tiempo suficiente surfeando la ola de internet como para tener una perspectiva amplia en esto de «la red».

El caso es que ayer llegó a mis oídos la noticia Mother of All Breaches Exposes 773 Million Emails, 21 Million Passwords, que viene a decir que se ha encontrado una colección de archivos que recopilan 772.904.991 direcciones de correo y 21.222.975 passwords distintos. ¿Qué significa esto? Básicamente que si no has cambiado tu contraseña durante mucho tiempo en alguno de los servicios menos seguros de la red (aquellos que hayan tenido alguna fuga de datos) es casi seguro que cualquiera pueda saber cual es tu contraseña. De hecho, las últimas noticias indican que ese archivo es parte de un conjunto más grande con 1TB de contraseñas….

Hace unos años esto no sería mayor problema, la contraseña era una cosa que nos forzaban a elegir y que, en el mejor de los casos, nosotros seleccionabamos de una manera «regular», siempre la misma que creíamos segura, una variación de esa contraseña segura o lo primero que se nos pasaba por la cabeza y que terminábamos apuntando en un papel, total, ¿quién va a querer acceder a mis datos? Pero hoy en día la cosa ha cambiado muchísimo. La mayoría de nosotros ya no vamos al banco, sino que operamos via internet, compramos cada día en internet por más y más cantidad, pedimos las citas para el médico, compramos las entradas para el cine, los viajes, alquilamos las vacaciones… Y todo ello utilizando las contraseñas a las que, desgraciadamente, hemos prestado tan poca atención.

El principio básico en que se basa toda nuestra vida digital es que nosotros podemos almacenar en nuestro cerebro las contraseñas que necesitemos, pero eso ya no es válido. Cada día usamos más contraseñas de más servicios y eso hace físicamente imposible que las memoricemos… ¿hay solución?

Ninguna 100% fiable. Los gestores de contraseñas tradicionales (1password, dashlane, etc.) utilizan bases de datos centralizadas que son, como poco, golosinas demasiado irresistibles para los hackers y se convierten en destino de ataques que ya han conseguido éxito alguna que otra vez. Por eso, y hasta que se encuentren métodos más seguros para autorizarnos a acceder a nuestros servicios se me ocurrió construir nomorepass. El único servicio que mantiene seguras las contraseñas en el móvil y no las almacena en ninguna base de datos central. Además, te da todos los medios para que no tengas que teclear esas contraseñas nunca… Lo que te permite tener contraseñas seguras, distintas y sin tener que recordarlas.

En serio, tenéis que probarla. A mi me ha solucionado el problema de las contraseñas para siempre… Y, además, no tienes que fiarte de nadie porque nadie tiene tus contraseñas.

Twitter y tus contraseñas

Esta mañana me he encontrado con este mensaje al abrir twitter:


Al margen del fastidio que supone, siempre, tener que cambiar una contraseña, lo importante del mensaje es que te confirma que ESTABAN GUARDANDO EN CLARO TU CONTRASEÑA. Es decir, cualquiera que haya tenido acceso a estos datos tendría tu contraseña y tu email sin tener que descifrar nada. Al margen de lo legal / ilegal / moral que sea esta práctica, esto supone que si usabas esa contraseña en cualquier otro sitio TIENES QUE CAMBIARLA YA… No solo la contraseña de twitter, sino cualquier otra cuenta en cualquier otro servicio que usase esa dirección de correo y esa contraseña o una variación de la misma.

El tener que guardar contraseñas distintas y dificilmente «deducibles» es algo que os estoy recomendando continuamente. Por eso creé nomorepass y, por eso, os ruego que empecéis a usarlo ya mismo antes de que puedan pasar cosas más peligrosas. Te explico cómo cambiar la contraseña antigua de twitter si la tenías en nomorepass (si no ya es hora de que vayas cambiando):

  1. Abre la página de twitter (te saldrá el mensaje que vemos arriba) y pincha sobre el botón Ir a configuración, te aparecerá una pantalla como esta:
  2. Pincha en el botón derecho sobre «Contraseña actual» (recuerda, cuento con que te has instalado la extensión nomorepass en el ordenador) y selecciona la opción «usar nomorepass»
  3. Te aparecerá un código qr en pantalla
  4. Selecciona, en tu móvil, la contraseña de twitter que tenías para esa cuenta y escanea el código qr
  5. Verás que la contraseña antigua se ha rellenado, es hora de editar la contraseña para poner una nueva, pulsa sobre el icono de editar en esa misma contraseña:
  6. En la pantalla de edición pulsa sobre «Generar nuevo password»
  7. Pulsa modificar
  8. Vuelve a repetir la operación de dar al botón derecho -> usar nomorepass -> escanear qr para enviar la nueva contraseña (dos veces)
  9. Si no se enciende el botón de «Guardar cambios» es porque no ha detectado que hayamos tecleado nada. Simplemente haz click en cualquiera de los campos de contraseña y escribe y borra un espacio (por ejemplo)

Y ya está, tienes la nueva contraseña segura en tu aplicación nomorepass y puedes seguir seguro en twitter (siempre que no vuelvan a guardar en claro las contraseñas nunca más)… Todo ventajas.

Jazztel te miente

Me está hirviendo la sangre, la verdad, hacía tiempo que no me sentía tan maltratado como cliente, ni tan estafado como persona. El responsable: Jazztel.

Mi empresa ha tenido durante ya casi diez años a ONO como proveedor de teléfono e internet, somos una pyme y no tenemos grandes necesidades, solo queremos una conexión estable y una IP fija. Eso es así porque para acceder a algunos clientes tenemos que pasar por firewalls que son un poco especiales con los desconocidos… Tras la adquisición de ONO por Vodafone también cambié los móviles (parte de ellos) a Vodafone, aunque fueron incapaces de ponerme en el mismo contrato todos los servicios.. Y eso molesta.

Cuando Jazztel me llamó directamente al teléfono de ONO para hacerme una oferta, lo único que pregunté es: ¿puedo tener IP fija? y el comercial me dijo si, claro que si. Yo, que ya había oído que Jazztel fibra no ofrecía ese servicio volví a preguntar, ¿pero seguro? y el comercial me puso en espera mientras hablaba con su supervisor que, esta vez con más rotundidad me confirmó que «si, claro, para las empresas si que damos ese servicio«. Dado que lo que me ofrecian unía los móviles, el teléfono e internet en la misma oferta y salía mucho más barato que lo que tenía con Vodafone/ONO pues piqué… Y dije que si, me pasaron con un tercer operador que me leyó las condiciones, y me dijo, con toda algarabía que la IP fija estaba incluida y era gratuíta para empresas. Dado que estaba todo ok, confirmé, me enviaron un sms larguísimo con un enlace a otra página más larga todavía con todas las condiciones que yo, como todo el mundo, se limitó a confirmar (supuse que sería lo mismo que me acababa de leer el operador)… Al día siguiente me llaman para fijar la hora en la que se pasará el instalador y, efectivamente, el día posterior, se nos presenta el instalador en la oficina y, no sin problemas, nos deja instalada la fibra (antes de salir pitando que ya se le había hecho tarde).

Verificamos la velocidad, probamos que podemos hacer llamadas (aunque todavía no recibirlas, entiendo que por cosas de la portabilidad) pero vemos que la IP que tenemos asignada es de un rango dinámico de jazztel… ¿Qué pasó con la IP fija? Y aquí empieza el calvario de lo que denominaré la «Experiencia Jazztel». Llamo al teléfono de atención y me desvia al servicio técnico de empresas (porque llamaba desde el mismo teléfono y les proporcioné el CIF), donde el buen señor (ánimo Jesús) me indica que ellos no pueden cambiarme la IP, que me redirije al departamento comercial para que me lo arreglen… Y me desvió a otra persona a la que tuve que volverle a contar todo, que me redirigió a otra que tampoco sabía nada y a la que tuve que volver a contárselo y luego a otra que, tras escuchar mi explicación terminó por colgarme el teléfono… En total habré hablado con 9 o 10 personas distintas de las más variadas nacionalidades y cada cual con su «yo no puedo ayudarle, le paso con…» o «esto no es de empresas, llame a …» o «no me figura que tenga el paquete de empresa, llame a…» Aquí os dejo el registro de llamadas (solo las del fijo, desde el móvil también llamé un par de veces):

Más de una hora y pico perdida… Para, finalmente, toparme que ya eran más de las 18:00 y ya no dan atención comercial (que, se supone, son los que tienen que arreglar el problema)… Con la boca seca de dar tantas explicaciones y cabreado por que ya no me atendían me fui a twitter a ver si allí había alguien que atendiese… Y si, alguien había… Que me indica que me lea lo que me mandaron por SMS a ver si pone algo de IP fija… Lo leo atentamente (más tiempo perdido) y veo que no, que no aparece por ninguna parte, así que, a no ser que hayan grabado las conversaciones con los comerciales que me convencieron para cambiar no tengo pruebas para demostrar que me vendieron una cosa y luego me han enchufado otra… ¿Me mintieron? PUES SI!

¿Qué opciones tengo ahora? Según el testamento ese de condiciones pone que si desisto de la compra tengo que pagar 260 Euros (no se como cuanto de legal es esto) y además un año de permanencia con 110 Euros de penalización (no se si por movil o por contrato)… y dado como está su sistema comercial veo dificil que puedan ponerme IP fija aunque quiera pagarla y aunque fuese esa la única condición que puse para poder cambiarme… Así que, ya lo he aprendido, voy a empezar a grabar yo también a los comerciales para poder tener alguna prueba de que son unos sinvergüenzas que te venden una cosa y luego te dan otra (o unos inútiles que no saben lo que venden)…

Jodido estoy!

ACTUALIZACIÓN (8/03/2018): Jazztel me confirma que son unos estafadores y que me vendieron lo que no me pueden dar:

Parando un ciberataque a tu wordpress

Este lunes, a eso de media tarde, detectamos en la web de uno de nuestros clientes que estaba recibiendo una cantidad inusualmente alta de intentos de login fallidos. Nuestro cliente, que usa wordpress, tiene un cierto nivel de visitas digamos, importante, lo que le hace un blanco para bots y escaneadores de redes habitualmente, por lo que siempre recibe cierta cantidad de estos intentos fallidos, pero al cabo de unos minutos nos dimos cuenta de que esta vez era distinto… Estabamos en medio de uno de los mayores ataques a sitios wordpress de la historia. Este es el volumen que mostraba wordfence (el plugin de seguiridad que usamos):

Como vemos se llegaron a los 10 millones de ataques y, como dicen en su blog se trataba de un ataque distribuido masivo de fuerza bruta muy importante. De hecho indicaban que:

  • El ataque había llegado a 14.1 millones de ataques por hora.
  • El número toral de IPs involucradas fueron más de 10,000.
  • Se estaban atacando más de 190.000 sitios WordPress por hora.
  • Esta es la campaña más agresiva que nunca hemos visto por volumen de ataques por hora.

La razón que proponían como posible fuente de este ataque fue el filtrado masivo de credienciales que salió a la luz el 5 de diciembre y que dejaba expuestos millones de contraseñas nuevas que poder utilizar en un ataque de este tipo.

Así que, en medio de toda esta vorágine y recibiendo un montón de alertas, teníamos que hacer algo para proteger nuestro sitio, manteniendo el servicio y evitando que los chicos malos se nos colasen hasta la cocina.

Además de tomar las medidas habituales, nosotros escogimos un camino que nadie más podía tomar, utilizar el nuevo plugin wordpress de nomorepass que acabábamos de desarrollar y que todavía no estaba distribuido (ahora ya lo está) y que contenía una nueva opción más que interesante: «Solo permitir el acceso mediante la app».

Con esta simple opción aunque los robots consiguieran un usuario y un password válido para el sitio no podrían entrar, porque solo se permitiría entrar a aquellos que usaron el código qr y la app para enviar sus credenciales. Esta simple medida, junto con el baneo de ips y otras medidas habituales consiguieron devolver la normalidad al sitio y, sobre todo, estar seguros de que no se podían haber colado.

Como ya os he contado muchas veces, la mejor contraseña es la que no conocemos, así evitaremos todos los ataques por ingeniería social y estaremos un poquito más seguro sin tener que cambiar – todavía – la infraestructura de acceso a nuestros sitios.

Por todo ello,  os recomiendo usar nomorepass.