Outils pour utilisateurs

Outils du site


trad:bsdhowto.ch:malware

Comment construire un serveur de scan de malware

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.

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

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 :

pengouinpdt
trad/bsdhowto.ch/malware.txt · Dernière modification: 2020/10/18 19:34 de pengouinpdt