Je suis piraté ... à l'aide !

Paquet surveillance
deb boisson.homeip.net/debian lenny divers
(source sur deb-src boisson.homeip.net/source/ ./
mais le paquet est compilé en statique donc le paquet lenny peut être installé partout.)
Le script complémentaire est

/usr/local/bin/complet: #!/bin/sh grep find /var/lib/dpkg/info/surveillance.postinst | awk '{l=l" "$2} END {print "find "l" -type f"}' | sh > /tmp/.liste_surveillance diff -urN /etc/liste_surveillance /tmp/.liste_surveillance
Il suffit de mettre dans la crontab:

13 * * * * root /usr/bin/surveille 23 * * * * root /usr/local/bin/complet
(il n’est pas forcément nécessaire de faire cela en root)
Ici cela fait une vérification toutes les heures de l’intégrité du système.

Merci!!

Je vais inclure dans mon sources.list ton dépôt et installer le paquet

Je me permettrais de revenir vers toi si j’ai un soucis.

je ne comprends pas trop ce que tu appelle l’intégrité du système.
comment tu la vérifie?

Vérifier l’intégrité d’un système revient à vérifier que rien n’a été installé à ses dépends :bulb:

Que la machine n’est pas corrompu en quelque sorte :bulb:

Merci de confirmer :unamused:

Je ne veux pas parler à la place de fran.b mais si je me souviens bien c’est un outil qui vérifie les dates de modification de certains fichiers, les binaires comme ps par exemple, et qui regarde que celles-ci n’ont pas changé.
En tout cas il a fait un soft comme ça que j’ai utilisé un moment sur mon ancien serveur.

ça prend donc en compte les màj sur ces binaires?

il y aura donc des faux positifs comme c’est le cas avec rkhunter??

Non, ça teste les md5sums de tous les fichiers concernés (éditer /var/lib/dpkg/info/surveillance.postinst pour modifier la liste par défaut). Les md5sums sont calculés et conservés. Toutes les heures, les md5sums des fichiers sont comparés aux md5sums d’origine. complet vérifie que aucun fichier n’a été rajouté.
En cas de machine critique, tout peut être mis sur CDROM et donc est inaltérable.
Un «dpkg-reconfigure surveillance» après installation de paquet permet dans la config standard de refaire les md5sums après une mise à jour.
Je fais un md5sum du fichier de md5sums que je met dans un coin pour vérifier que tout est cohérent. Le fait que ça soit un pgm perso en fait qu’il y a peu de chances qu’un pirate quelconque soit au courant de son existence.

Rhâ oui c’était les md5
toutes mes confuses

voila pour autoriser l’utilisateur par id:)

iptables -A OUTPUT -p tcp -m multiport --destination-port 22 -m owner --uid-owner 1000 -j ACCEPT

ici la machine cliente seul l’user 1000 peux sortir :smt006 donc si tu met que 1000 y a pas de root qui tienne :slightly_smiling:

pour le serveur il suffit d’adapter la règle :slightly_smiling:[/quote]
Deux objections :

  1. Cette règle sur le poste client discrimine les connexions SSH sortantes en fonction de l’utilisateur local, pas du login de la connexion SSH (l’UID sur le serveur distant). Elle n’empêche pas de se logger en tant que root sur le serveur distant.

  2. Cette règle ne peut être adaptée pour le serveur car si le processus client ssh tourne avec l’UID de l’utilisateur local qui l’exécute, le processus serveur sshd qui gère la connexion tourne avec l’UID root quel que soit le login utilisé, en tout cas chez moi (etch). Transposée au serveur, cette règle bloquerait donc toutes les connexions SSH.

voila pour autoriser l’utilisateur par id:)

iptables -A OUTPUT -p tcp -m multiport --destination-port 22 -m owner --uid-owner 1000 -j ACCEPT

ici la machine cliente seul l’user 1000 peux sortir :smt006 donc si tu met que 1000 y a pas de root qui tienne :slightly_smiling:

