martes, 19 de febrero de 2019

Servidor SSH en Windows

Cuando no tenemos conocimientos en Linux para "instalar" un servidor SSH, y necesitamos uno por necesidad (Como el caso actual en el bloqueo del gobierno venezolano a sus ciudadanos que no pueden acceder a las páginas de internet banking de los bancos venezolanos porque son bloqueados, o los portales del gobierno e incluso otros que no son gobierno, como Mercado Libre para los usuarios vendedores) entonces tenemos la opción de hacerlo en Windows.

Existe un programa gratuito para windows, muy fácil de instalar y configurar, este programa en cuestión es FreeSSHd y lo pueden descargar de aquí

Bueno, ya que me tomé el tiempo de escribir hasta aquí, he conseguido (gracias a google) buscando el link de descarga de FreeSSHd, un blog bastante completo de cómo instalar FreeSSHd, así que mejor les dejo el link y configuran desde allí, está bien explicado, y me ahorro tanto en tiempo como en copy/paste de ventanas jajaja.

Si tienen alguna duda, pueden consultar en la página del enlace o pueden consultarme, que con gusto los ayudaré.

Anti Bloqueo (Venezolanos) usando Router DD-WRT o NO


En vista de las restricciones #CyberBloqueo que el gobierno de Venezuela está haciendo a los
ciudadanos venezolanos en el exilio para acceder a sus cuentas bancarias usando el internet banking
de la banca venezolana, además de otras páginas de gobierno, y otras no del gobierno pero que se
han tomado la atribución de realizar el mismo bloqueo (Ej. www.mercadolibre.com.ve para los usuarios
que venden por esa plataforma), voy a realizar este pequeño manual de ayuda para que aquellos
venezolanos que aún tienen sus casas y mantienen sus servicios o que por alguna razón aún tienen
familia en Venezuela y mantienen su conexión a internet y quieren librarse de este estúpido bloqueo,
con la única condición (para esta versión del manual) es que cuenten con un Router que use el firmware
DD-WRT ya que será mucho más fácil y rápido de hacer.. (El próximo Post lo haré para los que tienen
cualquier otro tipo de router, y básicamente será muy parecido a este.)

NOTA IMPORTANTE:
Como no tengo DD-WRT por ahora, las pantalllas que he colocado en este post fueron descargadas
desde internet, lo más importante es que no tienen derechos de autor, por lo que no estoy infringiendo
ninguna ley 😜.

Requerimientos:

1. Router con el firmware DD-WRT con soporte para SSH
2. PC con Windows (Puede ser linux, pero los que tienen linux ya saben hacer esto :D ) Les debo la
configuración a los que tengan MacOS, pero como no tengo una Mac, no podré hacer las pantallas
(Acepto donaciones 😋 )
3. Navegador Google Chrome o Firefox (Haré el manual con Chrome)
4. Descargar putty.exe de los siguientes enlaces. (Va a depender de la plataforma de tu windows, si es 32 bits o 64 bits).


1.- Lo primero que debemos hacer es activar el servicio SSH (Servidor) y configurar el puerto de entrada.
Vaya a la pestaña Servicios y la subpestaña Servicios en la Interfaz Web del DD-WRT.
Habilitar SSHd en la sección Secure Shell. 
El reenvío TCP SSH puede dejarse deshabilitado. 
El puerto se puede dejar configurado en 22.
Habilitar la Autorización de contraseña (Método más fácil para usuarios no avanzados) Los usuarios avanzados pueden configurar claves autorizadas, para mayor seguridad.
Presione el botón Aplicar configuración.


2.- Ahora debemos habilitar para que el SSH se pueda ver desde Internet.

Vamos a la pestaña Administración y la subpestaña Administración en la Interfaz Web Habilite la administración de SSH en la sección de acceso remoto. Establezca el Puerto remoto en el número de puerto TCP que desea utilizar para conectarse a su router desde Internet. Una buena opción es usar el puerto 443 porque normalmente se deja abierto para permitir el uso de HTTPS, por lo que Putty podrá conectarse incluso a través de firewalla restrictivos. Presionamos el botón Aplicar configuración. 

Resultado de imagen para ssh "DD WRT"

Es importante mas no imprescindible tener configurado un servicio de DNS dinámico, especialmente si su proveedor de servicios de internet cambia su dirección IP de forma dinámica. Esto le permitirá acceder a su router utilizando un nombre de dominio fácil de recordar en lugar de la dirección IP  WAN.



