Servidor para Tunnel y VPN

Me han estado preguntando todos mis lectores, si, los 2 lectores, que cual es el servidor o servicio que uso para hacer el tunnel o configurar mi VPN, y lo han hecho de manera muy insistente, pues los servidores que uso son de HOSTUS un servicio bastante barato, muy estable y que para estos fines funciona de maravilla.

Este servicio cuesta $12USD al año y te dan un Servidor virtual completamente administrable yo tengo 2 de estos servers, uno lo uso para el tunnel y con el otro juego, es decir, ahorita lo tengo con PHP, MySQL, Apache y Open VPN y lo uso para conectarme a NETFLIX viendo el catálogo de USA y probar templates y componentes de Joomla y WordPress.

Seguramente después dejaré en un solo VZ el tunnel y la VPN y el otro lo usaré para seguir jugando y experimentando, en resumen, es un servicio que les recomiendo mucho es muy barato (al menos no he encontrado otro más económico y que me de las mismas prestaciones), si les interesa aquí les dejo el link para que contraten uno o varios: https://my.hostus.us/cart.php?a=add&pid=103?aff=215

SSH Tunnel en Linux o mac

¿Para que demonios sirve el tunnel?

la respuesta políticamente correcta es:

Un tunnel SSH sirve para garantizar la comunicación segura entre dos máquinas.

Los usos que se le pueden dar son muy diversos y tiene muchas ventajas como:

  1. El túnel SSH es una buena solución para navegar por internet en el caso que nos hallemos en Red local No segura.
  2. La navegación a través de un túnel SSH garantiza nuestra confidencialidad ya que nadie podrá conocer las páginas web que estamos visitando ni que estamos haciendo.
  3. La navegación a través de un túnel SSH garantiza la integridad de los datos transmitidos y recibidos ya que la probabilidad que alguien pueda modificar las datos que enviamos o recibimos es muy baja.
  4. Los túneles SSH son una buena solución para asegurar la comunicación entre 2 máquinas y para fortificar protocolos débiles como por ejemplo HTTP, SMTP. FTP, Telnet, etc.

Normalmente cuando estamos en una red pública, como en un cafe internet o un starbucks hay muchos usuarios conectados a la misma red y esto es un problema de seguridad importante porqué somos susceptibles de recibir ataques que nos pueden lanzar cualquiera de los usuarios que están conectados a la misma red local que nosotros.

hoy en día multitud de conexiones a Internet se realizan mediante el protocolo http. El protocolo http tiene la particular de transferir la información en texto plano sin cifrar.

Cualquier usuario que esté en esta misma red podrá interceptar nuestro tráfico fácilmente. Por lo tanto con un simple sniffer el atacante podría averiguar contraseñas de servicios que tenemos contratados o usamos, como por ejemplo el servicio de wordpress, servidores ftp, telnet, etc. Además el atacante podrá averiguar fácilmente a los sitios a los que nos estamos conectando.

Ahora, la realidad y para lo que más se usa un Tunnel SSH es:

Para vulnerar ciertas restricciones impuestas por nuestro ISP o por ejemplo también nos puede servir para vulnerar ciertas restricciones impuestas por proxies y firewall.

Un tunnel SSH basicamente se compone de dos máquinas, una que está fuera de nuestra red  (servidor SSH) y una local (normalmente la computadora del trabajo o nuestra laptop con la que vamos a navegar desde el starbucks).

Al crear un tunnel SSH cuando introduzcamos  cualquier dirección  en el navegador se enviará una petición http al servidor SSH con las siguientes particularidades:

  1. La petición http viajará por el túnel SSH que hemos establecido.
  2. Nuestra petición, y la totalidad de tráfico entrante y saliente estará completamente cifrado.

Por lo tanto aunque recibamos el ataque antes mencionado y se intercepte nuestro tráfico dentro de la red local comprometida, nadie podrá obtener nuestras credenciales, ni modificar el contenido de la petición ni robarnos información ya que la información que obtendrán estará completamente cifrada.

Por lo tanto con el túnel SSH estamos garantizando la integridad y confidencialidad del tráfico entre nuestra máquina y el servidor SSH que está fuera de nuestra red Local en una ubicación segura y no susceptible de ataques.

Una vez nuestra petición está en el servidor SSH tendrá que dirigirse al servidor web de la página que queremos conectarnos.

Si bien es cierto que en el último tramo (entre nuestro servidor SSH y el servidor web que queremos contactar) la información va a viajar en texto plano, las posibilidades de recibir algún tipo de ataque son muy bajas.

¿Como puedo configurar en tunnel SSH?

