Publicidad:
La Coctelera

Categoría: Control Remoto

25 Octubre 2008

Con esta estupenda apliaccion Web, podremos comprobar el trafico que hay desde internet (que pasa por el router) hasta tu red local, pudiendo ver a que paginas web se conectan, a que Ip's, y por que puertos pasan. Los requisitos de esta aplicación, serian poner la maquina donde vas a instalar NTOP, detras del router, por lo tanto, El router se conectaria unicamente a ti, y todos los demas equipo se conectarian a internet a traves de tu maquina, utilizando por ejemplo un switch o punto de acceso.

De esta manera todo el trafico pasaria por NTOP, de manera transparente para ellos.

Podras acceder a la aplicacion desde cualquier punto de la red, con la IP y el puerto 3000 (por defecto)

http://192.168.1.2:3000

Por ejemplo.

Bueno, vamos a la instalacion:

Antes de instalar NTOP...

Antes de instalar la misma aplicaion, tendremos que tener instalado nuestro servidor de http, para poder verla, y la base de datos mysql.

Para ello, en la maquina a instalar escribiremos en la terminal:

sudo apt-get install apache2

i

sudo apt-get install mysql

Nos pedira nombres de usuario y contraseñas que deberemos recordar para acceder a la base de datos, si es que lo hacemos, y MySQL nos preguntara que servidor utilizamos, y le indicaremos Apache2.

Una vewz completadas las instalaciones procederemos a isntalar NTOP:

sudo apt-get install ntop

Una vez todo instalado y configurado tan solo tendremos que arrancarlo todo:

Puesta en marcha!

Para que iniciar todos los procesos escribiremos en la terminal

sudo /etc/init.d/apache2 start

sudo /etc/init.d/mysql start

sudo /etc/init.d/ntop start

Si todo nos da OK podremos comprobar si funciona, en la barra de direcciones de Firefox o el navegador que utilices, con tu IP..:

http://localhost:3000

Nos aparecera el menu del Ntop, ahora introduciremos nuestro usuario anteriormente configurado en NTop, una vez entremos, nos iremos a la pestaña de Sumary y la opcion de Traffic.

Aqui podremos ver las maquinas conectadas, con un icono de que sistema utilizan, donde se conectan, el ancho de banda que consumen, etc...

Es muy sencillo!

16 Octubre 2008

Las siglas de VNC significan "Virtual Network Computing", y es, esencialmente, un sistema remoto de visualización que te permite ver el Escritorio de un ordenador remoto que esté en cualquier red local, o en Internet.
Como tenemos clientes y servidores tanto para Window$ como para Ubuntu, lo explicaremos en dos partes:

UBUNTU