pour le serveur il suffit d’adapter la règle :slightly_smiling:[/quote]
Deux objections :

  1. Cette règle sur le poste client discrimine les connexions SSH sortantes en fonction de l’utilisateur local, pas du login de la connexion SSH (l’UID sur le serveur distant). Elle n’empêche pas de se logger en tant que root sur le serveur distant.

  2. Cette règle ne peut être adaptée pour le serveur car si le processus client ssh tourne avec l’UID de l’utilisateur local qui l’exécute, le processus serveur sshd qui gère la connexion tourne avec l’UID root quel que soit le login utilisé, en tout cas chez moi (etch). Transposée au serveur, cette règle bloquerait donc toutes les connexions SSH.[/quote]

Erf bon j’ai réessayer et je me suis loupé quelque part :blush:
j’ai rien dit :slightly_smiling:

il a l’air bien ton prog fran.b mais tu fait un md5 de toute la machine toutes les heures ?? ça doit bouffer un max de ressources?
ou alors tu fait un md5 des tous les fichiers ? et la ça bouffe plein de place ?
je pense que j’ai pas tous compris la

[quote=“bobzer”]il a l’air bien ton prog fran.b mais tu fait un md5 de toute la machine toutes les heures ?? ça doit bouffer un max de ressources?
ou alors tu fait un md5 des tous les fichiers ? et la ça bouffe plein de place ?
je pense que j’ai pas tous compris la[/quote]

Le fichier de md5sums sur le serveur fait 25984 octets, c’est raisonnable tout de même.
Ensuite, [code]n# time surveille

real 0m2.610s
user 0m2.332s
sys 0m0.260s
[/code]soit 2-3 secondes de temps de calcul au total, ça peut aller comme consommation de ressources, c’est surtout du temps d’accès disque en fait, le md5sum est très rapide à calculer.

[quote=“fran.b”][quote=“bobzer”]il a l’air bien ton prog fran.b mais tu fait un md5 de toute la machine toutes les heures ?? ça doit bouffer un max de ressources?
ou alors tu fait un md5 des tous les fichiers ? et la ça bouffe plein de place ?
je pense que j’ai pas tous compris la[/quote]

Le fichier de md5sums sur le serveur fait 25984 octets, c’est raisonnable tout de même.
Ensuite, [code]n# time surveille

real 0m2.610s
user 0m2.332s
sys 0m0.260s
[/code]soit 2-3 secondes de temps de calcul au total, ça peut aller comme consommation de ressources, c’est surtout du temps d’accès disque en fait, le md5sum est très rapide à calculer.[/quote]

Bien tentant tout ça… Mais avec un serveur de mail, et tout plein de fichiers qui entrent et sortent… ça va faire plein d’alertes, non ? Comment sélectionner les répertoires ? Il y a un fichier avec une liste ?

Oui, par défaut c’est find /bin /sbin /usr/bin /usr/sbin /etc/init.d /etc/rc*.d -type f mais il suffit de modifier /var/lib/dpkg/info/surveillance.postinst pour changer cela.

Les seules fausses alertes sont dues aux erreurs mémoires ou aux erreurs disques, en clair c’est rarissime et justifié.

[quote=“fran.b”]Oui, par défaut c’est find /bin /sbin /usr/bin /usr/sbin /etc/init.d /etc/rc*.d -type f mais il suffit de modifier /var/lib/dpkg/info/surveillance.postinst pour changer cela.

Les seules fausses alertes sont dues aux erreurs mémoires ou aux erreurs disques, en clair c’est rarissime et justifié.[/quote]
Merci François. j’installe ça dés demain.

Cela dit, il y a des paquets debian analogues je pense, « apt-cache search integrity » donne plusieurs réponses dont évidemment debsums.

Oui, mais si ton serveur n’est pas surchargé, c’est bien que ça vienne de chez toi :smt006 C’est le petit plus que seuls les “affranchis” possèdent !

Le paquet fait 15K :slightly_smiling:, le serveur devrait supporter…

a ok je comprends mieux il a l’air vachement bien ton petit truc
j’essaierai dès que j’aurais 5min
et du coup si j’ai bien tu t’occupe uniquement des fichier important tu va pas dans le home et c’est pour ça qui ya pas trop a gerer

Oui, c’est idéal pour un serveur. Si une machine est compromise, l’un des fichiers de démarrage est modifé et ça se verra.