Linux en Espanol Espontaneas - De tu ojo a la web
 
Comprobar conexiones establecidas en el SSH (tema #16041)
Publicar nuevo tema   Responder al tema    Foros de discusión -> Servidores y Servicios
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
CHaiS
Colaborador


Registrado: 31 May 2004
Mensajes: 1290
Ubicación: Cambados

MensajePublicado: Mar Ago 01, 2006 12:16 pm    Asunto: Comprobar conexiones establecidas en el SSH Responder citando

Buenas tardes, hace tiempo que no publico ningún post preguntando, y aquí va una cuestión:

Quiero hacer que cuando detecte una conexión por ssh a mi equipo (el cual está funcionando como servidor) me envie un e-mail informandome de la dirección ip, del usuario, y de la hora a la que está conectado, estoy pensando en hacer un script en bash (o bien lanzarlo directamente desde cron) usando netstat y varios grep, pero me gustaria saber si hay otras opciones para comprobar esto, y no depender del cron, puesto que solo me avisaria si esto ocurre cuando se ejecuta la operación indicada.

Gracias por adelantado, y un saludo (por cierto, seria sin usar el snort)
_________________
Don't speak unless your words are better than silence ...
Linux User: #406240
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
l.juan
Forista


Registrado: 03 Jul 2004
Mensajes: 443
Ubicación: México, D.F.

MensajePublicado: Mar Ago 01, 2006 5:51 pm    Asunto: Responder citando

Se me ocurre hacer un script sencillo con watch y el log del sshd o la salida de who.

Código:
man watch
man who


Suerte,
Juan
_________________
"La televisión me respeta, se ríe con migo, y no de mí"
Homero J. Simpson
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
CHaiS
Colaborador


Registrado: 31 May 2004
Mensajes: 1290
Ubicación: Cambados

MensajePublicado: Mie Ago 02, 2006 6:07 am    Asunto: Responder citando

Gracias l.juan, pero buscando he encontrado que se podria hacer directamente con un spawn desde el hosts.deny, solo que tendria que pulirlo un poco ..., otra opción que barajaba era la de hacerla desde iptables...

Editado: he añadido lo siguiente en el fichero /etc/hosts.allow pero no me hace nada
Código:
sshd: ALL: SPAWN (/usr/bin/finger -l @%h | /usr/bin/mail -s "Acceso de %c %d-%h a las `date`" root) &

úsolo se permite el uso de SPAWN enel fichero hosts.deny?
_________________
Don't speak unless your words are better than silence ...
Linux User: #406240
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
mike114x
Forista


Registrado: 23 Ene 2004
Mensajes: 561
Ubicación: Venezuela

MensajePublicado: Mar Ago 22, 2006 3:42 am    Asunto: Responder citando

Hola que tal pana, mira, si quieres q cada vez q un usuario se conecte se te envie un mail puedes hacer lo siguiente, busca informacion en google de unos archivos q se llaman mas o menos algo como bash_logout y bash_login o bash.logout, en esos archivos tu colocas comandos q quieres q se ejecuten cada vez q un usuario se logee o desconecte, en tu caso usarios el q corresponde cuando un usuario se conecta y alli puedes colocar algun comando como #who > mail tucorreo@dominio.com y listo, o coloca los comandos q quieras y listo..
Avisanos q tal te fue
Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
pprovasi
Forista


Registrado: 20 Sep 2006
Mensajes: 13
Ubicación: Informatica

MensajePublicado: Mie Sep 20, 2006 9:37 pm    Asunto: Responder citando

Hola CHaiS
Hice algo de esto pero nada igual a lo anterior

1º la opción manual para examinar las conexiones SSH cada vez que llego a la Oficina o desde casa.

Primero cree un Script al que bautise ScanLog
----------------------------
#!/bin/sh

echo " " > /root/WatchScanLog
echo " " > /root/WatchScanLog
echo "############################" > /root/WatchScanLog
date >> WatchScanLog
echo "############################" > /root/WatchScanLog
grep -F /var/log/messages -f /root/patronesGREP > /root/WatchScanLog
echo " Editando WatchScanLog ... "

pico /root/WatchScanLog
------------------------------

Bien.... en el File patronesGREP pones el patron a buscar en el Log messages . La salida filtrada te la copia en el File al que bautise WatchScanLog . Pico es un editor de texto simple para linux que luego de filtrar y copiar a Watch..... me lo edita en pantalla.

2º Busque en Internet un script para bloquear accesos ilegales via ssh. Trabaja aplicando reglas iptables en el firewall. se llama BANFROMLOG. Al script lo modifique un poco le agregue algunas cosas, etc. podrías agregarle que te envie un correo..

si quieres que te mande el script contactame al correo y te lo mando con algunas explicaciones. Es super eficiente y es impresionante la cantidad de Hackers que quieren entrar utilizando metodos como el de fuerza bruta via ssh.

La explicación sería para contarte como automatizarlo con el cron, etc. para que la lista de control de acceso no se copie siempre en forma repetida en el iptables.

salu2
pprovasi
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor Yahoo Messenger MSN Messenger
CHaiS
Colaborador


Registrado: 31 May 2004
Mensajes: 1290
Ubicación: Cambados

MensajePublicado: Jue Sep 21, 2006 10:28 am    Asunto: Responder citando

Al final lo hice de otra forma, aunque la mencionada en este post si me habia funcionado correctamente.

Pero eso de lo que me informaba, era de que alguien queria acceder a través de ssh, y no se verificaba si realmente llegaba a logarse o no, el otro dia, me encontré con la siguiente web: http://stolz.gsmlandia.com/node/24 en la que muestran una forma realmente buena para realizar lo que pretendia y funciona correctamente Smile

Pasteo aquí el código de dicha web que utilicé yo:

Contenido de: /etc/ssh/sshrc
Código:

uando=`/usr/bin/date`
donde=`echo $SSH_CONNECTION|cut -f1 -d' '|cut -f4 -d:`
if [ -z "$SSH_TTY" ] ; then
   que="Conexion de $USER"
else
   que="Login de $USER en $SSH_TTY"
fi

mailto=""
cc_to=""
bcc_to=""
while read direccion mode
do
        if [ -z "$direccion" -o "${direccion:0:1}" = "#" ] ; then continue; fi
        if [ "x$mode" = "xcc" -o "x$mode" = "xCC" ] ; then
                cc_to=${cc_to:+${cc_to},}$direccion
        elif [ "x$mode" = "xbcc" -o "x$mode" = "xBCC" ] ; then
                bcc_to=${bcc_to:+${bcc_to},}$direccion
        else
                mailto=${mailto:+${mailto},}$direccion
        fi
done </etc/ssh/notify

mailto=${mailto:-operator}
cc_to=${cc_to:+"-c $cc_to"}
bcc_to=${bcc_to:+"-b $bcc_to"}
mail ${cc_to} ${bcc_to} -s "Alerta SSH" ${mailto} >&2 <<-EOM
   ${que} desde ${donde} el ${cuando}
EOM



Y por ultimo crear: /etc/ssh/notify.

Código:

# Lista de destinatarios para las alertas de acceso SSH
#
# Formato:
#   direccion[,direccion] [cc|bcc]
#
# Se pueden indicar varias direcciones en distintas lineas o separadas por comas
# Las opciones "cc" y "bcc" marcan la direccion(es) de destino como "Cc:" or
# "Bcc:", respectivamente.
#
# Las lineas en blanco o con # en la columna 1 son ignoradas.
#
# Es importante que la ultima linea del fichero sea una linea en blanco
#
tu-usuario@tu-dominio.com,root@localhost


_________________
Don't speak unless your words are better than silence ...
Linux User: #406240
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Publicar nuevo tema   Responder al tema    Foros de discusión -> Servidores y Servicios Todas las horas son GMT
Página 1 de 1

 
Cambiar a:  
Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro




La marca registrada Linux (R) se usa siguiendo la sublicensia obtenida del "Linux Mark Institute",
el LICENCIATARIO exclusivo de Linus Torvalds, propietario de la marca en EEUU y otros países
The registered trademark Linux (R) is used pursuant to a sublicense from the Linux Mark Institute,
the exclusive LICENSEE of Linus Torvalds, owner of the mark in the U.S. and other countries
Powered by phpBB © 2001, 2002 phpBB Group

Contactos