LINUCA
LINUCA - Asociación de Usuarios GNU/Linux en Cantabria
CONTENIDOS
. La Asociación
. ¡ Apúntate a socio !
. Fotos
. Los más leídos
. Autores [Actividad]
. Últimos Comentarios
. ¡Todos los titulares!
. Guía de Estilo
. Cómo publicar en Linuca
. Links cortos
. Lista de Correo
   [Mensajes antiguos]
   [Etiqueta en la Lista]
. Todas las Listas
. ¿Sugerencias?
. ¡Sindícanos!
Gràcies Bulma!
Esta página usa el código fuente de Bulma :-)
Busquedas

Ultimos kernels
(21/04/2014 08:07:20)
Debian
Última actualización
stable: 08/02/2014
testing: 21/04/2014
unstable: 21/04/2014
Cómo ver que sucede en una terminal remota (10991 lecturas)
Por Javier Gonzalez
^IcE-bOy^ (http://www.javier-gonzalez.com)
Creado el 07/06/2004 19:58 modificado el 07/06/2004 20:00

Seguramente en algún que otro momento hallas tenido especial interés en ver qué está haciendo un usuario que está conectado remotamente a tu máquina (telnet o ssh).
Ya no solo para cotillear, sino porque tenemos sospechas que está haciendo algo que "no debería". De hecho esta es la filosofía de este documento.

Pagina1/1

A este sistema se le pueden dar múltiples utilidades, desde ver que está haciendo un usuario que no deberia estar en la máquina (una intrusión que antes de desconectar queremos hacer un seguimiento) o ver que está haciendo alguien que en un momento dado, por alguna circustancia especial, le hemos dejado entrar a nuestra máquina para intentar subsanar algún problema que hemos sido incapaces de solucionar, y ya no solo para asegurarnos que no hace nada "malo" (se supone que si entra es de confianza :D) sino para aprender.

Lo primero que vamos a necesitar es ttysnoop. Vamos a utilizar una versión disinta a la incluida en la mayoría de las distribuciones, podemos descargarla de aquí.
Esta versión nos va a permitir utilizar PTYs que no son de tipo BSD.

Descomprimimos:
# tar -xvzf ttysnoop-0.12d.k26.tar.gz

Compilamos:
# cd ttysnoop-0.12d.k26
# make
# make install
Esto nos creará dos binarios:
* ttysnoop -> donde se autenticarán los usuarios (va a tener la misma función que /usr/bin/login)
* ttysnoops -> Servirá para conectar a las terminales de los usuarios.

Ahora tenemos que modificar los fuentes de open-ssh para que los usuarios se autentifiquen contra /sbin/ttysnoop en vez de /usr/sbin/login.

En debian:
# mkdir /usr/src/ssh
# cd /usr/src/ssh
# apt-get build-dep ssh
# apt-get source ssh

Vamos a modificar el fichero debian/rules:
# nano openssh-3.8.1p1/debian/rules
buscamos -DLOGIN_PROGRAM=\"/bin/login\" y lo reemplazamos por -DLOGIN_PROGRAM=\"/sbin/ttysnoops\"
Guardamos los cambios (Control + O) y ahora solo nos queda crear el paquete:
# dpkg-buildpackage -uc -b -rfakeroot
Esto nos va a generar un bonito .deb, asi que vamos a instalarlo:
# dpkg -i ssh_3.8.1p1-4_i686.deb

Ya solo nos queda editar el fichero de configuración para que funcione con ttysnoop.
Editamos /etc/ssh/sshd_config y cambiamos estos parámetros de la siguiente forma:
PasswordAuthentication yes
UseLogin yes


Reiniciamos el servicio sshd. /etc/init.d/sshd restart y a partir de ahora todos los usuarios que se logueen en el sistema en alguna terminal podrán ser "observados".
Por ejemplo, si tenemos la siguiente lista de usuarios:
javi pts/42 Jun 7 12:25 (10.0.1.1)
root pts/48 Jun 7 19:07 (172.26.0.3)
root pts/50 Jun 7 19:07 (172.26.0.3)
javi pts/52 Jun 7 19:09 (181.red-80-24-145.pooles.rima-tde.net)

Y queremos saber que está haciendo el usuario javi en la terminal pts/52 simplemente:
# ttysnoops 52
(nos pedirá una contraseña, es la password de root)

Para finalizar este mini-howto simplemente comentar que el derecho a la privacidad es un derecho constitucional, y que violarlo no es ninguna tontería:

Constitución Española. Artículo 18:
1. Se garantiza el derecho al honor, a la intimidad personal y familiar y a la propia imagen.
2. El domicilio es inviolable. Ninguna entrada o registro podrá hacerse en él sin consentimiento del titular o resolución judicial, salvo en caso de flagrante delito.
3. Se garantiza el secreto de las comunicaciones y, en especial, de las postales, telegráficas y telefónicas, salvo resolución judicial.
4. La ley limitará el uso de la informática para garantizar el honor y la intimidad personal y familiar de los ciudadanos y el pleno ejercicio de sus derechos.

Un saludo:
Javier González
javier(ESTO PODRÍA SER UNA ARROBA)javier-gonzalez(PUNTAZ0)COM

Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
1.  whowatch (08/06/2004 10:39, #1768)
  Por: El cobarde anónimo
Con whowatch tb se puede "ver" que andan trasteando en otras terminales y no necesitas configuraciones adicionales, con un simple apt-get install whowatch ya esta listo.
Ignoro si este soft que aqui nos presentas tiene mas o mejores funcionalidades ya que no lo he probado, si alguien nos explica las diferencias mas importartes le estaria agradecido.
Hasta otra.

 
2.  Re: whowatch (11/06/2004 09:34, #1781)
  Por: El cobarde anónimo
Entiendo que ttysnoop te deja ver la sesion del usuario que elijas, no los procesos, vamos, como mirar por encima del hombro, asi que no tiene nada que ver con whowatch.

 
3.  Re: Cómo ver que sucede en una terminal remota (09/06/2004 20:58, #1775)
  Por: El cobarde anónimo

También puedes hacer de /bin/login un soft link a /usr/sbin/ttysnoops, copiando el /bin/login original a otro archivo previamente, y añadir al /etc/snooptab:

* socket login /bin/login.original

Y te ahorras recompilar y toda la historia, además de funcionar desde cualquier otro demonio sin configuración adicional.


 
4.  Re: Cómo ver que sucede en una terminal remota (09/06/2004 21:19, #1776)
  Por: El cobarde anónimo
muy interesante este articulo revisando mas sobre este programa encontre estas dir

http://www.linuxhelp.ca/guides/t tysnoop/

por cierto rpms de ttysnoop estan aqui

ft p://rufus.w3.org/linux/contrib/libc6/i386/ttysnoop-0.12c-5.i386.rpm

 
5.  Snoopy (17/06/2004 12:23, #1796)
  Por: whats_up (http://www.wekk.net)
Otro programa que permite casi lo mismo, és snoopy, en debian: apt-get install snoopy
Lo que hace és ponerte en el archivo /etc/ld.so.preload la libreria de snoopy. Con eso, cada llamada al sistema primero passa por la libreria snoopy, i luego es registrada en el /var/log/auth.log

Un ejemplo de un simple ls:

whats_up@www:~$ strace -eopen ls
open("/etc/ld.so.preload", O_RDONLY) = 3
open("/lib/snoopy.so", O_RDONLY) = 3
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/librt.so.1", O_RDONLY) = 3
open("/lib/libc.so.6", O_RDONLY) = 3
open("/lib/libdl.so.2", O_RDONLY) = 3
open("/lib/libpthread.so.0", O_RDONLY) = 3
[...]

i en el log:
jun 17 12:18:32 www snoopy[1435]: [whats_up, uid:0 sid:1165]: ls --color

Como dependencia se instala un paquete para manejar-lo, realmente és una maravilla ^^

Suerte!

 
6.  Re: Cómo ver que sucede en una terminal remota (26/07/2004 00:33, #1963)
  Por: El cobarde anónimo
Genial articulo, he aprendido cosillas nuevas :))

 
7.  Re: Cómo ver que sucede en una terminal remota (29/07/2004 02:02, #1982)
  Por: El cobarde anónimo
No hay forma de utilizar esto sin tener que recompilar el ssh por ejemplo, ya que no se, pero en mi lugar puede entrar una persona por ssh cada 3 meses o mas o a lo mejor nunca entrar, eso tendria que ser algo que se pueda hacer en el momento. Es lo que me parece ami. Otra pregunta, esto no afecta en algun sentido el funcionamiento de ssh?

 
Calificacion
**00
Votos: 25
SECCIONES
Artículo
Truco
Noticias
Breve
Enlace
Linuca
Libros
Tira ECOL
Tira Ecol
Modificado: 8/4/2010 15:16:02 | Tiempo Total: 0.012 segs | Kernel: Linux - x86_64 - 2.6.18-xen | Last Boot: 03/12/2010 01:21 CET
Powered By WEB-Bulma   Apache   Mysql   PHP   Gimp