Para configurar el servidor de VNC en Ubuntu, lo podremos hacer desde el modo grafico, asi que iremos a Sistema/Preferencias/Escritorio Remoto (en el caso que no lo encotremos, podremos escribir en la terminal:

vino-preferences

Se nos abrira la ventana de preferencias del escritorio remoto:

Deberemos tener activadas las casillas de *Permitir a otros usuarios ver mi escritorio
y en el caso que no solo queramos visualizar, sino tambien controlar, la casilla de
*Permitir a otros usuarios controlar mi escritorio.

Mas abajo veremos otras casillas, para si queremos que pida confirmacion y contraseña:

(en el caso de Pitrimini, que nos consultaba como controlar el equipo de un menor, no marcar ni *Pedir Confirmacion, ni la de *Contraseña)
A continuacion iremos a la configuracion de internet (esquina superior derecha) y haremos click derecho y abriremos la Informacion de la conexion (en su defecto, en la terminal:

ifconfig

Anotaremos la dirección IP para poder conectarnos desde el Cliente, por ejemplo: 192.168.1.3



Una vez hecho esto, podremos cerrar.
Ahora deberemos ir al equipo que sera cliente (el que controlara o visualizara el escritorio, y nos iremos al terminal server: Aplicaciones/Internet/Cliente de Terminal Server.

En la pestaña Equipo, escribiremos la direccion IP antes anotada.
En protocolo seleccionaremos VNC. Todos los demas campos los dejaremos en blanco, o escribiremos la contraseña si esque la hemos puesto.

Cuando clickemos en Conectar ya podremos visualizar el equipo remotamente ;)

WINDOWS

Para Windows, tendremos que descargar una aplicación para poder hacer lo antes descrito, y nosotros recomendamos UltraVNC 1.02 (version Estable), que es gratuito. Puedes descargarlo desde aqui

CONFIGURACION

  • Desde la perspectiva del Server (ordenador remoto)
    Al pulsar por primera vez el icono de UltraVNC Server aparecerá la ventana de configuración del mismo. Previamente puede que aparezca la ventana de Alerta de seguridad de windows, se pulsa Desbloquear.
    • El dato más importante para configurar es la contraseña que permitirá el acceso al ordenador. En la versión 100-RC11d está en el apartado Win VNC: Current User Propierties - Password. Se pulsa el botón Apply y OK. En ese momento se alojará un icono azul junto al reloj que señalará la activación del Server.
      configuración de la aplicación Server de UltraVNC
      En la versión 1.0.2 está en el apartado Authentication - VNC Password.
      configuración de la aplicación Server de UltraVNC 1.0.2
    • Sólo dos datos necesitará la persona que quiera entrar en el ordenado remoto: La contraseña y la dirección IP.(Si lo quereis dejar sin contraseña, dejarla en blanco) Para saber la direccion del equipo remoto podremos pasar el cursor del ratón sobre el icono del Server junto al reloj. La dirección IP es un conjunto de cuatro números separados por puntos, Ejemplo: 192.168.1.3
    • Hay que tener en cuenta dos situaciones concretas que pueden impedir la conexión entre los ordenadores: La existencia de un cortafuegos (firewall) o la utilización de un router para acceder a internet. En el primer caso la solución más cómoda y rápida, que no la mejor, es desactivar el cortafuegos en cuestión; el que viene con Windows o el que acompaña a los antivirus actuales. En el segundo caso habría que abrir los puertos 5900 y 5800 del router, en esta dirección de AdslZone explican cómo hacerlo a varios modelos, pero también puedes acceder al servicio técnico del acceso a internet y te guían paso a paso. Presta mucha atención porque esto mismo se podrá hacer para abrir los puertos del eMule.
  • Desde la perspectiva del Viewer (visor)
    Al pulsar doble clic sobre el icono aparece una ventana donde solo hay que poner la dirección IP del ordenador remoto. Los números tal cual, no hay que poner http ni nada parecido.
    visor de ultravnc versión 1.0.2 conexión con ultravnc
    Si por parte del ordenador remoto no hay problema alguno aparecerá una pequeña ventana para introducir la contraseña. Se nos abre una ventana a pantalla completa con iconos en la parte superior cuyo contenido será el escritorio del ordenador remoto. A partir de ahí se podrá utilizar como si estuvieramos delante de él.
    Escritorio remoto con ultravnc
  • Finalizar la conexión: En el icono que está junto al reloj, pulsando con el botón derecho del ratón.

Fragmento de Windows extraido de Miniguias

9 Octubre 2008

SSH son las siglas de Secure SHell. Lo que te ofrece es una consola en un ordenador remoto con los privilegios que tenga la cuenta con la que conectes. Es decir, si en tu PC tienes varias cuentas, puedes conectar desde otro ordenador al tuyo con cualquiera de esas cuentas y sus respectivos privilegios, como pudiera ser la cuenta root, la de tu administrador sudo o la de un usuario normal sin poder de administración. Y todo esto con encriptación de datos.

En este tutorial os voy a mostrar algunas facetas de su uso, pero antes debéis saber que tener el servidor de SSH corriendo es de cierto riesgo, ya que si no tocáis la configuración por defecto para aumentar la seguridad a un nivel más que aceptable, puede ser un agujero para que alguien pueda entrar en vuestro sistema. Pero no os preocupéis, si seguís estos pasos es difícil que suceda, nunca imposible, pero sí difícil.

El manual es algo extenso debido a que he intentado hacer que resulte bastante completo y que, como llevo haciendo en el resto de tutoriales, quiero que sepáis lo que estáis haciendo, los porqués y lo que significa cada cambio que hacéis. De esta forma tendréis criterio propio para vuestras modificaciones personales.

Instalar

En vuestros repositorios ya tenéis SSH dispuesto a instalar, así pues:

$ sudo aptitude install ssh

Una vez instalado se autoiniciará el demonio que ejecuta el servidor SSH y gestiona las solicitudes de login remoto.

Configuración: Mayor seguridad

Como decía antes no es muy inteligente usar SSH sin modificar el fichero de configuración del servidor. Vamos a modificar algunas opciones para conseguir una seguridad aceptable.

$ sudo gedit /etc/ssh/sshd_config

(nota) Si algunas de las opciones que aquí comento no aparecen en vuestro sshd_config, simplemente agregadlas. Podéis hacerlo donde queráis, aunque lo suyo es que lo hagáis al principio o al final para que sepáis cuales son las opciones que vosotros habéis agregado.

Vemos un fichero de configuración típico basado en “opción valor”. Vamos a comenzar las modificaciones por el puerto que es lo primero que vemos y una de las cosas más importantes. SSH usa por defecto el puerto 22. Esto significa que si no lo cambiamos estamos entregando a un caco que sabe la dirección de dónde vivimos (nuestra IP) también la llave del portal.

Cambiaremos el puerto para evitarlo. Esto no quita que el caco pueda intentar averiguar “el portal” si sabe cómo hacerlo pero al menos le ponemos impedimentos. También hay scripts que atacan directamente el puerto 22, por lo que el cambio de puerto es algo obligatorio. Poned el que queráis y abridlo también en el router para que podáis acceder a vuestro ordenador desde otro. Usaremos por ejemplo el 4321, podéis poner el que queráis. Así pues en el fichero de configuración:

port 4321

Un poco más abajo buscad la opción “Protocol” debe estar a valor 2, si no es así (valor 1 ó 2,1 ponedla. Hay dos versiones de protocolo SSH. La primera está ya en desuso y tiene varias vulnerabilidades. Así debéis dejarlo en vuestra configuración:

Protocol 2

Buscad la sección “Authentication”. Sus dos primeras opciones son también importantes. La primera es el número de segundos que tendrá el usuario remoto para hacer login en tu máquina. Poned ese valor a pocos segundos, no tardamos mucho en hacer login si sabemos la cuenta y la password. De esta forma evitamos ciertos scripts que se aprovechan de ese tiempo. El valor típico en términos de seguridad es 30, aunque podéis poned incluso menos si estáis más conformes.

LoginGraceTime 30

Justo debajo tenéis otras de las opciones más importantes, PermitRootLogin. Si antes usé la metáfora del caco y el portal, esta opción viene a ser que le digáis también en qué planta del bloque de pisos vivís y qué puerta, faltándole sólo la llave. Con esto lo que insinúo es que si sabe por qué puerto entrar, tan sólo le queda averiguar dos datos: el nombre de una cuenta y su contraseña.

Si tenemos esta opción habilitada (yes) el caco ya tiene la mitad del trabajo hecho, pues el usuario “root” existe en todas las máquinas GNU/Linux, tan sólo le queda averiguar la contraseña. Por eso es más que recomendable deshabilitar esta opción. No os preocupéis los que tenéis en mente usar SSH para hacer un uso administrativo, podéis hacerlo con vuestra cuenta y sudo sin problema alguno. Así pues…

PermitRootLogin no

También podéis señalar con el dedo las cuentas que tienen permitido el uso SSH (AllowUsers). Pongamos un ejemplo, que es como mejor se entienden las cosas: Supongamos que tienes un amigo con el que quieres compartir algo vía SSH y además tiene un hermano que es un enreda y en el que no confías por si te la puede liar. Llamaremos a las cuentas “amigo” y “pesado” respectivamente. Para restringir el uso de SSH a tu amigo y a tu propia cuenta (llamémosla “pepino”) podemos indicárselo mediante configuración. Incluso podemos indicar también que tu amigo sólo se pueda conectar a tu ordenador desde el suyo, sabiendo su IP (supongamos que es 83.45.258.21). Pondríamos en la configuración:

AllowUsers pepino amigo@83.45.258.21

De esta forma tú podrías usar tu cuenta (pepino) para conectar a tu equipo desde cualquier lugar, tu amigo podría hacerlo sólo desde su ordenador (si tiene esa IP) y tu hermano no podría conectar a tu máquina vía SSH, si no tiene tu cuenta.

Otra opción interesante es el número de intentos que tiene el usuario remoto para hacer login (MaxAuthTries). Como comenté antes, quien intente conectar debe acordarse de su login y password, por lo que es tontería darle un número grande de intentos. En principio con dos son más que suficientes. Si al segundo intento no lo ha conseguido se cortará la conexión SSH. Siempre se puede volver a conectar y reintentarlo, pero así nos quitamos de encima ciertos scripts que intentan encontrar el login por fuerza bruta a base de ensayo y error.

MaxAuthTries 2

Por último hay otra opción que define el número máximo de usuarios conectados simultáneamente a tu máquina. Esto ha de adaptarse a tus propias necesidades. Si estamos hablando de un ordenador personal donde sólo vas a conectar tú, pues lo lógico sería que como mucho hubiera una. Si estamos hablando de un ordenador que hará las veces de servidor compartiendo una carpeta a varias máquinas, deberás decidir cuántos son. Cuanto tengas claro el número indícalo en la opción siguiente en lugar de la ‘X’:

MaxStartups X

Ya podéis guardar y cerrar gedit. Con esto tenéis un servidor SSH bastante seguro. Como comenté antes nunca es 100% seguro pero a priori podéis estar bien tranquilos. Sólo resta reiniciar el propio servidor SSH para que tome los cambios que hemos efectuado en su configuración. Escribid en consola:

$ sudo /etc/init.d/ssh restart

Un último consejo. Como habéis visto podemos poner trabas al caco en cuanto a nuestra dirección y puerta, pero ¿podemos ponerle problemas con la llave? La llave se entiende que es la contraseña. Y la respuesta es afirmativa. Podéis hacerlo pero vosotros mismos. Poned claves en condiciones a vuestras cuentas. Usad como poco 5 ó 6 caracteres y a ser posible que se entremezclen mayúsculas, minúsculas y números, por ejemplo: entr3TuXeSyp3p1n0s.

Es un ejemplo exagerado, enrevesado a la hora de escribir e incómodo para meterlo en sudo cada dos por tres, pero intentad que sea del estilo y procurad que no sea algo tan simple como vuestro nombre, el de vuestra mascota, vuestra fecha de nacimiento, grupo favorito, etc.

Uso de SSH en consola
  • Conectar

Ahora que tenemos SSH bien seguro es hora de que veais para qué sirve. Parto de que tenéis dos equipos, el que tenéis delante y al que queréis conectar. Obviamente debéis tener una cuenta en el segundo para poder entrar. La forma de conectar por defecto es la siguiente:

$ ssh tu_cuenta@ip_del_ordenador_remoto

Esto sería si no hubiéramos cambiado el puerto, ya que intentaría conectar por el puerto 22 que es el puerto por defecto del cliente. Podéis cambiarlo si queréis para que conecte por defecto por el puerto que le digáis en lugar del 22 editando el fichero /etc/ssh/ssh_config. Descomentáis (si está comentada) la opción “Port” y en lugar de “22″ ponéis el que queráis.

La otra opción, que es lo más normal, es simplemente indicarle en la línea de conexión qué puerto ha de usar:

$ ssh -p puerto tu_cuenta@ip_del_ordenador_remoto

Para que lo veais más claro os voy a poner un ejemplo. Mi portátil está en la ip 192.168.1.4 y el puerto SSH que tengo para el mismo es el 4884. La cuenta que voy a usar para conectarme es “pepino”, así que para conectar desde mi PC de sobremesa al portatil sería:

$ ssh -p 4884 pepino@192.168.1.4

Tras esto me pedirá la contraseña:

pepino@192.168.1.4's password:

La introducimos y tras un texto de “bienvenida” veremos que nuestro prompt ha cambiado a “nombre_cuenta@nombre_manquina”. Mi portatil se llama salamandra, así pues mi prompt es:

pepino@salamandra:~$

A partir de este instante tu consola está controlando el equipo remoto. Estarás en el home de tu cuenta en la máquina remota. ¿Qué podemos hacer?

  • Copiar ficheros

Seguramente es lo primero que se os ha pasado por la cabeza a algunos. Efectivamente podemos copiar ficheros fácilmente desde el ordenador remoto al que estamos usando en este momento, y es fácil (es una sóla línea):

$ scp ruta/archivo cuenta_en_ordenador_presente@ip_ordenador_presente:ruta/fichero

Complicado a priori, ¿verdad? En el fondo no lo es, una vez sabéis qué es cada cosa. ruta/fichero es el lugar donde está el archivo a copiar en la primera aparición, y el lugar donde se va a copiar en la segunda. cuenta_en_ordenador_presente es la cuenta que estáis usando (u otra) en el ordenador que tenéis delante (no el remoto). La ip_ordenador_presente es precisamente la ip de vuestro ordenador. Pero como siempre mejor con un ejemplo.

Supongamos que quiero copiarme un fichero llamado pepino.jpg que está en el escritorio de la cuenta “pepino” del portátil (el ordenador remoto) y quiero copiármelo en el home de la cuenta “tux” de mi ordenador presente, cuya ip es 192.168.1.6. Ya que estoy quiero aprovechar y cambiarle el nombre. Quiero que se llame pepinaceo.jpg en lugar de pepino.jpg. Escribiremos en el SSH (es una sóla línea):

$ scp /home/pepino/Desktop/pepino.jpg tux@192.168.1.6:/home/tux/pepinaceo.jpg

¿No funciona? ¿Sabes por qué? El puerto, recordad que lo cambiamos y aquí también tenemos que indicárselo. En el ordenador de sobremesa tengo abierto el puerto 8448, así pues (es una sóla línea):

$ scp -P 8448 /home/pepino/Desktop/pepino.jpg tux@192.168.1.6:/home/tux/pepinaceo.jpg

Nos pedirá la contraseña de la cuenta “tux” en el ordenador que tenemos delante y copiará el archivo:

pepino@192.168.1.4's password:

pepinaceo.png 100% 292KB 291.7KB/s 00:00

Y si ya estuvieramos en el escritorio (prompt: pepino@salamandra:~/Desktop$) no habría que poner toda la ruta si no queremos ya que tomaría la ruta relativa a la actual:

$ scp -P 8448 pepino.jpg tux@192.168.1.6:/home/tux/pepinaceo.jpg

(Nota) Ojo con la ‘P’ que en este caso debe ser mayúscula.

Otra gracia del asunto es que no tienes por qué copiarlo a tu equipo actual. Si tienes acceso a otro ordenador más, puedes copiar algo de uno al otro del mismo modo, es decir, teniendo login en ambos y sabiendo su IP. Por otro lado si lo que queremos copiar es una carpeta, basta con añadirle el parámetro ‘-r’ para que copie todo su contenido (r=recursivo).

  • Otros usos

Básicamente cualquiera que se os pase por la cabeza. Daros cuenta que para un sistema GNU/Linux el interfaz no lo es todo, de hecho es prácticamente una aplicación que está corriendo bajo el propio sistema operativo, por lo que podéis administrar perfectamente vuestro equipo desde una consola y con acceso remoto vía SSH. Dentro de una conexión SSH, podéis reiniciarlo:

pepino@salamandra:~$ sudo reboot

Broadcast message from pepino@salamandra

(/dev/pts/1) at 23:45 …

The system is going down for reboot NOW!

O apagarlo:

pepino@salamandra:~$ sudo halt

Broadcast message from pepino@salamandra

(/dev/pts/1) at 23:51 …

The system is going down for halt NOW!

O usar cualquier otra aplicación de texto, como podría ser una que os presenté hace poco y que os podría venir muy bien en este caso: links. De esta forma si queréis podeís navegar en la consola y descargaros algo en vuestra máquina estando en otra.

El abanico de posibilidades es realmente inmenso.

SSH en Nautilus

Lo cierto es que si lo que queremos es simplemente copiar archivos o ver el contenido de alguno de ellos que están en otra máquina, podemos usar nautilus que siempre será más amigable para algunos que a través de consola.

No hay mucho cambio al respecto. Alt+F2 y escribid dentro “nautilus”. Se os abrirá el navegador de archivos. Nautilus tiene dos formas de mostrarte dónde estás dentro de la jerarquía de directorios. Una es a través de botones donde cada carpeta es un botón que puedes pulsar para volver atrás:

Y otra que te indica la ruta en modo texto:

Para cambiar de un modo al otro pinchad en el icono que está a la izquierda del todo que es un folio escrito y un lápiz. Nos quedaremos en el segundo modo y en la caja de texto de “Lugar:” escribiremos la orden de conexión:

ssh://tu_cuenta@ip_pc_remoto

Siguiendo con los ejemplos anteriores:

ssh://pepino@192.168.1.4

Esto sería si el puerto es el que está por defecto, como nosotros lo cambiamos tenemos que indicárselo con “:puerto” tras la ip. En nuestro ejemplo:

ssh://pepino@192.168.1.4:4884

Ahora nos pedirá la contraseña de la cuenta. Tenomos estas tres opciones:

Tomad la decisión que queráis. Personalmente yo soy de los prefieren tomarse la molestia de introducir la clave en cuestiones tan importantes como es la seguridad de SSH.

Tras esto nos colocará en la raíz de la máquina remota. Si lo que queríamos era que nos dejara en una carpeta determinada se lo podemos indicar en la línea de conexión. Por ejemplo en el escritorio de nuestra cuenta:

ssh://pepino@192.168.1.4:4884/home/pepino/Desktop/

Ahora podéis copiar archivos y carpetas con total comodidad desde vuestro escritorio GNOME.

Ejecutar aplicaciones gráficas remotamente

Otra cosa muy práctica que podemos hacer gracias a SSH es ejecutar una aplicación que no tenemos en el equipo actual pero sí en el remoto y trabajar allí. Es decir, puedes mirarlo como un servidor de trabajo gráfico. Si aún no queda claro os pongo otro ejemplo:

Mientras estábais fuera de casa el pesado de tu hermano se ha hecho con tu ordenador porque tiene que hacer algo y si no “se lo dice a mamá“. Sin embargo tú también tienes cosas que hacer en él. No hay problema. Te pones en el equipo de tu hermano y abres la aplicación que necesites de tu propio ordenador en el PC de tu hermano.

Práctico, ¿verdad? Pues es muy sencillo, basta con añadir un argumento más (-X) y el nombre de la aplicación que queremos usar. Por ejemplo imaginemos que queremos jugar a Doom en DOSBox, y en el ordenador de tu hermano no tenemos ninguna de las dos cosas. Podemos instalar DOSBox, copiar la carpeta de Doom, montarla y jugar. O también podemos ejecutar directamente DOSBox remotamente y montar el juego que ya tenemos en nuestro equipo:

$ ssh -X -p 4884 pepino@192.168.1.4 dosbox

Ahora tan sólo resta montar la carpeta como ya os mostré. Podéis introducir la ruta de vuestro PC pues en el fondo es en vuestro PC donde se está ejecutando todo.

Cambiar el mensaje de bienvenida

Ya saliendo de la parte práctica, he querido hacer esta pequeña sección dentro del manual para los fanáticos de la personalización como yo. Si recordáis cuando os expliqué la conexión por consola, os comenté que tras introducir la clave nos daba una especie de texto de bienvenida. Este texto de bienvenida es modificable y puedes poner lo que quieras. Este es el de mi equipo de sobremesa:

Para hacerlo es simple. Tienes que editar (con privilegios de administrador) el archivo /var/run/motd y escribir dentro lo que quieras que aparezca cuando alguien se conecte. Es decir:

$ sudo gedit /var/run/motd

Lo modificamos a nuestro gusto, guardamos y cerramos gedit.

Extraido de tux.pepino.com *