antivirus
Óptima protección antivirus: Soluciones de seguridad en Internet de G Data para PC.

viernes, 5 de diciembre de 2014

Proteger OS X frente a ataques de ICMP redirect

Recientemente se ha sabido que a muchas plataformas, entre las que se encuentran Android, iOS y OS X, se les pueden hacer ataques Man In The Middle con mensajes ICMP Redirect. El riesgo mayor existe si nos conectamos en una red insegura (cafetería, aeropuerto, etc).

Para ver si tu sistema OS X es vulnerable, ejecuta en un terminal:
 sysctl net.inet.icmp.drop_redirect

Tu sistema será vulnerable si te devuelve:
 net.inet.icmp.drop_redirect: 0

Y no lo será si te devuelve otro valor, p.ej:
 net.inet.icmp.drop_redirect: 1

Para proteger el sistema de este ataque (ojo, esta configuración es temporal y válida para la sesión actual), ejecuta:
 sudo sysctl -w net.inet.icmp.drop_redirect=1

En la siguiente URL puedes encontrar más detalles y el método para establecer esta configuración de forma permanente:
 http://www.seguridadapple.com/2014/12/como-proteger-os-x-frente-ataques-de.html

miércoles, 3 de diciembre de 2014

Introducción a Git (chuletario básico)

Git es un sistema de control de versiones distribuido. Trabajamos en un repositorio local (no necesitamos red constantemente), y cuando queramos/podamos lo subimos al repositorio remoto.

Se maneja a base de comandos de terminal. Hay clientes gráficos, pero lo más eficiente es usar la línea de comandos.

Tareas básicas

Tras instalarlo, conviene configurar el nombre y correo que vamos a usar:
 git config --global user.name "Mi Nombre"
 git config --global user.email "miemail@gmail.com"
 git config --global color.ui true
 git config --global core.editor joe


Conviene luego configurar las claves ssh para enviarla al servidor remoto y así, al sincronizar hacia el repositorio remoto, no tendremos que estar escribiendo email y clave.

En cualquier momento podemos pedir ayuda:
 git help
 git help COMANDO
 
Para iniciar un repositorio, creamos un directorio, y para ponerlo bajo el control de git, entramos en él y allí ejecutamos:
 git init

También podemos añadir un repositorio remoto:
 git remote add origin URLREPOSITORIOREMOTO

Si existe un repositorio que queremos clonar (si trabajamos con github.com es lo habitual), haremos:
 git clone URLREPOSITORIOREMOTO

Una vez que tenemos el repositorio configurado, podemos añadir (o borrar, mover, etc) archivos al repositorio local:
 git add NOMBREFICHERO
 git rm NOMBREFICHERO
 git mv NOMBREFICHERO1 NUEVONOMBREFICH

Para comprobar el estado del repositorio ejecutamos:
 git status

Para ver los logs, viendo los cambios ordenados con fechas y con los comentarios, de lo que hemos hecho:
 git log
 git log --graph

Si queremos subir los cambios desde el repositorio local al repositorio remoto (a la rama por defecto), ejecutaremos:
 git commit -a -m "comentario sobre el cambio"
 git push
y en ese momento, los demás podrán obtener nuestros cambios.

Si alguien ha subido cambios al repositorio remoto, podemos descargarlos para integrarlos en nuestro repositorio local:
 git pull

Puede que mientras subimos nuestros cambios, alguien haya cambiado algo. En ese caso, ha habido un conflicto. Git nos informa detalladamente. Nos muestra los cambios que vienen del remoto y los que tenemos nosotros, los compara con un diff, y nos permite editar y ver cuáles nos quedamos. Entonces ya sí podremos hacer el pull.

Trabajando con ramas

En proyectos donde haya varios usuarios, lo normal (y recomandable) es trabajar sacando ramas (copia del proyecto en cierto momento para seguir trabajando en alguna parte del mismo).

Para crear rama, ejecutamos
 git branch NOMBREDELARAMACREADA

Si hay varias ramos, nos movemos a otra rama con:
 git checkout master    (ir a trabajar sobre la rama principal, master)
 git checkout NOMBREDELARAMACREADA    (ir a trabajar a la otra rama derivada)

Para consultar en qué rama estamos:
 git branch

Para borrar una rama:
 git branch -d NOMBREDELARAMACREADA

Si necesitamos mezclar (juntar) la rama derivada en la que hemos estado trabajando con aquella de la que la hicimos (su "madre"), haremos:
 git merge NOMBREDELARAMACREADA

Por supuesto, al mezclar pueden surgir conflictos. Nos mostrará las diferencias para que aceptemos cambios.

Recuperando versiones antiguas

Si por cualquier motivo necesitamos recuperar versiones más antiguas del repositorio, podemos forzar a volver a un estado anterior ejecutando:
 git reset ­­hard HASH_DEL_COMMIT_A_RECUPERAR

Es conveniente ver qué cambios se hicieron en cierto "commit". Para ello, hacemos:
 git show HASH_DE_UN_COMMIT

Y si lo que queremos es recuperar o consultar el estado de un archivo en aquel commit, podemos hacer:
 git show HASH_DE_UN_COMMIT:ruta/a/un/archivo
 git show HASH_DE_UN_COMMIT:ruta/a/un/archivo > archivo_copia


Enlaces

 http://git-scm.com/book/es/v1
 http://www.psicobyte.com/descargas/ZenDeGit2.pdf
 http://www.psicobyte.com/descargas/0agit9.pdf
 http://www.alvaroremesal.net/blog-alvaroremesal/recuperar-archivos-antigos-con-git

lunes, 1 de diciembre de 2014

Evitar que Twitter recoja datos de las aplicaciones instaladas

Twitter ha activado (por defecto) en su aplicación móvil la opción para recoger información sobre qué aplicaciones hay instaladas en el teléfono. Esto podemos verlo como una invasión de la intimidad.

¿Se puede desactivar? Pues sí, y es relativamente sencillo:
  • Para desactivarlo en Android pulsa en el icono de los tres puntos en línea, entra en "Configuración" y elige la cuenta (si tienes configuradas varias). Ahora en "Otros", desactiva "Personalizar Twitter en función de mis aplicaciones".
  • Para desactivarlo en iOS debemos ir a la pestaña más a la derecha-abajo ("Cuenta"); ahora pulsa en el icono del engranaje. En "Configuración" entramos en la cuenta (si tenemos varias configuradas), y desplazando, en la sección "Privacidad", desactivar "Personalizar Twitter en función de mis aplicaciones".