Config rapport.sh pour Exim

Bonjour

Je suis embété car je n’arrive pas à touver la bonne configuration pour le script ci-dessous.

Quand ce script est appellé, il envoit un rapport à l’email concerné. le problème est que ce script est configurer pour Qmail, et moi j’ai Exim.

Que faut-il mettre sur la dernière ligne en prenant Exim comme serveur mail ?

// Envoi du rapport via Qmail à adapter pour sendmail avec “mail -s”

  1. Fichier rapport.sh :

#!/bin/bash
apt-get update
(
echo To: vous@fai.tld
echo From: rapport@sdxxx.sivit.org
if [ “$( df -h | grep hda1 | cut -c40-42)” -ge “80” ]; then
echo Subject: Rapport du date +%e\ %B\ %Y : ESPACE DISQUE FAIBLE
else echo Subject: Rapport quotidien du date +%e\ %B\ %Y pour hostname
fi
echo Rapport de hostname
echo Usage du disque :
echo
df -h
echo
echo Charge du serveur :
echo
uptime
echo
echo Mises à jour nécessaires
echo
apt-get -s upgrade
) | /var/qmail/bin/qmail-inject vous@fai.tld

// La ligne ci-dessus doit être configurée pour Exim (mon serveur de mail).
Pouvez-vous m’aider svp ?

Merci à tous.

Pourquoi ne pas passer par mail, sur toutes mes machines j’utilise un bête

… | mail -s sujet toto@labas.chezlui.fr

et ça marche très bien

Oui, mais je suis bien limité nivau de mon savoir.

Je vais essayer, mais j’ai quelques question car je voudrais comprendre ce que je fais !

à quoi correspond

… | mail -s

les … c’est quoi? // Ca c’est bon j’ai compris :slightly_smiling:

Merci

Il me sort cette erreur :

line 22: syntax error near unexpected token )' line 22:) | mail mon-mail@fai.tld

Auriez-vous une idée svp?

A vrai dire j’avais mal lu le script. Je suggère

apt-get update
if [ “$( df -h | grep hda1 | cut -c40-42)” -ge “80” ]; then
echo Subject: Rapport du date +%e\ %B\ %Y : ESPACE DISQUE FAIBLE > /tmp/sujet
else echo Subject: Rapport quotidien du date +%e\ %B\ %Y pour hostname > /tmp/sujet
fi
echo > /tmp>rapport
echo Rapport de hostname >> /tmp/rapport
echo Usage du disque : >> /tmp/rapport
echo >> /tmp/rapport
df -h >> /tmp/rapport
echo >> /tmp/rapport
echo Charge du serveur : >> /tmp/rapport
echo >> /tmp/rapport
uptime >> /tmp/rapport
echo >> /tmp/rapport
echo Mises à jour nécessaires >> /tmp/rapport
echo >> /tmp/rapport
apt-get -s upgrade >> /tmp/rapport

là le sujet et le rapport sont prêts

cat /tmp/rapport | mail -s cat /tmp/sujet

Sinon, si tu veux fabriquer tous les entêtes et envoyer le tout à exim, la commande est

cat message_avec_entêtes | exim -bm destinataire@chezlui.fai.fr

Merci à toi ca fonctionne bien

Autrement connais-tu une façon de mettre le systeme à jour automatiquement?

Ton apt-get update peut poser des questions, je ferais donc un
apt-get update -q -y avec une capture de sortie d’erreurs.

Mais en fait j’évite les mises à jours automatiques, régulièrement je regardes quelles sont les mises à jour qu’il veut faire et je les installe. Je préfère bétonner la surveillance des machines.

Bettonner la surveillance => Pourrais tu me conseiller ?

Scripts et maniere de faire.

Merci pour tout

En fait, j’avais un serveur personnel qui me servait à l’époque juste de passerelle (depuis il me sert professionnellement). J’avais chkrootkit et je ne faisais pas de mise à jour. Un soir de Décembre, un type (de Munich) a pénétré le système et installé un rootkit. Je m’en suis aperçu en regardant la console (mode promiscuous). J’ai fait des tests avec chkrootkit, il n’avait rien vu.

