Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/06/2009, à 09:26

Tet2brick

[RESOLU] Email connection SSH

Hello à tous,

Sur mon serveur j'aimerais mettre un petit script qui m'enverais un petit email d'avertissement lors de chaque connection SSH.

Je comptais me baser sur auth.log, jusque la, la logique se tient... j'arrive à extraire les lignes qu'il me faut avec grep tout ça... mais... je ne sais pas comment faire la différence entre une nouvelle ligne et une ancienne...

Je sais pas si vous pouvez m'aider? big_smile

Merci d'avance!

Dernière modification par Tet2brick (Le 05/06/2009, à 13:58)

Hors ligne

#2 Le 05/06/2009, à 09:46

mickbad

Re : [RESOLU] Email connection SSH

En jouant avec l'heure du système avec l'heure du log ?

je m'explique :
- tu lances ton script toutes les minutes
- tu regardes l'heure actuelle que tu stockes
- tu extrais les données de connexion et tu isoles l'heure de connexion
- tu compares (< ou >) avec l'heure système que tu as stockée sachant que ton script est lancé de manière périodique avec toujours le même écart

ou alors
- tu extrais tes lignes de connexion que tu stockes dans un fichier temporaire
- tu fais un diff avec l'ancienne sauvegarde de ton fichier de connexion
- s'il y a une différence, c'est qu'un utilisateur s'est connecté
- tu remplaces ton ancien fichier annexe par le nouveau fichier temporaire

En plus rapide, le diff peut aussi remplacer par un hashage du fichier en md5 ou sha pour voir si une différence a eu lieu mais ça ne te donnes pas d'information sur qui s'est connecté naturellement vu que tu fais du hashage. Mais c'est possible de récupérer la trace de l'utilisateur au préalable.

Ceci dit, je me demande s'il n'existe pas de déclencheurs (triggers) avec ssh ou un soft qui fait office de déclenchement automatique suite à un événement
à chercher sur google and co

Mick

Dernière modification par mickbad (Le 05/06/2009, à 09:49)


Somewhere in town

Hors ligne

#3 Le 05/06/2009, à 13:27

alex206

Re : [RESOLU] Email connection SSH

il existe logcheck qui répond à ta recherche. Son role consiste à surveiller le système, via les fichiers de log, et d'envoyer un mail toutes les heures si un évènement s'est produit. Le type d'évènement est entièrement paramétrable, sachant qu'il existe 3 modes prédéfinis.


Debian stable ya que ça de vrai
http://astuces.alexcms.org

Hors ligne

#4 Le 05/06/2009, à 13:52

Tet2brick

Re : [RESOLU] Email connection SSH

Merci à vous deux!

Logcheck semble effectivement nickel pour ce que je souhaite
Je vais un peu me casser la tête sur les règles de filtrage maintenant ^^

Hors ligne

#5 Le 05/06/2009, à 20:30

Uggy

Re : [RESOLU] Email connection SSH

man ssh
     /etc/ssh/sshrc
             Commands in this file are executed by ssh when the user logs in, just before the
             user's shell (or command) is started.  See the sshd(8) manual page for more information.



man sshd
SSHRC
     If the file ~/.ssh/rc exists, sh(1) runs it after reading the environment files but before
     starting the user's shell or command.  It must not produce any output on stdout; stderr must
     be used instead.  If X11 forwarding is in use, it will receive the "proto cookie" pair in
     its standard input (and DISPLAY in its environment).  The script must call xauth(1) because
     sshd will not run xauth automatically to add X11 cookies.

     The primary purpose of this file is to run any initialization routines which may be needed
     before the user's home directory becomes accessible; AFS is a particular example of such an
     environment.

     This file will probably contain some initialization code followed by something similar to:

        if read proto cookie && [ -n "$DISPLAY" ]; then
                if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
                        # X11UseLocalhost=yes
                        echo add unix:`echo $DISPLAY |
                            cut -c11-` $proto $cookie
                else
                        # X11UseLocalhost=no
                        echo add $DISPLAY $proto $cookie
                fi | xauth -q -
        fi

     If this file does not exist, /etc/ssh/sshrc is run, and if that does not exist either, xauth
     is used to add the cookie.

Dernière modification par Uggy (Le 05/06/2009, à 20:58)

Hors ligne

#6 Le 05/06/2009, à 20:57

Uggy

Re : [RESOLU] Email connection SSH

Je viens de tester avec ce script.. ca marche nickel

# cat /etc/ssh/sshrc

DATE=`date "+%d.%m.%Y--%Hh%Mm"`
IP=`echo $SSH_CONNECTION | awk '{print $1}'`
REVERSE=`dig -x $IP +short`

echo "User connecte

IP: $IP
REVERSE: $REVERSE
Date: $DATE
User: $USER


"  | mail -s "User connecte sur $HOSTNAME" toto@example.org

Les variables USER et HOSTNAME existent deja de base (visibles par la commande "env" )

Dernière modification par Uggy (Le 05/06/2009, à 21:27)

Hors ligne

#7 Le 08/06/2009, à 10:49

Tet2brick

Re : [RESOLU] Email connection SSH

Ecoute... tu es mon sauveur smile)
ça marche nickel effectivement, merci pour votre aide à tous.

Hors ligne