Surveillance d'accès

balyves

Membre confirmé
2 Juin 2005
80
2
Hello!

J'ai installé un serveur web avec une base de données d'images disponibles au téléchargement pour mes clients.
Ce serveur est chez moi, il est donc facile d'accès. :up: Il s'agit ni de php, ni de mysql mais d'un suite de script .cgi et .pl

Je voulais savoir comment puis-je voir si oui ou non il y a des utilisateurs connectés, lesquels et sont-ils actifs ou pas. Tout ceic afin de redéamarer le serveur et ne pas trop gêner les utilisateurs....
Rien de pire qu'un site qui vous ejecte lorsque vous y travaillez.... :( :mad:

J'ai bien des logs que je peux consulter mais ils ne me parlent pas du temps réels car ils 'agit de fichiers .xls

Existe-il un soft pour cela ou un utilitaire (réseau?) sur OS X 3.9?

Merci des tuyaux!

Yves:up:
 
Ton serveur web est apache ?

Tu dois pouvoir observer en temps réel les logs d'apache dans le terminal avec la commande tail.

Il faut savoir aussi que tu peux redémarrer apache sans ejecter sauvagement les gens, avec "apachectl graceful". Bon, pour redémarrer le serveur physique, effectivement tu es obligé de couper tout...

Je vais regarder plus précisément les options de tail à utiliser si tu veux...

Edit : la commande est, pour l'install d'apache sur Mac OS X :
tail -f /var/log/httpd/access_log
 
Oui, mon serveur est l'apache installé par défaut sur OSX.

Concernant les logs, je suis passé par la console.
S'agit-il du log /var/log httpd access_log ?
Pourquoi ai-je un deuxième fichier appelé access_log.0.gz?
S'agit-il d'une archive des dates antérieures?

J'utilisePureFTP sur une autre machine et dans le panneau de contrôle, il y a une interprétation graphique qui me dit quel user est connecté. C'est un peu dans ce genre que je souhaiterais

Je ne suis pas un grand habitué du terminal, mais j'ai regardé un peu les option dans man tail mais ce n'est pas très très clair pour moi, je vois que l'on peut choisir la partie du log que l'on veut voir, mais faut-il d'abord se déplacer dans le dossier où il y a le log ou peu-on le faire directement par une seule ligne de commande?

merci
 
J'utilise tail par habitude mais ça n'apporte rien par rapport à l'application Console...
Si tu veux savoir quel utilisateur est connecté, il faut que tu génères dans ton application des logs (si c'est l'application qui gère le login, car si tu utilises apache et les .htaccess pour restreindre l'acces, le nom d'utilisateur devrait apparaitre dans les logs d'apache).
 
noliv a dit:
J'utilise tail par habitude mais ça n'apporte rien par rapport à l'application Console...
Si tu veux savoir quel utilisateur est connecté, il faut que tu génères dans ton application des logs (si c'est l'application qui gère le login, car si tu utilises apache et les .htaccess pour restreindre l'acces, le nom d'utilisateur devrait apparaitre dans les logs d'apache).

Je m'ajoute à la discussion. J'utilise .htaccess : comment enregistrer les loggin de ceux qui se connectent ? On m'a dit ici que c'était impossible.

Albert
 
Quand on utilise .htaccess pour gérer un login/password (le cas de Halbert), les noms d'utilisateurs utilisés sont stockés dans le fichier "access_log"

Tu peux comme je le disais observer ce fichier en temps réel sur ta machine avec la commande suivante :
tail -f /var/log/httpd/access_log

C'est un fichier texte qu'on peut également ouvrir de façon normale (le login est indiqué juste après l'adresse ip)

On t'as peut être dit que c'était impossible car tu n'as pas accès à ce fichier sur ton hébergement web (qui n'est pas sur ton Mac)...?
 
noliv a dit:
Les noms d'utilisateurs utilisés sont stockés dans le fichier "access_log"
Tu peux comme je le disais observer ce fichier en temps réel sur ta machine avec la commande suivante: tail -f /var/log/httpd/access_log
C'est un fichier texte qu'on peut également ouvrir de façon normale (le login est indiqué juste après l'adresse ip)

OK, je l'affiche sans problème mais je n'ai aucune mention des utilisateurs qui sont connectés, les ip ne me sont pas très utiles car il peut en avoir plusieures pour chaques utilisateurs!

Je vais poster qqch sur le forum du développeur et peut-être qu'il a une solution, car je ne me vois guère aller dans les scripts pour y placer des renvois sur un fichier de log.

Merci :up:
 
noliv a dit:
Quand on utilise .htaccess pour gérer un login/password (le cas de Halbert), les noms d'utilisateurs utilisés sont stockés dans le fichier "access_log"

Tu peux comme je le disais observer ce fichier en temps réel sur ta machine avec la commande suivante :
tail -f /var/log/httpd/access_log

C'est un fichier texte qu'on peut également ouvrir de façon normale (le login est indiqué juste après l'adresse ip)

On t'as peut être dit que c'était impossible car tu n'as pas accès à ce fichier sur ton hébergement web (qui n'est pas sur ton Mac)...?

Bonjour

J'ai juste à taper " tail -f /var/log/httpd/access_log" dans le terminal ? Ca ne me donne rien.

Quand tu dis : c'est un fichier texte qu'on peut ouvrir de fçon normale " je fais comment ? Où est-il ce fichier texte ?

Merci

Albert
 
Hello Halbert,

Essaie de faire un "Shift + Pomme + G" ou Finder > Aller > Aller au dossier. Ensuite dans la fenêtre qui s'ouvre, tappe "/var/log/httpd" (note: l'utilisation de la touche TAB est permise, comme dans le Terminal, si tu n'es pas sûr de l'orthographe) puis clique sur "Aller". Une fenêtre s'ouvre alors avec normalement les deux fichiers de log d'Apache (par défaut) :

- access_log (dont ils ont parlé plus haut)
- error_log

Tu peux simplement cliquer sur access_log, le fichier s'ouvrira alors dans textedit.

N.B. La commande "tail" est très intéressante, je te conseilles de te renseigner ("man tail" dans Terminal), l'affichage en temps réel grâce à son commutateur "-f" est très pratique... Il te sera plus facile dans un premier temps d'utiliser le Finder.
 
fissunix a dit:
Hello Halbert,

Essaie de faire un "Shift + Pomme + G" ou Finder > Aller > Aller au dossier. Ensuite dans la fenêtre qui s'ouvre, tappe "/var/log/httpd" (note: l'utilisation de la touche TAB est permise, comme dans le Terminal, si tu n'es pas sûr de l'orthographe) puis clique sur "Aller". Une fenêtre s'ouvre alors avec normalement les deux fichiers de log d'Apache (par défaut) :

- access_log (dont ils ont parlé plus haut)
- error_log

Tu peux simplement cliquer sur access_log, le fichier s'ouvrira alors dans textedit.

N.B. La commande "tail" est très intéressante, je te conseilles de te renseigner ("man tail" dans Terminal), l'affichage en temps réel grâce à son commutateur "-f" est très pratique... Il te sera plus facile dans un premier temps d'utiliser le Finder.

Merci, je les ai trouvés.
Mais on n'obtient que les adresses IP : j'aimerais connaître les logins demandés par .htaccess.
Ils sont bien enregistrés quelquepart car Free dans sa page "statistiques d'accès" donne le top 10 des connectés.
Albert
 
j'insiste un peu : comment récupérer les noms de ceux qui se connectent à un site protégé par .htaccess.
Albert
 
Ce que je t'ai indiqué plus haut fonctionne chez moi, alors j'ai bien du mal à savoir quoi te répondre ;)
Juste à droite de l'adresse ip, tu n'as rien pour une connexion utilisant le login/password par .htaccess...
J'imagine que tu n'as pas modifié le formatage des logs dans le fichier de configuration httpd.conf...?
 
