Date : 2020-05-16
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.
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.
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
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 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
Avec l'aimable autorisation de Bruno Flückiger !
Cette page est la traduction de la page https://www.bsdhowto.ch/malware.html
du site BSDHowto.ch.
Contribut(rice|eur)s :