672 |
richard |
1 |
#!/bin/bash
|
64 |
franck |
2 |
# $Id: alcasar-log-export.sh 672 2011-07-08 15:34:22Z richard $
|
672 |
richard |
3 |
|
1 |
root |
4 |
# alcasar-log-export.sh
|
672 |
richard |
5 |
# by Franck BOUIJOUX and Richard REY
|
1 |
root |
6 |
# This script is distributed under the Gnu General Public License (GPL)
|
|
|
7 |
|
376 |
franck |
8 |
# Script permettant d'exporter des logs des répertoires /var/log/{squid-firewall-httpd} à des fins d'archivages.
|
1 |
root |
9 |
# Une fonction EXPERIMENTALE de chiffrement et de signature des logs a été implémentée dans ce script. Son activation par la mise à '1' de la variable 'CHIFFREMENT' et/ou 'SIGNATURE' permet de chiffrer-signer ou signer les logs contenus dans /var/Save/logs/.
|
|
|
10 |
# Il est nécessaire de détenir la passphrase de la clé privée de l'utilisateur 'admin-chillispot' pour rendre ces logs lisibles (la passphrase est actuellement détenue par l'équipe projet.
|
|
|
11 |
|
|
|
12 |
date=`date +%F`
|
|
|
13 |
TO_SAVE="/var/Save/logs" # répertoire accessible par webs
|
|
|
14 |
REP_SAVE="/var/log" # répertoire local des logs
|
376 |
franck |
15 |
REP_SERVICE="squid httpd firewall" # liste des répertoires contenant des logs utiles à exporter
|
1 |
root |
16 |
CHIFFREMENT="0" # chiffrement des logs ( 0=non / 1=oui )
|
|
|
17 |
GPG_USER="" # utilisateur autorisé à déchiffrer les logs. Son biclé est inclus dans le portefeuille gnupg de root (/root/.gnupg)
|
|
|
18 |
|
|
|
19 |
for i in $REP_SERVICE ; do
|
|
|
20 |
[ -d $TO_SAVE/$i ] || mkdir -p $TO_SAVE/$i # utile une seule fois mais crée le répertoire si nécessaire
|
|
|
21 |
cd $REP_SAVE/$i
|
|
|
22 |
if [ $CHIFFREMENT -eq "1" ]
|
|
|
23 |
then
|
|
|
24 |
# chiffrement des logs dans /var/Save/logs/(squid|firewall|httpd)
|
654 |
richard |
25 |
find . \( -mtime -7 -o -ctime 0 \) -a \( -name '*log-*.gz' \) -exec gpg --output $TO_SAVE/$i/{}.gpg --encrypt --recipient $GPG_USER {} \;
|
1 |
root |
26 |
else
|
|
|
27 |
# copie simple des logs dans /var/Save/logs/(squid|firewall|httpd)
|
654 |
richard |
28 |
find . \( -mtime -7 -o -ctime 0 \) -a \( -name '*log-*.gz' \) -exec cp {} $TO_SAVE/$i/. \;
|
1 |
root |
29 |
fi
|
|
|
30 |
done
|
|
|
31 |
chown -R apache.apache $TO_SAVE
|
|
|
32 |
exit 0
|
|
|
33 |
|