« Ajouter des signatures ClamAV dans zimbra 8.8 » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(25 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
[[category:serveur]]
[[category:serveur]]
[[Category:zimbra]]
[[Category:zimbra]]
=Installation=
En root :
<pre>
<pre>
mkdir /opt/zimbra/clamav-unofficial-sigs
mkdir /opt/zimbra/clamav-unofficial-sigs
mkdir /var/log/clamav-unofficial-sigs/
chown zimbra:adm /var/log/clamav-unofficial-sigs/
chown zimbra:zimbra /opt/zimbra/clamav-unofficial-sigs
chown zimbra:zimbra /opt/zimbra/clamav-unofficial-sigs
</pre>
</pre>


En utilisateur zimbra :
<pre>
<pre>
su - zimbra
su - zimbra
cd clamav-unofficial-sigs
cd clamav-unofficial-sigs
wget https://github.com/extremeshok/clamav-unofficial-sigs/archive/4.9.2.tar.gz -O clamav-unofficial-sigs_4.9.2.tar.gz
wget https://github.com/extremeshok/clamav-unofficial-sigs/archive/6.1.1.tar.gz -O clamav-unofficial-sigs_6.1.1.tar.gz
tar --strip-components=1 -xf clamav-unofficial-sigs_4.9.2.tar.gz
tar -xf clamav-unofficial-sigs_6.1.1.tar.gz
ln -sf clamav-unofficial-sigs-6.1.1 clamav-unofficial-sigs
cd ..
mkdir conf/clamav-unofficial-sigs
mkdir data/clamav-unofficial-sigs
cp clamav-unofficial-sigs/clamav-unofficial-sigs/config/{master.conf,user.conf} conf/clamav-unofficial-sigs/
</pre>
</pre>


Editez le fichier <code>clamav-unofficial-sigs.conf</code> :
Créez le fichier <code>/opt/zimbra/conf/clamav-unofficial-sigs/os.conf</code> contenant :
<pre>
<pre>
clam_user="zimbra"
clam_user="zimbra"
Ligne 22 : Ligne 29 :
clam_dbs="/opt/zimbra/data/clamav/db"
clam_dbs="/opt/zimbra/data/clamav/db"
clamd_pid="/opt/zimbra/log/clamd.pid"
clamd_pid="/opt/zimbra/log/clamd.pid"
work_dir="/opt/zimbra/clamav-unofficial-sigs/unofficial-dbs"
work_dir="/opt/zimbra/data/clamav-unofficial-sigs"
user_configuration_complete=”yes“
log_file_path="/opt/zimbra/log"
clamd_reload_opt="/opt/zimbra/common/bin/clamdscan --config-file=/opt/zimbra/conf/clamd.conf --reload"
clamscan_bin="/opt/zimbra/common/bin/clamscan"
user_configuration_complete="yes"
</pre>
</pre>


Ajoutez en début du fichier <code>clamav-unofficial-sigs.conf</code> :
Appliquez ce petit patch :
<pre>PATH="/opt/zimbra/bin:/opt/zimbra/postfix/sbin:/opt/zimbra/openldap/bin:/opt/zimbra/snmp/bin:/opt/zimbra/rsync/bin:/opt/zimbra/bdb/bin:/opt/zimbra/openssl/bin:/opt/zimbra/java/bin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/opt/zimbra/clamav/bin:/opt/zimbra/clamav/sbin"</pre>
 
Appliquez ce petit patch (fixé sur git et pour les versions > 4.9.2)
<pre>
<pre>
--- clamav-unofficial-sigs.sh  2015-12-02 11:56:35.000000000 +0100
--- a/clamav-unofficial-sigs.sh  2019-10-06 00:10:56.699277210 +0200
+++ clamav-unofficial-sigs.sh  2016-02-17 20:34:07.974609660 +0100
+++ b/clamav-unofficial-sigs.sh  2019-10-06 00:18:21.364254010 +0200
@@ -633,8 +633,8 @@
@@ -1429,8 +1429,8 @@
    if [[ "$myresult" =~ "ERROR" ]] ; then
  config_dir="/etc/clamav-unofficial-sigs"
      xshok_pretty_echo_and_log "ERROR: Failed to reload, trying again" "-"
elif [ -f "/usr/local/etc/clamav-unofficial-sigs/master.conf" ] ; then
      if [ -r "$clamd_pid" ] ; then
  config_dir="/usr/local/etc/clamav-unofficial-sigs/"
-       $mypid=`cat clamd_pid`
-elif [ -f "/opt/zimbra/config/clamav-unofficial-sigs/master.conf" ] ; then
-       kill -USR2 $clamd_pid
- config_dir="/opt/zimbra/config/clamav-unofficial-sigs/"
+       mypid=`cat $clamd_pid`
+elif [ -f "/opt/zimbra/conf/clamav-unofficial-sigs/master.conf" ] ; then
+        kill -USR2 $mypid
+  config_dir="/opt/zimbra/conf/clamav-unofficial-sigs/"
        if [ $? -eq  0 ] ; then
else
          xshok_pretty_echo_and_log "ClamAV databases Reloaded" "="
  xshok_pretty_echo_and_log "ERROR: config_dir (/etc/clamav-unofficial-sigs/master.conf) could not be found"
        else
  exit 1
</pre>
</pre>


Lancez le une première fois (toujours avec l'utilisateur zimbra)
<pre>
<pre>
chmod +x clamav-unofficial-sigs.sh
./clamav-unofficial-sigs/clamav-unofficial-sigs/clamav-unofficial-sigs.sh -c conf/clamav-unofficial-sigs/
./clamav-unofficial-sigs.sh -c ./clamav-unofficial-sigs.conf
</pre>
</pre>


Vous devriez voir les nouvelles databases dans la bdd clamav de zimbra :
Si tout c'est bien passé, vous devriez avoir de nouvelles bases de données dans <code>/opt/zimbra/data/clamav/db/</code>.<br>
<pre>ls -al /opt/zimbra/data/clamav/db</pre>
Vous devriez aussi constater un reload de la base de donnée clamd dans <code>/opt/zimbra/log/clamd.log</code>


==Mise à jour automatique==
Enfin, nous allons ajouter un crontab mettant a jour la liste automatiquement. Tapez <code>crontab -e</code> puis ajoutez tout a la fin du fichier (juste après # ZIMBRAEND) :
Enfin, nous allons ajouter un crontab mettant a jour la liste automatiquement. Tapez <code>crontab -e</code> puis ajoutez tout a la fin du fichier (juste après # ZIMBRAEND) :
<pre>
<pre>
45 * * * * /bin/bash /opt/zimbra/clamav-unofficial-sigs/clamav-unofficial-sigs.sh -c /opt/zimbra/clamav-unofficial-sigs/clamav-unofficial-sigs.conf > /dev/null
* */2 * * * /bin/bash /opt/zimbra/clamav-unofficial-sigs/clamav-unofficial-sigs/clamav-unofficial-sigs.sh -c /opt/zimbra/conf/clamav-unofficial-sigs > /dev/null
</pre>
</pre>


Et pour terminer, on copie le script logrotate :
==Rotation des logs==
<pre>cp /opt/zimbra/clamav-unofficial-sigs/clamav-unofficial-sigs-logrotate /etc/logrotate.d/</pre>
Et pour terminer, on créé, avec l'utilisateur root, le script logrotate dans <code>/etc/logrotate.d/clamav-unofficial-sigs</code> :
 
<pre>
Modifiez la ligne <code>create 0644 clam clam</code> par <code>create 0644 zimbra zimbra</code>
/opt/zimbra/log/clamav-unofficial-sigs.log {
    weekly
    rotate 4
    missingok
    notifempty
    compress
    create 0644 zimbra zimbra
}
</pre>


=todo=
=Activation des bases de données MalwarePatrol et SecuriteInfo=
fix for clamdscan reload : clamdscan pas dans le path ; config a préciser


/opt/zimbra/clamav-0.98.4/bin/clamdscan --config-file=/opt/zimbra/conf/clamd.conf --reload
* MalwarePatrol : Il suffit de créer un compte gratuit sur https://www.malwarepatrol.net puis de récupérer les différentes infos de connexion dans l'url de téléchargement de la block-list ClamAV sur https://www.malwarepatrol.net/my-account/
** ensuite éditez <code>conf/clamav-unofficial-sigs/user.conf</code> avec le receipt_code et le product_code
* SecuriteInfo : Créez un compte gratuit sur https://www.securiteinfo.com/clients/customers/signup puis loguez vous sur le compte. Dans la section <code>installation</code> récupérez la chaîne de 128 caractères dans l'une des URL de téléchargement puis ajoutez la dans <code>conf/clamav-unofficial-sigs/user.conf</code>

Dernière version du 6 octobre 2019 à 00:06


Installation

En root :

mkdir /opt/zimbra/clamav-unofficial-sigs
chown zimbra:zimbra /opt/zimbra/clamav-unofficial-sigs

En utilisateur zimbra :

su - zimbra
cd clamav-unofficial-sigs
wget https://github.com/extremeshok/clamav-unofficial-sigs/archive/6.1.1.tar.gz -O clamav-unofficial-sigs_6.1.1.tar.gz
tar -xf clamav-unofficial-sigs_6.1.1.tar.gz
ln -sf clamav-unofficial-sigs-6.1.1 clamav-unofficial-sigs
cd ..
mkdir conf/clamav-unofficial-sigs
mkdir data/clamav-unofficial-sigs
cp clamav-unofficial-sigs/clamav-unofficial-sigs/config/{master.conf,user.conf} conf/clamav-unofficial-sigs/

Créez le fichier /opt/zimbra/conf/clamav-unofficial-sigs/os.conf contenant :

clam_user="zimbra"
clam_group="zimbra"
clam_dbs="/opt/zimbra/data/clamav/db"
clamd_pid="/opt/zimbra/log/clamd.pid"
work_dir="/opt/zimbra/data/clamav-unofficial-sigs"
log_file_path="/opt/zimbra/log"
clamd_reload_opt="/opt/zimbra/common/bin/clamdscan --config-file=/opt/zimbra/conf/clamd.conf --reload"
clamscan_bin="/opt/zimbra/common/bin/clamscan"
user_configuration_complete="yes"

Appliquez ce petit patch :

--- a/clamav-unofficial-sigs.sh   2019-10-06 00:10:56.699277210 +0200
+++ b/clamav-unofficial-sigs.sh   2019-10-06 00:18:21.364254010 +0200
@@ -1429,8 +1429,8 @@
   config_dir="/etc/clamav-unofficial-sigs"
 elif [ -f "/usr/local/etc/clamav-unofficial-sigs/master.conf" ] ; then
   config_dir="/usr/local/etc/clamav-unofficial-sigs/"
-elif [ -f "/opt/zimbra/config/clamav-unofficial-sigs/master.conf" ] ; then
-  config_dir="/opt/zimbra/config/clamav-unofficial-sigs/"
+elif [ -f "/opt/zimbra/conf/clamav-unofficial-sigs/master.conf" ] ; then
+  config_dir="/opt/zimbra/conf/clamav-unofficial-sigs/"
 else
   xshok_pretty_echo_and_log "ERROR: config_dir (/etc/clamav-unofficial-sigs/master.conf) could not be found"
   exit 1

Lancez le une première fois (toujours avec l'utilisateur zimbra)

./clamav-unofficial-sigs/clamav-unofficial-sigs/clamav-unofficial-sigs.sh -c conf/clamav-unofficial-sigs/

Si tout c'est bien passé, vous devriez avoir de nouvelles bases de données dans /opt/zimbra/data/clamav/db/.
Vous devriez aussi constater un reload de la base de donnée clamd dans /opt/zimbra/log/clamd.log

Mise à jour automatique

Enfin, nous allons ajouter un crontab mettant a jour la liste automatiquement. Tapez crontab -e puis ajoutez tout a la fin du fichier (juste après # ZIMBRAEND) :

* */2 * * * /bin/bash /opt/zimbra/clamav-unofficial-sigs/clamav-unofficial-sigs/clamav-unofficial-sigs.sh -c /opt/zimbra/conf/clamav-unofficial-sigs > /dev/null

Rotation des logs

Et pour terminer, on créé, avec l'utilisateur root, le script logrotate dans /etc/logrotate.d/clamav-unofficial-sigs :

/opt/zimbra/log/clamav-unofficial-sigs.log {
     weekly
     rotate 4
     missingok
     notifempty
     compress
     create 0644 zimbra zimbra
}

Activation des bases de données MalwarePatrol et SecuriteInfo

  • MalwarePatrol : Il suffit de créer un compte gratuit sur https://www.malwarepatrol.net puis de récupérer les différentes infos de connexion dans l'url de téléchargement de la block-list ClamAV sur https://www.malwarepatrol.net/my-account/
    • ensuite éditez conf/clamav-unofficial-sigs/user.conf avec le receipt_code et le product_code
  • SecuriteInfo : Créez un compte gratuit sur https://www.securiteinfo.com/clients/customers/signup puis loguez vous sur le compte. Dans la section installation récupérez la chaîne de 128 caractères dans l'une des URL de téléchargement puis ajoutez la dans conf/clamav-unofficial-sigs/user.conf