noliv a dit:
Ce que je t'ai indiqué plus haut fonctionne chez moi, alors j'ai bien du mal à savoir quoi te répondre ;)
Juste à droite de l'adresse ip, tu n'as rien pour une connexion utilisant le login/password par .htaccess...
J'imagine que tu n'as pas modifié le formatage des logs dans le fichier de configuration httpd.conf...?
je vais réessayer alors..
 
noliv a dit:
Ce que je t'ai indiqué plus haut fonctionne chez moi, alors j'ai bien du mal à savoir quoi te répondre ;)
Juste à droite de l'adresse ip, tu n'as rien pour une connexion utilisant le login/password par .htaccess...
J'imagine que tu n'as pas modifié le formatage des logs dans le fichier de configuration httpd.conf...?

Ne sont indiquées que les adresses IP, les jours et heures de connexion !
Albert
 
Halbert a dit:
Ne sont indiquées que les adresses IP, les jours et heures de connexion !
Albert

N'est-ce pas suffisant ? Je ne connais pas le moyen de changer les informations enregistrées dans les logs (Google ?). Je pense que si j'avais à le faire, j'utiliserais la fonction header() avec une en-tête du type:

Bloc de code:
header("WWW-Authenticate: Basic realm=\"Ma page sécurisée\"")

L'avantage est que tu peux parfaitement maîtriser le code qui suivra cette balise, donc enregistrer dans un fichier / base de données le nom, l'heure, l'adresse ip, etc... de l'utilisateur qui a eu accès à "Ma page sécurisée".

Jette un oeil ici si tu es intéressé...

Désolé de ne pouvoir plus t'aider.
 
fissunix a dit:
N'est-ce pas suffisant ? Je ne connais pas le moyen de changer les informations enregistrées dans les logs (Google ?). Je pense que si j'avais à le faire, j'utiliserais la fonction header() avec une en-tête du type:

Bloc de code:
header("WWW-Authenticate: Basic realm=\"Ma page sécurisée\"")
L'avantage est que tu peux parfaitement maîtriser le code qui suivra cette balise, donc enregistrer dans un fichier / base de données le nom, l'heure, l'adresse ip, etc... de l'utilisateur qui a eu accès à "Ma page sécurisée".

Jette un oeil ici si tu es intéressé...

Désolé de ne pouvoir plus t'aider.

Merci. Mais le lien ne marche pas.
Albert