J’ai fait une image de mon disque et ai réparé tout le bazar (sans réinstaller d’ailleurs) mais cela a été assez pénible.
L’analyse de l’image du disque m’a permis de savoir quasiment minute après minute ce qu’avait fait le gars, son origine etc notamment parce que cet abruti se croyait sur une RedHat et ne connaissait pas l’emplacement de tous les fichiers logs
J’ai constaté que chkrootkit aurait du détecter ce gars mais n’avait pas fonctionné (il utilisait suckIT).

J’ai fini par faire deux utilitaires très précieux:

  1. cacheproc qui recherche tous les processus cachés et affichent la ligne de commande et l’environnement lors d’une tel trouvaille. Il y a quelques faux positifs lors qu’un processus se termine au cours de son analyse mais bon c’est très rare.

  2. surveillance qui teste l’intégrité du série de fichiers avec md5sums. Il fournit également un md5sum-static. Dans la pratique, je regardes l’intégrité de /bin, /sbin, /usr/bin, /usr/sbin, /etc/init.d, /etc/rcS.d toutes les heures. Un mail m’est envoyé en cas de problèmes. Je me suis aperçu d’ailleurs que les inversions de bits sur disque dur ne sont pas si rare que cela (une rangée de bits passant à 0 par exemple).
    A chaque mise à jour, il faut refaire la table des md5sums soit
    dpkg-reconfigure surveillance

Ces deux programmes (20 à 30K donc petits) sont compilés en statique et sont donc indépendant d’une quelconque alteration des librairies. Le deuxième peut être mis entièrement sur un CD.

Ils sont disponibles sur

deb boisson.homeip.net/sarge/ ./
(paquet cacheproc et surveillance)

C’est basique mais efficace je crois.

Re

très interessant, mais dis moi, ils se configurent comment?

Que faut-il savoir sur leurs fonctionnements?

Je veux dire pour configurer les alerte (m’envoyer un mail en cas de probleme) et comment je vérifie si ya un probleme?

Amicalement

Des lignes dans crontab:
en l’occurrence:

37 * * * * francois /usr/bin/surveille
0 * * * * root /usr/local/regarde

Je reçois des mails de ce type:

…Processus caché :2227
Environnement:

cat: ./2227/environ: No such file or directory

Ligne de commande:

cat: ./2227/cmdline: No such file or directory

1 processus caché(s) trouvé(s)

(c’est un faux positif) ou bien

Erreur:: /usr/sbin/make-ssl-cert modified
1 modified files

Il suffit que les messages à root soient correctement relayés

Merci à toi c’est bien sympas, j’ai en gros compris, mais (si je n’abuse pas) pourrais-tu m’expliquer avec un peu plus de mots sur les resultats qu’amenent tes 2 scripts stp.

Merci

Amicalement

Re

Dis moi, tu connaitraispas une commande qui remettrai en ordre tous les droits users sur leurs dossiers et fichiers?

Ca existe?

LOL …

Merci

Amicalement

Sur l’intrusion, tu auras l’histoire ici: http://lists.debian.org/debian-user-french/2003/12/msg01134.html

Ce sont des programmes en C compilés par diet gcc.


Sur cacheproc, voilà un extrait du fichier lisezmoi et un essai sur une machine avec suckit:

dell1:/home/boisson# chercheprocess
Recherche de processus cachés F.Boisson Dec2003
…Processus caché :13528
Environnement:

PWD=/usr/.sk12REMOTEHOST=R2D3.rebellesHZ=100PS1=\h:\w$ USER=rootMAIL=/var/mail/boissonOLDPWD=/home/boissonLANG=fr_FR@euroDISPLAY=toto
che.rebelles:0.0LOGNAME=boissonSHLVL=2HUSHLOGIN=FALSESHELL=/bin/bashTERM=xtermHOME=/rootPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X1
1:/usr/local/sbin:/usr/local/bin_=./sk
Ligne de commande:

./sk

1 processus caché(s) trouvé(s)
dell1:/home/boisson#

