De casa al trabajo? el server en produccion a tu maquina laboral o a la red de tu empresa?
:-) He aqui una de mis cosas favoritas del OpenSSH, o simplemente SSH :P (Secure SHell).
Bueno capas que muchos tiene un consepto.. no errado pero si muy pobre de los que es el ssh, muchos creen que solo es una especie de entrada a usar una PC remota por una consola :-P, y que si o si siempre tiene ejecutar un bash apenas nos conectamos xD
Pero sabiendo el verdadero significado de shell: (concha, xD), una shell es una capa entre el sistema operativo y *algo*, eso puede ser un humano o un programa.
Si bien ssh trabaja con los usuarios del sistema, no es solo para editar un virtual en un server en produccion, puede ser util para muchas cosas, y la ventaja de este que es seguro (SECURE shell), usando juegos de llaves DSA y RSA para certificar y encriptar los datos.
Se pueden hacer tuneles TCP/IP, esto es, crear un tunel desde una PC con un cliente ssh (ssh, putty, etc) y un equipo con sshd (ssh-server), este tunel es manejado por esta SHELL (capa o interfaz/interface), pero para la conexion esto es transparente... osea..
[MAQUINA LOCAL puerto 300:-ssh]-------------------------------------------->[sshd-> puerto 300 MAQUINA REMOTA]
le decimos que el ssh habra un puerto local (300) y haga un puente con el 300 de la maquina remota, esta se conectara al sshd remoto (puerto 22) y le dira al sshd que se conecte al puerto 300. Alla hay un cliente local conectandose al puerto 300, y aca hay un servicio abriendo un puerto local, para la aplicacion que trabaja con esto es totalmente transparente, pero para la comunicacion no, hay una encriptacion de los datos en vivo.
Supongamos que un programa le manda un HOLA a otro:
La clave DSA sertifica por medio de una firma digital que ese HOLA vino de PC 1, y aparte encripta los datos para que otra PC no pueda ver que se envia, a [PC 3] por ejemplo ~jEoi8SaiO no le va a servir de nada si no tiene la llave privada para desencriptarlo (RSA).
Ahora al asunto practico, abrimos un puerto ssh y lo redirigimos... (con ssh)
ssh -N -L 300:127.0.0.1:300 server.com
aca creariamos abririamos un puerto local (300) el cual ssh tunealearia* al sshd de server.com y este a la vez al puerto 300 local.
Pero supongamos que tenemos un server WEB y un server Mysql, solo el web tiene salida a internet,asi que seria algo asi:
no nos podemos conectar al server de mysql directo, pero el servidor web si, asi que se lo pedimos:
ssh -N -L 5000:192.168.1.2:3306 server.com
eso lo que le dice al sshd (server.com) es que nos concete al 3306 (mysql) de 192.168.1.2 (la ip interna del server mysql), de esa forma no solo nos sirve para asegurara la cominicacion, sino que tambien sirve paraconectarnos a maquinas que esten en el la red interna y no con acceso directo a nosotros, saltandonos firewalls, y demas.
Con el cliente de MySql no conecteriamos
mysql -u usuario -h localhost -P 5000 -p
Y es como conectarnos de alla (usuario@localhost).
Obviamente si deseamos que nuestros usuarios creen tuneles hay opciones, en /etc/ssh/sshd_config (en linux, en otros SO unix no sé)
AllowTcpForwarding yes #X11Forwarding no
Con eso se puede desabilitar/habilitar el fordwardeo de puertos y el de interface gráfica (X11).
La verdad es algo que uso bastante y es genial.
A otra escala, un groso mal es OpenVPN, que te agrega una interfaz de red
virtual por la que se rutean todos los paquetes que van a la red remota,
todo cifrado, por supuesto.
On Tue, Sep 30, 2008 at 1:49 PM, Tio Oscar <tios...@gmail.com> wrote:
> De casa al trabajo? el server en produccion a tu maquina laboral o a la red
> de tu empresa?
> :-) He aqui una de mis cosas favoritas del OpenSSH, o simplemente SSH :P
> (Secure SHell).
> Bueno capas que muchos tiene un consepto.. no errado pero si muy pobre de
> los que es el ssh, muchos creen que solo es una especie de entrada a usar
> una PC remota por una consola :-P, y que si o si siempre tiene ejecutar un
> bash apenas nos conectamos xD
> Pero sabiendo el verdadero significado de shell: (concha, xD), una shell es
> una capa entre el sistema operativo y *algo*, eso puede ser un humano o un
> programa.
> Si bien ssh trabaja con los usuarios del sistema, no es solo para editar un
> virtual en un server en produccion, puede ser util para muchas cosas, y la
> ventaja de este que es seguro (SECURE shell), usando juegos de llaves DSA y
> RSA para certificar y encriptar los datos.
> Se pueden hacer tuneles TCP/IP, esto es, crear un tunel desde una PC con un
> cliente ssh (ssh, putty, etc) y un equipo con sshd (ssh-server), este tunel
> es manejado por esta SHELL (capa o interfaz/interface), pero para la
> conexion esto es transparente... osea..
> [MAQUINA LOCAL puerto
> 300:-ssh]-------------------------------------------->[sshd-> puerto 300
> MAQUINA REMOTA]
> le decimos que el ssh habra un puerto local (300) y haga un puente con el
> 300 de la maquina remota, esta se conectara al sshd remoto (puerto 22) y le
> dira al sshd que se conecte al puerto 300. Alla hay un cliente local
> conectandose al puerto 300, y aca hay un servicio abriendo un puerto local,
> para la aplicacion que trabaja con esto es totalmente transparente, pero
> para la comunicacion no, hay una encriptacion de los datos en vivo.
> Supongamos que un programa le manda un HOLA a otro:
> La clave DSA sertifica por medio de una firma digital que ese HOLA vino de
> PC 1, y aparte encripta los datos para que otra PC no pueda ver que se
> envia, a [PC 3] por ejemplo ~jEoi8SaiO no le va a servir de nada si no tiene
> la llave privada para desencriptarlo (RSA).
> Ahora al asunto practico, abrimos un puerto ssh y lo redirigimos... (con
> ssh)
> ssh -N -L 300:127.0.0.1:300 server.com
> aca creariamos abririamos un puerto local (300) el cual ssh tunealearia* al
> sshd de server.com y este a la vez al puerto 300 local.
> Pero supongamos que tenemos un server WEB y un server Mysql, solo el web
> tiene salida a internet,asi que seria algo asi:
> no nos podemos conectar al server de mysql directo, pero el servidor web
> si, asi que se lo pedimos:
> ssh -N -L 5000:192.168.1.2:3306 server.com
> eso lo que le dice al sshd (server.com) es que nos concete al 3306 (mysql)
> de 192.168.1.2 (la ip interna del server mysql), de esa forma no solo nos
> sirve para asegurara la cominicacion, sino que tambien sirve paraconectarnos
> a maquinas que esten en el la red interna y no con acceso directo a
> nosotros, saltandonos firewalls, y demas.
> Con el cliente de MySql no conecteriamos
> mysql -u usuario -h localhost -P 5000 -p
> Y es como conectarnos de alla (usuario@localhost).
> Obviamente si deseamos que nuestros usuarios creen tuneles hay opciones, en
> /etc/ssh/sshd_config (en linux, en otros SO unix no sé)
> AllowTcpForwarding yes
> #X11Forwarding no
> Con eso se puede desabilitar/habilitar el fordwardeo de puertos y el de
> interface gráfica (X11).
> La verdad es algo que uso bastante y es genial.
> A otra escala, un groso mal es OpenVPN, que te agrega una interfaz de red
> virtual por la que se rutean todos los paquetes que van a la red remota,
> todo cifrado, por supuesto.
> On Tue, Sep 30, 2008 at 1:49 PM, Tio Oscar <tios...@gmail.com> wrote:
>> De casa al trabajo? el server en produccion a tu maquina laboral o a la
>> red de tu empresa?
>> :-) He aqui una de mis cosas favoritas del OpenSSH, o simplemente SSH :P
>> (Secure SHell).
>> Bueno capas que muchos tiene un consepto.. no errado pero si muy pobre de
>> los que es el ssh, muchos creen que solo es una especie de entrada a usar
>> una PC remota por una consola :-P, y que si o si siempre tiene ejecutar un
>> bash apenas nos conectamos xD
>> Pero sabiendo el verdadero significado de shell: (concha, xD), una shell
>> es una capa entre el sistema operativo y *algo*, eso puede ser un humano
>> o un programa.
>> Si bien ssh trabaja con los usuarios del sistema, no es solo para editar
>> un virtual en un server en produccion, puede ser util para muchas cosas, y
>> la ventaja de este que es seguro (SECURE shell), usando juegos de llaves DSA
>> y RSA para certificar y encriptar los datos.
>> Se pueden hacer tuneles TCP/IP, esto es, crear un tunel desde una PC con
>> un cliente ssh (ssh, putty, etc) y un equipo con sshd (ssh-server), este
>> tunel es manejado por esta SHELL (capa o interfaz/interface), pero para la
>> conexion esto es transparente... osea..
>> [MAQUINA LOCAL puerto
>> 300:-ssh]-------------------------------------------->[sshd-> puerto 300
>> MAQUINA REMOTA]
>> le decimos que el ssh habra un puerto local (300) y haga un puente con el
>> 300 de la maquina remota, esta se conectara al sshd remoto (puerto 22) y le
>> dira al sshd que se conecte al puerto 300. Alla hay un cliente local
>> conectandose al puerto 300, y aca hay un servicio abriendo un puerto local,
>> para la aplicacion que trabaja con esto es totalmente transparente, pero
>> para la comunicacion no, hay una encriptacion de los datos en vivo.
>> Supongamos que un programa le manda un HOLA a otro:
>> La clave DSA sertifica por medio de una firma digital que ese HOLA vino de
>> PC 1, y aparte encripta los datos para que otra PC no pueda ver que se
>> envia, a [PC 3] por ejemplo ~jEoi8SaiO no le va a servir de nada si no tiene
>> la llave privada para desencriptarlo (RSA).
>> Ahora al asunto practico, abrimos un puerto ssh y lo redirigimos... (con
>> ssh)
>> ssh -N -L 300:127.0.0.1:300 server.com
>> aca creariamos abririamos un puerto local (300) el cual ssh tunealearia*
>> al sshd de server.com y este a la vez al puerto 300 local.
>> Pero supongamos que tenemos un server WEB y un server Mysql, solo el web
>> tiene salida a internet,asi que seria algo asi:
>> no nos podemos conectar al server de mysql directo, pero el servidor web
>> si, asi que se lo pedimos:
>> ssh -N -L 5000:192.168.1.2:3306 server.com
>> eso lo que le dice al sshd (server.com) es que nos concete al 3306
>> (mysql) de 192.168.1.2 (la ip interna del server mysql), de esa forma no
>> solo nos sirve para asegurara la cominicacion, sino que tambien sirve
>> paraconectarnos a maquinas que esten en el la red interna y no con acceso
>> directo a nosotros, saltandonos firewalls, y demas.
>> Con el cliente de MySql no conecteriamos
>> mysql -u usuario -h localhost -P 5000 -p
>> Y es como conectarnos de alla (usuario@localhost).
>> Obviamente si deseamos que nuestros usuarios creen tuneles hay opciones,
>> en /etc/ssh/sshd_config (en linux, en otros SO unix no sé)
>> AllowTcpForwarding yes
>> #X11Forwarding no
>> Con eso se puede desabilitar/habilitar el fordwardeo de puertos y el de
>> interface gráfica (X11).
Sep. Vos ponés a correr el server de OpenVPN en un gateway, y le ponés sus
correspondientes certificados. Después los flaquitos que se quieren conectar
necesitan los certificados públicos y a eso le podés agregar por ejemplo
autenticación con user y pass del SO en donde está instalada la VPN.
Después vos en el cliente configurás el openvpn client y te olvidás de andar
forwardeando cada puerto. Ponés en un archivo de configuración dónde están
los certificados y alguna opción más, arrancás el cliente, ponés tu user y
password y dale que va.
On Wed, Oct 1, 2008 at 1:26 AM, Tio Oscar <tios...@gmail.com> wrote:
> Una sola vez me meti con las VPNs, que me tuve que conectar a una de win2.
> Como encripta? tambien por DSA/RSA ?
> La verdad es algo que uso bastante y es genial.
>> A otra escala, un groso mal es OpenVPN, que te agrega una interfaz de red
>> virtual por la que se rutean todos los paquetes que van a la red remota,
>> todo cifrado, por supuesto.
>> On Tue, Sep 30, 2008 at 1:49 PM, Tio Oscar <tios...@gmail.com> wrote:
>>> De casa al trabajo? el server en produccion a tu maquina laboral o a la
>>> red de tu empresa?
>>> :-) He aqui una de mis cosas favoritas del OpenSSH, o simplemente SSH :P
>>> (Secure SHell).
>>> Bueno capas que muchos tiene un consepto.. no errado pero si muy pobre de
>>> los que es el ssh, muchos creen que solo es una especie de entrada a usar
>>> una PC remota por una consola :-P, y que si o si siempre tiene ejecutar un
>>> bash apenas nos conectamos xD
>>> Pero sabiendo el verdadero significado de shell: (concha, xD), una shell
>>> es una capa entre el sistema operativo y *algo*, eso puede ser un humano
>>> o un programa.
>>> Si bien ssh trabaja con los usuarios del sistema, no es solo para editar
>>> un virtual en un server en produccion, puede ser util para muchas cosas, y
>>> la ventaja de este que es seguro (SECURE shell), usando juegos de llaves DSA
>>> y RSA para certificar y encriptar los datos.
>>> Se pueden hacer tuneles TCP/IP, esto es, crear un tunel desde una PC con
>>> un cliente ssh (ssh, putty, etc) y un equipo con sshd (ssh-server), este
>>> tunel es manejado por esta SHELL (capa o interfaz/interface), pero para la
>>> conexion esto es transparente... osea..
>>> [MAQUINA LOCAL puerto
>>> 300:-ssh]-------------------------------------------->[sshd-> puerto 300
>>> MAQUINA REMOTA]
>>> le decimos que el ssh habra un puerto local (300) y haga un puente con el
>>> 300 de la maquina remota, esta se conectara al sshd remoto (puerto 22) y le
>>> dira al sshd que se conecte al puerto 300. Alla hay un cliente local
>>> conectandose al puerto 300, y aca hay un servicio abriendo un puerto local,
>>> para la aplicacion que trabaja con esto es totalmente transparente, pero
>>> para la comunicacion no, hay una encriptacion de los datos en vivo.
>>> Supongamos que un programa le manda un HOLA a otro:
>>> La clave DSA sertifica por medio de una firma digital que ese HOLA vino
>>> de PC 1, y aparte encripta los datos para que otra PC no pueda ver que se
>>> envia, a [PC 3] por ejemplo ~jEoi8SaiO no le va a servir de nada si no tiene
>>> la llave privada para desencriptarlo (RSA).
>>> Ahora al asunto practico, abrimos un puerto ssh y lo redirigimos... (con
>>> ssh)
>>> ssh -N -L 300:127.0.0.1:300 server.com
>>> aca creariamos abririamos un puerto local (300) el cual ssh tunealearia*
>>> al sshd de server.com y este a la vez al puerto 300 local.
>>> Pero supongamos que tenemos un server WEB y un server Mysql, solo el web
>>> tiene salida a internet,asi que seria algo asi:
>>> no nos podemos conectar al server de mysql directo, pero el servidor web
>>> si, asi que se lo pedimos:
>>> ssh -N -L 5000:192.168.1.2:3306 server.com
>>> eso lo que le dice al sshd (server.com) es que nos concete al 3306
>>> (mysql) de 192.168.1.2 (la ip interna del server mysql), de esa forma no
>>> solo nos sirve para asegurara la cominicacion, sino que tambien sirve
>>> paraconectarnos a maquinas que esten en el la red interna y no con acceso
>>> directo a nosotros, saltandonos firewalls, y demas.
>>> Con el cliente de MySql no conecteriamos
>>> mysql -u usuario -h localhost -P 5000 -p
>>> Y es como conectarnos de alla (usuario@localhost).
>>> Obviamente si deseamos que nuestros usuarios creen tuneles hay opciones,
>>> en /etc/ssh/sshd_config (en linux, en otros SO unix no sé)
>>> AllowTcpForwarding yes
>>> #X11Forwarding no
>>> Con eso se puede desabilitar/habilitar el fordwardeo de puertos y el de
>>> interface gráfica (X11).