Primero que nada necesitamos una computadora fuera de la red local, no necesariamente tiene que ser la de nuestra casa, hay muchisimos proveedores de VPS Hosting en einternet y sus precios van desde $3.5 dolares mensuales y son muy fáciles de instalar y configurar.

Preparando el servidor SSH

1.- En el servidor SSH necesitamos instalar SSH. en mi caso es un servidor con ubuntu 13.

$ sudo apt-get install ssh.

2.- Editamos /etc/ssh/sshd_config, nos fijamos que tenga la opción AllowTcpForwarding yes y si no la tiene se la debemos de agregar.

3.- Reiniciamos el sshd

$ sudo service ssh reload

Listo! eso es todo del lado del servidor.

Del lado de la PC o laptop local, lo unico que necesitamos hacer es correr el siguiente comando.

ssh -D 8080 -C -N usuario@IP del servidor

El puerto 8080 puede ser cambiado por el que mas nos convenga, por ejemplo un puerto abierto en la red de la empresa donde trabajamos XD

En nuestro navegador o en las opciones de proxy globales de nuestra PC configuramos el SOCKS Proxy con la ip 127.0.0.1 y el puerto que usamos en el comando anterior.

Listo! ya con estos simples pasos todo el trafico de nuestra máquibna ira cifrado y de forma segura a través del firewall de nuestra empresa y podremos navegar sin restricciones y de forma segura por internet.

Instalar Juniper Network Connect en Linux

Pues resulta que en el trabajo usamos una herramienta que le llaman teletrabajo, para conectarnos a la oficina cuando estamos trabajando desde casa, el Teletrabajo no es mas que una VPN que usa para conectarse el Jupiter Network Connect, para los que como yo quieran instalarlo y configurarlo, les dejo una pequeña guía de como hice yo para que funcionara en mi linux Mint.

1- Primero que nada hay que entender que como Network Connect es un software de 32 bits hay que tener instaladas las librerias de 32bits de C Runtime

sudo apt-get install libc6:i386 zlib1g:i386

Para poder usar el script para JNC necesitamos tener instalado Perl y Perl/GTK2

sudo apt-get install libgtk2-perl libwww-perl

Uno de los aspectos mas importantes de una conexión VPN ES QUE LOS DNS de tu computadora se resetean y son remplazados por los DNS de la VPN, en teoria cuando terminamos la sesión estos DNS regresan a su estado original, sin embargo he visto que esto no sucede siempre, para estos casos recomiendo respaldar el /etc/resolv.conf  para que en caso de ser necesario lo regresemos a su estado original.

2.- Descargar e instalar el script MSJNC

Descargar Script

Descargar el script en algun lugar en nuestro disco (ej. Downloads, home, Descargas, etc) para este ejemplo lo voy a poner en la carpeta /tmp, después de descargarlo hay que copiarlo a la carpeta   /usr/bin

chmod 755 /tmp/msjnc
sudo cp /tmp/msjnc /usr/bin

3.- Instalamos JAVA

Primero quitamos la versión anterior de JAVA

sudo apt-get update && apt-get remove openjdk-6-jre

sudo apt-get autoremove && apt-get clean

descargamos java de la página www.java.com

después instalamos la versión que descargamos:

32 Bits:

  sudo mkdir -p -v /opt/java/32

64-Bits:

  sudo mkdir -p -v /opt/java/64

descompactamos:

32 Bit:

 cd ~/Downloads
tar -zxvf jre-7u9-linux-i586.tar.gz
sudo mv -v jre1.7.0_* /opt/java/32

64-Bit:

 cd ~/Downloads
tar -zxvf jre-7u9-linux-x64.tar.gz
sudo mv -v jre1.7.0_* /opt/java/64

el último paso es dejar el nuevo JRE como default

32 Bit:

 sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/32/jre1.7.0_09/bin/java" 1

sudo update-alternatives --set java /opt/java/32/jre1.7.0_09/bin/java

64-Bit:

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/64/jre1.7.0_09/bin/java" 1

sudo update-alternatives --set java /opt/java/64/jre1.7.0_09/bin/java

4.- Instalamos Network Connect Software

Juniper Network Connect se instala en automático en cuanto entramos a la pagina del servidor al que nos queremos conectar.

Después de algunos segundos y seguramente de algunos re direccionamientos nos debe de aparecer la página para conectarnos

image

5.- Ejecutamos el script msjnc desde la terminal.

Listo! en mi caso solo tuve que ejecutar el script una sola vez y poner el URL de el servidor al que me quiero conectar como “Trusted” en la seguridad de JAVA.

Script que revisa si un archivo fue modificado y envía el resultado por e-mail

