Besoin des commandes/SHELL
KEGA
Messages postés
133
Statut
Membre
-
KEGA Messages postés 133 Statut Membre -
KEGA Messages postés 133 Statut Membre -
Bonjour,
svp je suis un debutant sous linux et j'aimerais quelqu'un me donne son approche pour repondre à cet question .
J'ai besoin de commande qui identifie sur un serveur linux par exple des users qui se sont à la fois :
-loggués
-ont modifiés leurs mots de passes
-et ce sont délogués
""Tout cela au même moment (moins d'1 segonde).Le but étant d'identifier certains robots qui se connectent à nos serveurs Linux.
Ci-dessous le lien source pour plus d'infos.
Cdlt, Gilles Etame.
svp je suis un debutant sous linux et j'aimerais quelqu'un me donne son approche pour repondre à cet question .
J'ai besoin de commande qui identifie sur un serveur linux par exple des users qui se sont à la fois :
-loggués
-ont modifiés leurs mots de passes
-et ce sont délogués
""Tout cela au même moment (moins d'1 segonde).Le but étant d'identifier certains robots qui se connectent à nos serveurs Linux.
Ci-dessous le lien source pour plus d'infos.
Cdlt, Gilles Etame.
1 réponse
-
salut,
sans parler de commandes shell,
- comment comptes-tu procéder ?
- quelles sont les opérations à effectuer ?-
@qqchquicommenceparQ , merci pour ta prompte réaction .
En effet je suis en premier passé par une phase d'analyse (Car dit t'on : on parvient à une fin en passant par un bon début ).
Ceci disant :
J'ai en premier vu l'utilité des commandes
who- Pour connaitre les différents user connectés sur mon serveur
login ou su: pour se connecté comme user
J'ai pris en compte le fait que les mots de passes de tous les users sont stockés dans le fichiers ``/etc/passwd'' ce de quoi la modification du mdp par un @user peut se faire par une comparaison (if) entre son mdp actuel et celui situé dans le fichier ``/etc/passwd'' .
le user peut changer son mot de passe en tapant ``passwd'' (sans spécifier un nom d'utilisateur)
logout ou exit pour les users qui se deconnectent
Maintenant je refléchis sur comment agencer ces différents commandes dans mon programme (En integrant biensur la notion de timing définit (1 Segonde) ). -
je penses que je me suis tromper au dessus car il s'agit plutot là d'analyser les fichiers log déjà existant.Donc prenez le cas de ce programme rédigé en python
f = open(r'/root/Bureau/PYTHON/Fy9pgHa8.txt', 'r')
data = []
bad_data = ('user logged in', 'user changed password', 'user logged off')
for line in f:
tmp = line.split('|')
for i in tmp:
if (i == 'user logged in' or i == 'user changed password' or i == 'user logged off'):
data.append(i)
if bad_data in data:
print "hacking en cour"
c'est la notion des (1 segonde ) qui m'inporte le plus. J'attends svp vos réponses -
donc, il faut
- enregistrer les données successives pour<user>
entresession opened for <user>
etsession closed for <user>
,
- calculer la différence entresession closed for <user>
etsession opened for <user>
,
- SIdifference <= 1
(il faudra sans doute convertir les dates enregistrées dans le fichier de log)
ALORS observer dans les données enregistrées si il existe une chaînepassword changed for <user>
.
une difficulté demeure : les connexions peuvent être imbriquées
conn user1
conn user2
deconn user1
conn user3
deconn user3
deconn user2
:/
ça va être pénible en shell, il serait préférable de continuer en python; -
-
il me faut maintenant importer la date et prendre en compte le timing : aide svp
f = open(r'/root/Bureau/PYTHON/Fy9pgHa8.txt', 'r')
data = []
#bad_data = ('user logged in', 'user changed password', 'user logged off')
for line in f:
tmp = line.split('|')
for i in tmp:
if (i == 'user logged in' or i == 'user changed password' or i == 'user logged off'):
data.append(i)
test = re.compile("^'user logged in', 'user changed password', 'user logged off'$")
if test.search(data):
for i in range(len(data)):
print 'attention attaque en cour'
-