Besoin des commandes/SHELL

Fermé
KEGA Messages postés 102 Date d'inscription dimanche 25 octobre 2009 Statut Membre Dernière intervention 11 août 2022 - 14 déc. 2017 à 22:49
KEGA Messages postés 102 Date d'inscription dimanche 25 octobre 2009 Statut Membre Dernière intervention 11 août 2022 - 16 déc. 2017 à 08:54
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.




A voir également:

1 réponse

Utilisateur anonyme
15 déc. 2017 à 00:38
salut,

sans parler de commandes shell,
- comment comptes-tu procéder ?
- quelles sont les opérations à effectuer ?
0
KEGA Messages postés 102 Date d'inscription dimanche 25 octobre 2009 Statut Membre Dernière intervention 11 août 2022 5
15 déc. 2017 à 01:17
@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) ).
0
KEGA Messages postés 102 Date d'inscription dimanche 25 octobre 2009 Statut Membre Dernière intervention 11 août 2022 5
15 déc. 2017 à 02:31
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
0
Utilisateur anonyme
15 déc. 2017 à 02:58
donc, il faut
- enregistrer les données successives pour
<user>
entre
session opened for <user>
et
session closed for <user>
,
- calculer la différence entre
session closed for <user>
et
session opened for <user>
,
- SI
difference <= 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îne
password 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;
0
KEGA Messages postés 102 Date d'inscription dimanche 25 octobre 2009 Statut Membre Dernière intervention 11 août 2022 5
15 déc. 2017 à 03:42
Tres bon sens d'analyse.Je suis effectivement entrain de l’implémenter en Python.Je te tiens informé de l"évolution.
0
KEGA Messages postés 102 Date d'inscription dimanche 25 octobre 2009 Statut Membre Dernière intervention 11 août 2022 5
15 déc. 2017 à 10:05
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'
0