Pues resulta que en el trabajo me encargaron hace un tiempo un script que buscara si los archivos dentro de una carpeta fueron modificados  en un rango de tiempo y que enviara el resultado de esta búsqueda por email, el script es muy simple y espero que a alguien le sirva de algo.

Cosa que hacer despues de instalar Linux Mint 15

Pues como ya es costumbre Aquí dejo algunas recomendaciones de lo que creo yo se debe instalar y configurar despues de instalar Linux Mint 15.


Les recomiendo que usen el terminal excepto en algunos casos precisos en los que les diré que vayan al “Update Manager” por ejemplo.

Actualizar los paquetes e instalar todas las actualizaciones
Definitivamente lo que uno debe hacer apenas instala Ubuntu es actualizar los paquetes e instalar las actualizaciones. Para eso vamos a buscar el “Update Manager” en la lista de programas.

image

Este programa va a buscar automáticamente todas las actualizaciones y luego podrán instalarlas. Así mismo les muestra el grado de importancia de cada actualización.

image

O también podemos lanzar un Terminal y ejecutamos el comando siguiente:
sudo apt-get update && sudo apt-get upgrade

Para la primera instalación esto puede tomar bastante tiempo.

Instalar los drivers propietarios
Si su computador utiliza alguna carta gráfica nVidia o una conexión inalámbrica propietaria deben instalar los drivers primero para que estos componentes funcionen bien. En el caso de la connexión inalámbrica, deberán conectarse utilizando Ethernet o algo parecido.

image

Después de buscar el “Driver Manager” lancen esta aplicación y elijan los drivers que quieran activar. Necesitarán reiniciar su computador para que los cambios tengan efecto.

image

Aumentar más paquetes para instalar programas propietarios
Linux Mint viene con la mayoría de paquetes propietarios en todos sus repositorios. Si quieren instalar librerías para leer MP3, DVDs, o para instalar software desarrollado por Microsoft, como Skype, no necesitan hacer nada extra. En Ubuntu no es el caso.

image

Pueden ver los repositorios en “Software Sources”, así mismo pueden gestionar los PPAs que hayan aumentado

image

Medibuntu
Por razones legales Linux Mint a lo mejor no puede incluir algunos codecs, fonts, programas directamente. Para eso hay que habilitar los paquetes de Medibuntu. Para eso vamos a usar este comando:

sudo -E wget –output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get –quiet update && sudo apt-get –yes –quiet –allow-unauthenticated install medibuntu-keyring && sudo apt-get –quiet update

Y así tendremos acceso a todos los paquetes propietarios que tal vez necesitemos luego en nuestro computador.

sudo apt-get install app-install-data-medibuntu apport-hooks-medibuntu

Si se cansaron de Cinnamon pueden intentar otros escritorios. Aquí les mostraré algunas opciones

Gnome 3: el equipo de Gnome recientemente lanzó la versión 3.8 que al parecer está muy interesante.

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update
sudo apt-get install gnome-shell

image

KDE 4: el equipo de KDE recientemente lanzó la versión 4.10.3, está muy bien este escritorio
sudo apt-get install kde-full

image

MATE: es como una variante de Gnome 2, desde que Gnome dejó el proyecto de Gnome 2, pero mejorada. Muy interesante igual y simpática.
sudo apt-get install mate-desktop

image

Multimedia
Hay algunos programas interesantes para reproducir archivos multimedia, ya sea audio, vídeo. Pero antes que nada asegurémonos de que tenemos los codecs adecuados (es muy probable que algunos ya estén instalados):

sudo apt-get install non-free-codecs libxine1-ffmpeg gxine mencoder totem-mozilla icedax tagtool easytag id3tool lame nautilus-script-audio-convert libmad0

Un problema muy frecuente es la reproducción de DVDs. Como los DVDs utilizan un sistema de seguridad, hay que instalar una biblioteca especial y ejecutar un archivo de configuración:

sudo apt-get install libdvdcss2 && sudo /usr/share/doc/libdvdread4/./install-css.sh

VLC

image

Un gran reproductor multimedia es VLC, básicamente lee TODO.
sudo apt-get install vlc

OpenShot

Si quieren hacer un poco de edición vídeo en Linux, creo que la mejor opción por ahora es OpenShot.
sudo apt-get install openshot

image

Steam
Si quieren instalarlo la mejor manera es bajar el .deb de la página de Steam.
Luego van a usar el comando siguiente

sudo dpkg -i steam_latest.deb

Les va a dar algunos errores de dependencias. Van a corregir esos problemas con:
sudo apt-get install -f

Luego Steam se va a abrir y se actualizará.

image

Skype
Para instalar Skype solo van a tener que usar el comando siguiente. (Ahora está en version 4.2)

sudo apt-get install skype

image