Cela permet de savoir le repertoire d’exécution (PWD=/usr/.sk12 ici), qui l’a
lancé (USER=root), plusieurs renseignements divers dans l’environnement et bien
sûr, la ligne de commande ayant lancé le processus (ici ./sk).

regarde est le même programme mais sans sortie écran si tout se passe bien.
Mettre
0 * * * * root /usr/bin/regarde
enverra un mail à root (via la sortie standard, bien configurer cron) en cas
de processus trouvé.

Le principe est décrit dans le fichier bash boisson.homeip.net/processus
qui fait la même chose (mais qui est très long)


Sur surveillance, le programme calcule les md5sums de tous les fichiers indiqués dans une liste. surveille appelé sans argument vérifie ces md5sums et signale les différence. Le programme est fait de tel manière à ne dépendre d’aucune librairie et à pouvoir être sur CDrom avec le fichier de signatures et la listes des fichiers à surveiller.

La moindre modification de ces fichiers est signalée dans l’heure qui suit par email à root.

Je teremercie pour tout.

Ta patience m’a bien aidé, et j’ai compris ce que je faisais et c’est important.

Mais tu as apparemment plusieur machines?

c’est ton metier?
Tu n’est pas obligé de répondre si la question est trop indiscrete.

Amicalement

Oui et non, professeur et responsable info entre autres dans mon lycée

ah c bien !!

Dis!

Le rapport de mon script rapport.sh (le premier qu’on a vu) me donne ce rapport

Mises à jour nécessaires

Reading Package Lists…
Building Dependency Tree…
The following packages will be upgraded:
flex libcurl3 libgnutls11 libtasn1-2 sendmail-base sendmail-cf sensible-mda
tar unzip
9 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst tar [1.14-2] (1.14-2.1 Debian-Security:3.1/stable)
Conf tar (1.14-2.1 Debian-Security:3.1/stable)
Inst libtasn1-2 [0.2.10-3] (0.2.10-3sarge1 Debian-Security:3.1/stable)
Inst libgnutls11 [1.0.16-13.1] (1.0.16-13.2 Debian-Security:3.1/stable)
Inst flex [2.5.31-31] (2.5.31-31sarge1 Debian-Security:3.1/stable)
Inst libcurl3 [7.13.2-2sarge4] (7.13.2-2sarge5 Debian-Security:3.1/stable)
Inst unzip [5.52-1sarge3] (5.52-1sarge4 Debian-Security:3.1/stable)
Inst sendmail-base [8.13.4-3] (8.13.4-3sarge1 Debian-Security:3.1/stable)
Inst sendmail-cf [8.13.4-3] (8.13.4-3sarge1 Debian-Security:3.1/stable)
Inst sensible-mda [8.13.4-3] (8.13.4-3sarge1 Debian-Security:3.1/stable)
Conf libtasn1-2 (0.2.10-3sarge1 Debian-Security:3.1/stable)
Conf libgnutls11 (1.0.16-13.2 Debian-Security:3.1/stable)
Conf flex (2.5.31-31sarge1 Debian-Security:3.1/stable)
Conf libcurl3 (7.13.2-2sarge5 Debian-Security:3.1/stable)
Conf unzip (5.52-1sarge4 Debian-Security:3.1/stable)
Conf sendmail-base (8.13.4-3sarge1 Debian-Security:3.1/stable)
Conf sendmail-cf (8.13.4-3sarge1 Debian-Security:3.1/stable)
Conf sensible-mda (8.13.4-3sarge1 Debian-Security:3.1/stable)

Comment je procede pour mettre tout celà a jour sans faire de dégas?

Merci

A priori:

  • sous stable les mises à jour ne sont que des mises à jour de sécurité: sans soucis, elles ne changent pas le système SAUF singalement clairement dit.

  • sous testing, il n’y a pas de mise à jour régulière, lorsqu’il y a des maj, ça peut être le grand saut.

  • sous unstable, il y a des maj de sécurité et des maj de debugguage. Plus régulières, le système peut être incohérent pendant qques jours donc prévoir des soucis et la possibilité de revenir en arrière (conserver les paquets précédents).

Voilà.