fwknop: Single Packet Authorization y port knocking

fwknop implementa un esquema de autorización llamado Single Packet Authorization (SPA). Mediante SPA necesita un único paquete cifrado para abrir puertos en el cortafuegos o llevar a cabo acciones en el sistema. Se utiliza en conjunción con un cortafuegos que impide la conexión a los puertos de los servicios que queremos proteger. De esta forma, se logra una capa extra de seguridad, ya que los hace permanecer invisibles, descartando silenciosamente los paquetes que llegan a dicho puerto. Para poder tener acceso a los servicios protegidos, la parte servidor de fwknop esnifa pasivamente los paquetes que llegan al servidor usando libpcap y, en caso de recibir de parte del cliente de fwknop un paquete cifrado válido que no ha sido recibido antes, se permite el acceso a través del cortafuegos. ...

September 18, 2011 · 8 min · 1506 palabras · Nacho Cano

SSH over HTTP-Proxy

A veces, queremos poder navegar o chatear por Internet pero no queremos que nadie pueda conocer, ni bloquear, las páginas que visitamos o espiar nuestras conversaciones, bien porque porque estamos en el trabajo, la universidad o en una red abierta. En la red a la que estamos conectados puede que utilicen un proxy para controlar y bloquear servicios. Este bloqueo podría ser por puerto o por protocolo. Es posible que bloqueen algunas URLs, o IPs, pero seguramente tenemos acceso a la web, es decir, los puertos 80 y 443. Crearemos un túnel seguro para poder navegar seguros y evitar estas restricciones. Eso sí, puede que aparezca en algún log que nos hemos conectado a nuestra máquina remota. ...

August 15, 2011 · 5 min · 950 palabras · Nacho Cano

Utilizar SSH para establecer un servidor proxy SOCKS

Un proxy SOCKS es un servidor que permite el acceso, normalmente, a través de un cortafuegos. Podemos utilizar SSH para crear un proxy SOCKSv5 en local, de tal manera que si configuramos una aplicación para que se conecte a través de este proxy, todo el tráfico vaya a través del canal seguro creado por SSH, y sea como si la conexión con dicha aplicación se hiciera en la máquina remota a la cual nos hemos conectado por SSH. Además, podemos utilizarlo con varias aplicaciones y diferentes protocolos. ...

August 12, 2011 · 5 min · 1038 palabras · Nacho Cano

Servicio de SSH con sistema de verificación en dos pasos de Google en Ubuntu Natty Narwhal

Un sistema de verificación en dos pasos, (Two Factor Authentication o 2FA) consiste en que la autenticación a un servicio se realiza mediante dos piezas de información, una que conocemos y otra que no. La pieza que conocemos es nuestra contraseña, que es susceptible de ser sustraída, mientras que la información que no conocemos es un número de identificación (PIN) aleatorio que cambia cada 30 segundos y que está vinculado con un dispositivo hardware. Esto es lo que se conoce como una contraseña de un solo uso (One Time Password u OTP). De esta forma, aunque alguien nos robe o averigüe nuestra contraseña, a no ser que también tenga acceso al dispositivo que crea los PINs, no podrá acceder al servicio con nuestra cuenta. ...

August 5, 2011 · 9 min · 1716 palabras · Nacho Cano

sslh, compartiendo el puerto 443

Podemos tener varios motivos para tener escuchando nuestro servicio de SSH en el puerto 443. Ya sea porque queremos evitarnos los continuos intentos de conexión que sufrimos por tener el servicio escuchando en el puerto 22 o porque desde donde estemos, ya sea en el trabajo o en un hotel, no estén permitidas las conexiones que no sean al puerto 80 o 443. Pero, ¿y si ya tenemos un servidor web escuchando en el puerto 443? ...

July 30, 2011 · 4 min · 790 palabras · Nacho Cano

Extraer un archivo de un archivo comprimido, desde el terminal

Un día estás editando un archivo en un servidor remoto, por ssh, y, a la hora de guardar, te das cuenta de que has editado el fichero sin tener los privilegios suficientes, por lo que vim se queja: E505: "app.config" is read-only (add ! to override) La solución es sencilla, para guardarlo como root escribes: :w !sudo tee % O eso creías. De repente, te das cuenta de que eso no es lo que has escrito, porque vim se ha puesto en modo inferno, y cada tecla que pulsas le da vida propia, porque hace exactamente lo que le dices que haga y no lo que realmente quieres que haga, y cuando pasa la tormenta y vuelves a editar el fichero, sólo contiene: ...

June 30, 2011 · 1 min · 201 palabras · Nacho Cano

Secuencias de escape en SSH

Secuencias de escape en SSH: user@remotehost:~$ ~? Supported escape sequences: ~. - terminate connection (and any multiplexed sessions) ~B - send a BREAK to the remote system ~C - open a command line ~R - Request rekey (SSH protocol 2 only) ~^Z - suspend ssh ~# - list forwarded connections ~& - background ssh (when waiting for connections to terminate) ~? - this message ~~ - send the escape character by typing it twice (Note that escapes are only recognized immediately after newline.) La primera, ~., se puede utilizar para cerrar la sesión cuando se nos queda colgada, por ejemplo, al reiniciar la máquina remota. ...

June 18, 2011 · 1 min · 201 palabras · Nacho Cano

Compartiendo una conexión por SSH

A partir de la versión 4 de OpenSSH se pueden compartir las conexiones seguras a un máquina remota, de tal manera que, una vez establecida la primera conexión, el resto de conexiones reutilizan la primera, por lo que el establecimiento de la conexión de éstas será mucho más rápido. Configuración Lo primero es asegurarnos de que existe el directorio ~/.ssh en el cliente, con permisos 700 (sólo accesible por nosotros mismos… y cualquier administrador). ...

June 17, 2011 · 3 min · 448 palabras · Nacho Cano

Conectarse por SSH utilizando expect

expect es un comando que “habla” con otros programas interactivos. Se definen unas reglas en función de lo que esperamos que nos digan esos programas y lo que queremos contestar. Un típico ejemplo es realizar una conexión a un servicio de FTP o SSH, y utilizar expect para que introduzca la contraseña por nosotros y lleve a cabo diferentes acciones. La ventaja que tiene es que podemos automatizar acciones en esos servicios. El gran inconveniente es que, si esos servicios requieren autenticación, deberemos escribir la contraseña, ya sea en un script o directamente en el terminal, pudiendo quedar reflejada en el historial. (Dependiendo de la configuración, si incluimos espacios antes de ejecutar un comando, éste no queda reflejado en el historial). ...

June 17, 2011 · 3 min · 540 palabras · Nacho Cano

Sonido a través de SSH

Si tenemos acceso por ssh a otro ordenador, ambos con micrófono y altavoces, podemos redirigir el sonido en ambos sentidos, es decir, podemos conseguir cosas como: que lo que capta nuestro micrófono se escuche en los altavoces del otro ordenador y [viceversa][] que lo que se escribe en un ordenador se escuche en el otro y [viceversa][1] que el contenido de un fichero de texto se oiga en los altavoces remotos y [viceversa][1] que un archivo de audio se escuche en los altavoces remotos y [viceversa][2] que el audio de un archivo de vídeo se escuche en los altavoces remotos y [viceversa][3] Dispositivos de sonido en Ubuntu Maverick Meerkat Uno de los cambios de Ubuntu Maverick Meerkat (10.10) fue la desaparición del dispositivo /dev/dsp y otros, como /dev/mixer, /dev/sndstat y /dev/audio, al utilizar la interfaz ALSA en detrimento de la OSS API. ...

May 5, 2011 · 4 min · 694 palabras · Nacho Cano