En esta oportunidad contaré como SSH nos puede ayudar a saltar restricciones y levantar servicios.
Como es de conocimiento general, intuyo por eso llegaste acá, SSH nos permite crear túneles cifrados para el envió y recepción de información, aumentando considerablemente la seguridad del medio de transporte de esta, eso es uno de los grandes funciones que posee SSH, pero también es posible realizar otras acciones ,como lo es un proxy.
De que sirve que SSH pueda crear un proxy ?
Con un proxy SSH existe la posibilidad saltar las restricciones que tengan impuestas en tu país o lugar de trabajo, por ejemplo cueando estos bloquean paginas: Informativas,Políticas y/o de redes sociales,etc .
En este caso el uso que le daremos al proxy será para el minado de cripto-monedas utilizando la funcionalidad fordwarding, de ssh (para nosotros proxy)
En este caso el uso que le daremos al proxy será para el minado de cripto-monedas utilizando la funcionalidad fordwarding, de ssh (para nosotros proxy)
Objetivo
La idea principal es poder conectarse desde una LAN que no tiene acceso a Internet, pero si tiene conexión hacia otra red la cual si posee el acceso a Internet,valga la redundancia . Tomaremos como ejemplo el siguiente diagrama:
Descripción:
En este caso contamos con dos redes que se conectan mediante el mismo router, pero como se puede apreciar , la red Beta no posee acceso a Internet pero si tiene acceso a la red Alfa, puede existir escenarios distintos o similares ( como la interacción de las redes mediante un solo swich y/o hub desde el router,etc) lo ideal es captar la idea de que : La red Beta no tiene contacto con el exterior, solo a las redes internas o quizás a un solo Servidor y/o Computador.
Detalle:
Red "Alfa" rango de IPs son : 1 92.168.1.1 - 192.168.1.255
Red "Beta" cuyo rango de IPs son : 10.49.2.1 - 10.49.2.1.255
Server A :192.168.1.2 (Linux)
Server B : 10.49.2.7 (Linux)
Comencemos ...
Primero, verificar que los dos Linux tenga instalado el servidor Openssh, si no lo tienen lo instalamos, tomaremos como referencia las distros más Conocidas:
Debian :# aptitude install openssh-server openssh-client
Centos :# yum -y install openssh-server openssh-clients
En Centos hay que aplicar unas instrucciones extra para su funcionamiento:
# chkconfig sshd on
# service sshd start
Luego de esto chequeamos que este operativo el servicio con un
# netstat -tulpn | grep :22
Una vez que nuestro SSH esta funcionando, procederemos a crear llaves publicas para que no nos pida la password de acceso cuando nos conectemos de un servidor a otro.
Esto es muy importante , lo explicaré más adelante del porque es necesario el acceso mediante dichas llaves. A tener presente : El Servidor B es quien no posee Internet y por tanto es el que se va a conectar al Servidor A para obtener dicha conexión , de está manera y para que quede más claro El servidor B es quien necesita acceso al servidor A sin solicitud de password,
Esto es muy importante , lo explicaré más adelante del porque es necesario el acceso mediante dichas llaves. A tener presente : El Servidor B es quien no posee Internet y por tanto es el que se va a conectar al Servidor A para obtener dicha conexión , de está manera y para que quede más claro El servidor B es quien necesita acceso al servidor A sin solicitud de password,
Para poder lograr esto :
En el servidor B, en la linea de comandos:
#ssh-keygen -t rsa
Sigues los pasos te va solicitar una passphrase la cual omitimos presionando enter de esta forma no nos pide password en el futuro para conectarnos, así sucesivamente ej:
Esta operación te crea un archivo id_rsa.pub , su ruta está indicada : "Your public key has been saved in /home/xxxx/xx/.xx/id_rsa.pub".
El contenido de este archivo hay que agregarlo al servidor A (si queremos acceso a root) en : /root/.ssh/authorized_keys
puedes ocupar SCP para copiar:
scp /home/xxxx/xx/.xx/id_rsa.pub root@192.168.1.2:.ssh/authorized_keys
Despues de esto ya tenemos acceso sin password desde SSH, verifica :
ssh root@192.168.1.2
Proxy con SSH
Una vez que confirmamos que tenemos levantados los 2 servicios SSH procedemos a levantar el Tunnel proxy mediante sockets, esto debe ser ejecutado en el Servidor B:
ssh -N -D localhost:1080 root@192.168.1.2 -p 22
Esta instrucción habré el puerto 1080 de la maquina B que a su vez apunta a la maquina A (192.168.1.2) , con esto ya tenemos listo nuestro proxy .
Para que lo tengas claro, si quieres ocupar el proxy desde la maquina B, debes indicar siempre que las peticiones pasen por localhost:1080
A minar
Para minar utilizaremos cpuminer , el cual nos permite minar sin utilizar GPU:
Para instalar cpuminer :
$ wget http://sourceforge.net/projects/cpuminer/files/pooler-cpuminer-2.3.2.tar
$ tar -xzf pooler-cpuminer-2.3.2.tar.gz
$ cd cpuminer-2.3.2/
$ ./configure CFLAGS="-O3"
$ make
Esto nos compilara un archivo minerd, el cual es el ejecutable , y para comenzar a minar nos unimos a un pool, yo ocupo coinotron.com.
y ejecutamos
ssh -N -D localhost:1080 root@192.168.1.2 -p 22
Esta instrucción habré el puerto 1080 de la maquina B que a su vez apunta a la maquina A (192.168.1.2) , con esto ya tenemos listo nuestro proxy .
Para que lo tengas claro, si quieres ocupar el proxy desde la maquina B, debes indicar siempre que las peticiones pasen por localhost:1080
A minar
Para minar utilizaremos cpuminer , el cual nos permite minar sin utilizar GPU:
Para instalar cpuminer :
$ wget http://sourceforge.net/projects/cpuminer/files/pooler-cpuminer-2.3.2.tar
$ tar -xzf pooler-cpuminer-2.3.2.tar.gz
$ cd cpuminer-2.3.2/
$ ./configure CFLAGS="-O3"
$ make
Esto nos compilara un archivo minerd, el cual es el ejecutable , y para comenzar a minar nos unimos a un pool, yo ocupo coinotron.com.
y ejecutamos
$ /ruta/al/archivo/minerd -a scrypt --proxy=socks5://localhost:1080 -t 4 -s 6 -o stratum+tcp://coinotron.com:3337 -O tu_usuario.3:x
Con esto ya dejamos minando nuestros LTC,
Saludos.
No hay comentarios:
Publicar un comentario