Mise à jour automatique de local rules.xml : Différence entre versions
De wikiGite
(4 révisions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | Voir Mise_à_jour_automatique_des_scripts pour la création automatique du script suivant (/opt/systools/ossec-local-rules.sh) : | + | Voir [[Mise_à_jour_automatique_des_scripts]] pour la création automatique du script suivant (/opt/systools/ossec-local-rules.sh) : |
#!/bin/bash | #!/bin/bash | ||
OSSEC_DIR=/opt/ossec | OSSEC_DIR=/opt/ossec | ||
− | UPDATE_SERVER=http:// | + | UPDATE_SERVER='''http://<URL_serveur_mises_a_jour>''' |
CHANGED=0 | CHANGED=0 | ||
− | REPORT_EMAIL= | + | BIN_MAIL=/usr/sbin/sendmail |
+ | SENDER_MAIL=$(hostname -s) | ||
+ | REPORT_EMAIL='''<Mail de l'Admin>''' | ||
# Verify if standard directory exist | # Verify if standard directory exist | ||
if [ -d $OSSEC_DIR ] | if [ -d $OSSEC_DIR ] | ||
Ligne 61 : | Ligne 63 : | ||
echo "Status of processes (must return 6 processes running) :" | echo "Status of processes (must return 6 processes running) :" | ||
/etc/init.d/ossec status | /etc/init.d/ossec status | ||
− | ) | | + | ) | $BIN_MAIL -F$SENDER_MAIL $REPORT_EMAI |
fi | fi | ||
fi | fi | ||
Ligne 67 : | Ligne 69 : | ||
Si ce n'est pas déjà fait, planifier le script | Si ce n'est pas déjà fait, planifier le script | ||
cd /etc/cron.daily | cd /etc/cron.daily | ||
− | ln -s /opt/systools/ossec-local-rules.sh | + | ln -s /opt/systools/ossec-local-rules.sh ossec-local-rules |
Et le lancer une première fois manuellement dès qu'il a été mis à jour par maj_scripts.sh | Et le lancer une première fois manuellement dès qu'il a été mis à jour par maj_scripts.sh | ||
− | ./ossec-local-rules | + | ./ossec-local-rules |
ls -l /opt/ossec/rules/local* | ls -l /opt/ossec/rules/local* |
Version actuelle datée du 29 septembre 2011 à 15:07
Voir Mise_à_jour_automatique_des_scripts pour la création automatique du script suivant (/opt/systools/ossec-local-rules.sh) :
#!/bin/bash OSSEC_DIR=/opt/ossec UPDATE_SERVER=http://<URL_serveur_mises_a_jour> CHANGED=0 BIN_MAIL=/usr/sbin/sendmail SENDER_MAIL=$(hostname -s) REPORT_EMAIL=<Mail de l'Admin> # Verify if standard directory exist if [ -d $OSSEC_DIR ] then # Get files cd $OSSEC_DIR/rules wget -q $UPDATE_SERVER/local_rules.xml.custom > /dev/null 2>&1 # If download is ok if [ $? -eq 0 ] then cmp local_rules.xml.custom local_rules.xml > /dev/null 2>&1 # If downloaded file differs from local file, install it if [ $? -gt 0 ] then # If there is no backup copy of xml files if [ ! -f local_rules.xml.dist ] then cp local_rules.xml local_rules.xml.dist fi mv local_rules.xml.custom local_rules.xml logger -t ossec "local_rules.xml has changed. Restart needed." CHANGED=1 else rm -f local_rules.xml.custom* logger -t ossec "local_rules.xml not changed. No restart needed." fi fi cd $OSSEC_DIR/etc wget -q $UPDATE_SERVER/decoder.xml.custom > /dev/null 2>&1 # If download is ok if [ $? -eq 0 ] then cmp decoder.xml.custom decoder.xml > /dev/null 2>&1 # If downloaded file differs from local file, install it if [ $? -gt 0 ] then # If there is no backup copy of xml files if [ ! -f decoder.xml.dist ] then cp decoder.xml decoder.xml.dist fi mv decoder.xml.custom decoder.xml logger -t ossec "decoder.xml has changed. Restart needed." CHANGED=1 else rm -f decoder.xml.custom* logger -t ossec "decoder.xml not changed. No restart needed." fi fi if [ $CHANGED -eq 1 ] then /etc/init.d/ossec restart > /dev/null 2>&1 ( echo "Subject: [ossec_update] Daily run : ossec restarted" echo "" echo "Status of processes (must return 6 processes running) :" /etc/init.d/ossec status ) | $BIN_MAIL -F$SENDER_MAIL $REPORT_EMAI fi fi
Si ce n'est pas déjà fait, planifier le script
cd /etc/cron.daily ln -s /opt/systools/ossec-local-rules.sh ossec-local-rules
Et le lancer une première fois manuellement dès qu'il a été mis à jour par maj_scripts.sh
./ossec-local-rules ls -l /opt/ossec/rules/local*