3.- Configurar y guardar la configuración de Putty.

Desde Windows, daremos doble clic a Putty.exe para que nos abra el programa que nor permite tanto configurar como hacer la conexión SSH para hacer el tunel.
Agregamos el nombre que creamos en el DNS Dinámico o la IP WAN del router.

Vamos a la sección Conexión -> Datos. (ver la figura siguiente) y escribamos el nombre del administrador del router o uno que haya creado y que tenga acceso al router, preferiblemente un usuario sin perfil administrador, pero para no complicar a los usuarios, colocamos el usuario estándar, que en este caso será "root" y dependiendo del firmware podría ser "admin".


Ahora vamos a establecer los valores para nuestro tunel, vamos a Conexión -> SSH -> Túneles. colocamos 8080 en el puerto de origen, seleccionamos el botón de opción Dinámico para convertirlo en un túnel dinámico que actuará como un servidor proxy SOCKS, hacemos clic en el botón Agregar para agregarlo a la lista de puertos reenviados. Aparecerá como D8080 en la lista. Podemos activar la opción de que nuestro equipo acepte conexiones de otros hosts en la red, esto nos permitirá compartir la navegación a través del tunel con otros usuarios en nuestra red.


Ahora regresamos a la sección de Sesión para terminar de configurar los datos de nuestro servidor SSH (Nuestro Router DD-WRT)
En la imagen de abajo está escrito un nombre "micasa.ddns.net" que fue previamente configurado en un DynDNS y también configurado en el DD-WRT, pero allí también podría colocar la dirección IP de Internet de su Router.
Configuramos el puerto remoto, para nuestro ejemplo habíamos usado el 443
Marcamos el tipo de conexión en SSH.
Y guardamos la configuración.

Ahora podemos realizar el tunel haciendo doble clic en el nombre de la sesión guardada en la lista para cargarla y abrir la conexión al servidor (Router DD-WRT)

Cada vez que se conecte, deberá ingresar la contraseña del router a menos que esté usando una clave de autenticación.


4.- Configurar el Proxy en tu navegador.

Ahora que ya tenemos el tunel SSH corriendo, lo que nos queda hacer es configurar las opciones de internet para configurar un servidor proxy SOCKS.
Los datos que requerimos para configurar el proxy son los siguiente:
Tipo de Proxy: SOCKS
Dirección: 127.0.0.1
Puerto: 8080

Abrimos Google Chrome y en la barra de navegación escribimos:
chrome://settings/

Esto nos abrirá la siguiente ventana de configuración en donde haremos la configuración del proxy, iremos al final y seleccionamos las opciones avanzadas.


Igualmente, iremos al final y seleccionamos Abrir configuración de Proxy

Nos aparecerá la siguiente ventana, y seleccionaremos Configuración LAN


Seleccionamos lo que está marcado en amarillo en la ventana de abajo, y haremos clic en Opciones Avanzadas.


Agregamos los datos del proxy SOCKS y le damos aceptar a todas las ventanas hasta cerrar la configuración de Chrome.

Ahora podrá navegar como si estuviese en la red del router DD-WRT, en este caso en Venezuela. Puede probra que su dirección IP es la de Venezuela, navegando en Google Chrome la página:
cualesmiip.com

5.- Compartir el tunel para otras máquinas en tu red.

Realizar todo lo del paso 4, con la diferencia que en la dirección del proxy, en lugar de usar 127.0.0.1 deberán colocar la dirección IP Privada de su máquina, algo como 192.168.1.12 o 192.168.0.5 o la que tenga en ese momento su máquina.
Podrá verla pulsando la tecla Windows+R escribiendo luego cmd.exe y presiona y en la consola CMD escribir ipconfig y presionando allí podrá ver su dirección su dirección IP que tiene actualmente.


Sin Router DD-WRT

Básicamente lo que nos ahorra el DD-WRT es tener que instalar un servidor SSH, y hacer la redirección de puerto hacia ese servidor.
Si no tenemos un servidor SSH y no sabemos nada de Linux, podemos instalar un servidor SSH en una máquina con Windows, usando FreeSSHd, y podemos ver cómo aquí

Lo único que nos queda después de instalar el servidor, es hacer la redirección de puertos (Port Forward) en nuestro Router (Linksys, TP-Link, Cisco, etc.) pero como cada Router tiene su forma particular de hacer la redirección, entonces deben buscar en el manual de su router o en internet "cómo hacer la redirección de puertos a su servidor SSH y lo demás ya está escrito arriba.

Saludos.