Description
Retrouvez ci-dessous la traduction EN → FR de l’article “How to build a malware scan server”, écrit par Bruno Flückiger.
Date : 2020-05-16
Introduction
Récemment, j’ai eu la tâche de construire, au travail, un serveur de scan de malware supportant ICAP. Actuellement, nous utilisons RedHat Enterprise Linux. Mais c-icap n’est pas disponible en tant que paquet dans un des dépôts de confiance, alors j’ai décidé d’utiliser OpenBSD pour cette tâche.
Le serveur de scan de malware utilise ClamAV en tant que scanner de malware et c-icap en tant que serveur ICAP, fournissant une interface pour chaque produit qui supporte ICAP tel Squid.
Installation des paquets
C’est une tâche très simple, un seul paquet s’occupe de tout :
$ doas pkg_add -i c-icap-clamav
Ce paquet contient le module c-icap pour ClamAV qui installe c-icap et clamav en dépendances.
Configuration de ClamAV
Deux des trois démons installés par ClamAv sont d’intérêt : freshclam et clamd. En premier, configurez freshclam afin de vous assurer que la base de données des malware de ClamAV reste à jour.
Le fichier /etc/freshclam.conf
contient les paramètres suivants :
LogTime yes
LogSyslog yes
LogFacility LOG_DAEMON
DatabaseMirror db.ch.clamav.net
DatabaseMirror database.clamav.net
NotifyClamd /etc/clamd.conf
Maintenant, activez et démarrez freshclam afin qu’il mette à jour la signature de la base de donnée de ClamAV :
$ doas rcctl enable freshclam
$ doas rcctl start freshclam
Ensuite, configurez clamd. Dans le fichier /etc/clamd.conf
, les lignes
suivantes sont paramétrées :
LogTime yes
LogSyslog yes
LogFacility LOG_DAEMON
TemporaryDirectory /tmp
LocalSocket /var/clamav/clamd.sock
TCPSocket 3310
TCPAddr 127.0.0.1
User _clamav
DetectPUA yes
AlertEncrypted yes
AlertEncryptedArchive yes
AlertEncryptedDoc yes
AlertOLE2Macros yes
AlertPhishingSSLMismatch yes
AlertPhishingCloak yes
MaxRecursion 12
La dernière partie de configuration est à-propos de c-icap. Deux fichiers de configurations ont besoin de modifications avant de permettre à c-icap d’utiliser ClamAV en tant que scanner de malware.
Le premier est /etc/c-icap/c-icap.conf
. Ajoutez les lignes suivantes :
Include /etc/c-icap/clamd_mod.conf
Include /etc/c-icap/virus_scan.conf
Vous devriez changer les valeurs suivantes dans ce fichier de manière significative et différente :
ServerAdmin admin@example.org
ServerName scanner.example.org
TmpDir /tmp
Il y a un défaut dans le fichier de configuration à-propos de la
journalisation. L’option Logger
est paramétrée vers sys_logger
.
Mais le module sys_logger
requis est chargé seulement plus tard dans
le fichier de configuration. Si vous voulez utiliser sys_logger
, vous
devez charger le module avant de paramétrer l’option Logger
. Cela
empêchera c-icap de démarrer, bien que rcctl(8)
retournera ok. Soit vous changez l’option Logger
vers file_logger
soit vous déplacez les blocs dans le fichier de configuration pour
utiliser sys_logger
.
Dans le fichier /etc/c-icap/clamd_scan.conf
, faites les paramétrages
suivants :
clamd_mod.ClamdHost 127.0.0.1
clamd_mod.ClamdPort 3310
Démarrer les services
Puisque toute la configuration est faite, c’est maintenant le moment d’activer et de démarrer les services :
$ for s in clamd c_icap ; do
> rcctl enable $s
> rcctl start $s
> done
Soyez patient avec clamd. Il prend du temps à démarrer parce qu’il vérifie la base de données des signatures.
Tester le serveur ICAP
Tester votre démarrage est facile parce que c-icap est fourni avec un client ICAP pour cette tâche : c-icap-client. Appellez-le sans arguments effectuera un simple appel d’OPTIONS pour vérifier si le server fonctionne :
$ c-icap-client
ICAP server:localhost, ip:127.0.0.1, port:1344
OPTIONS:
Allow 204: Yes
Preview: 1024
Keep alive: Yes
ICAP HEADERS:
ICAP/1.0 200 OK
Methods: RESPMOD, REQMOD
Service: C-ICAP/0.5.6 server - Echo demo service
ISTag: CI0001-XXXXXXXXX
Transfer-Preview: *
Options-TTL: 3600
Date: Sat, 16 May 2020 10:02:03 GMT
Preview: 1024
Allow: 204
X-Include: X-Authenticated-User, X-Authenticated-Groups
Encapsulated: null-body=0
Remerciements
Avec l’aimable autorisation de Bruno Flückiger !
Cette page est la traduction de la page How to build a malware scan server du site BSDHowto.ch.
Historique
J’ai écrit historiquement cette traduction sur le wiki de la communauté “OpenBSD Pour Tous”.